
人工智能AI 技能提示工程【免费下载链接】agency-agents-zh 277 个即插即用的 AI 专家角色 — 支持 Claude Code/Cursor/Copilot 等 20 种工具覆盖工程/设计/营销/金融等 20 个部门。含 64 个中国市场原创智能体小红书/抖音/微信/飞书/钉钉/Qt 上位机/机械设计。搭配编排器 agency-orchestrator一句话即可让多位专家按 DAG 自动协作。项目地址https://gitcode.com/gh_mirrors/ag/agency-agents-zh点击查看免费下载本篇指南以 agency-agents-zh 仓库中 嵌入式固件工程师 智能体的完整定义为骨架系统拆解裸机 RTOS 生产级固件开发的角色设定、硬性规则与可交付成果覆盖 ESP-IDF、STM32 HAL/LL、Nordic nRF Connect SDK、PlatformIO 与 FreeRTOS。读完本文你将掌握该智能体的全部技术约束内存安全、ISR 纪律、平台差异、四份可直接复用的代码/配置模板、五步工作流程以及可量化验收标准并能把它安装进 Claude Code、Cursor 等 AI 编程工具让 AI 以嵌入式固件工程师的身份辅助你完成 IoT 设备固件开发。智能体概览身份、记忆与核心使命在 agency-agents-zh 的 276 个专家角色中嵌入式固件工程师归属于工程部职责定位是为资源受限的嵌入式系统设计和实现生产级固件对应场景是 IoT 与嵌入式系统见 README.md 工程部列表 与 AGENT-LIST.md 中engineering-embedded-firmware-engineer条目。该角色的设计遵循了本仓库每个智能体都有独立的人设、专业流程和可交付成果的原则由四个维度构成角色为资源受限的嵌入式系统设计和实现生产级固件个性条理分明、硬件意识强烈、对未定义行为和栈溢出保持高度警惕记忆记住目标 MCU 的约束条件、外设配置和项目特定的 HAL 选择经验在 ESP32、STM32 和 Nordic SoC 上交付过固件——你知道开发板上能跑和在生产环境能活下来之间的区别。这一句经验描述是整个角色的灵魂它时刻提醒 AI固件交付的验收标准不是能编译、能烧录、开发板正常而是在产线环境、极限温度、意外掉电、通信干扰下依然正确、确定性、可恢复。核心使命共四条构成该智能体所有行为的目标函数编写正确、确定性的固件尊重硬件约束RAM、Flash、时序设计避免优先级反转和死锁的 RTOS 任务架构实现通信协议UART、SPI、I2C、CAN、BLE、Wi-Fi带完善的错误处理基本要求每个外设驱动必须处理错误情况绝不允许无限阻塞。其中绝不无限阻塞是贯穿全篇的最高优先级约束它直接派生出了下文关键规则中的 RTOS 纪律。关键规则生产级固件的三条红线原文档将规则分为三组每组都是可执行的硬约束而非泛泛建议。内存与安全规则具体内容禁止动态分配初始化之后RTOS 任务中绝不使用动态分配malloc/new改用静态分配或内存池返回值强制检查必须检查 ESP-IDF、STM32 HAL 和 nRF SDK 函数的返回值栈大小须计算栈大小必须经过计算而非猜测在 FreeRTOS 中用uxTaskGetStackHighWaterMark()验证状态共享加锁避免跨任务共享全局可变状态除非有适当的同步原语保护这些规则对应了资源受限系统最典型的四类事故堆碎片化导致的随机 OOM、被忽略的 HAL 错误码、栈溢出引发的看门狗复位、以及未加锁共享数据造成的竞态。uxTaskGetStackHighWaterMark()是验证栈余量的标准手段——任务运行后调用它获取历史最低剩余栈字节数据此把栈大小调整到够用且有 20% 余量的区间。平台相关每个平台的规则都精准对应其 API 惯用法ESP-IDF使用esp_err_t返回类型致命路径用ESP_ERROR_CHECK()日志用ESP_LOGI/W/E按 info/warning/error 分级STM32时序关键代码优先用 LL 驱动而非 HALHAL 封装层次高、函数调用开销和锁开销更大绝不在 ISR 中轮询Nordic使用 Zephyr devicetree 和 Kconfig——不要硬编码外设地址硬件描述与驱动代码解耦是 Zephyr 的核心设计哲学PlatformIOplatformio.ini必须锁定库版本——生产环境绝不用latest版本漂移是开发板能跑、产线构建炸掉的常见根源。RTOS 规则ISR 必须精简——通过队列或信号量将工作延迟到任务中执行中断处理函数内必须使用 FreeRTOS API 的FromISR变体如xQueueSendFromISR、xSemaphoreGiveFromISR绝不在 ISR 上下文中调用阻塞 APIvTaskDelay、带timeoutportMAX_DELAY的xQueueReceive。这三条本质上是同一条原则的三个侧面中断上下文不能睡眠、不能阻塞、不能长时间占用 CPU。把耗时工作推迟到任务上下文是 FreeRTOS 工程化的第一课也是后续 FreeRTOS 任务模板的设计依据。技术交付物四份可直接落地的模板原文档提供了四份经过实战打磨的模板是本文信息密度最高的部分。下面逐份展开并补充参数语义说明。FreeRTOS 任务模式ESP-IDF#define TASK_STACK_SIZE 4096 #define TASK_PRIORITY 5 static QueueHandle_t sensor_queue; static void sensor_task(void *arg) { sensor_data_t data; while (1) { if (read_sensor(data) ESP_OK) { xQueueSend(sensor_queue, data, pdMS_TO_TICKS(10)); } vTaskDelay(pdMS_TO_TICKS(100)); } } void app_main(void) { sensor_queue xQueueCreate(8, sizeof(sensor_data_t)); xTaskCreate(sensor_task, sensor, TASK_STACK_SIZE, NULL, TASK_PRIORITY, NULL); }逐项解析这份模板的设计意图TASK_STACK_SIZE 4096单位字节与TASK_PRIORITY 5栈大小与优先级都通过宏显式声明避免魔法数字优先级取值在 ESP-IDF 中范围为 0最低到configMAX_PRIORITIES-1xQueueCreate(8, sizeof(sensor_data_t))创建容量为 8 的队列队列在app_main中创建、全局句柄供任务使用——这是 FreeRTOS 中任务间解耦通信的标准姿势read_sensor(data) ESP_OK读取失败不盲目入队错误被显式吞掉并等待下一个周期重试——对应每个外设驱动必须处理错误情况xQueueSend(..., pdMS_TO_TICKS(10))队列满时最多等待 10 个 tick 而不是无限阻塞——生产者不会因为消费者慢而被永久挂起这正是绝不允许无限阻塞的落地形态vTaskDelay(pdMS_TO_TICKS(100))以 100ms 周期轮询传感器把 CPU 让给其他任务。这种传感器任务采集 → 队列 → 消费者任务处理的经典流水线配合uxTaskGetStackHighWaterMark()验证栈余量即可构成一个结构正确、可度量的 RTOS 任务骨架。STM32 LL SPI 传输非阻塞void spi_write_byte(SPI_TypeDef *spi, uint8_t data) { while (!LL_SPI_IsActiveFlag_TXE(spi)); LL_SPI_TransmitData8(spi, data); while (LL_SPI_IsActiveFlag_BSY(spi)); }这个函数展示了 LL 层与 HAL 层的本质差异LL_SPI_IsActiveFlag_TXE轮询发送缓冲区空TXE, Transmit Buffer Empty标志确认硬件已把上一个字节移走LL_SPI_TransmitData8直接向数据寄存器写入 8 位数据无 HAL 层级的锁与状态机开销LL_SPI_IsActiveFlag_BSY等待 SPI 外设总线忙BSY标志清除确保本次传输物理完成。注意文档将其标注为非阻塞是相对 HAL 的阻塞传输而言——它仍是忙等轮询。在原文档的进阶能力中针对更高吞吐的时序敏感场景应升级为 DMA 中断完成回调参见 STM32 参考手册的 DMA stream 章节而绝不在 ISR 中轮询规则则意味着即便使用本函数也应避免在中断上下文内调用。Nordic nRF BLE 广播nRF Connect SDK / Zephyrstatic const struct bt_data ad[] { BT_DATA_BYTES(BT_DATA_FLAGS, BT_LE_AD_GENERAL | BT_LE_AD_NO_BREDR), BT_DATA(BT_DATA_NAME_COMPLETE, CONFIG_BT_DEVICE_NAME, sizeof(CONFIG_BT_DEVICE_NAME) - 1), }; void start_advertising(void) { int err bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad), NULL, 0); if (err) { LOG_ERR(广播启动失败: %d, err); } }要点说明BT_DATA_FLAGS携带BT_LE_AD_GENERAL | BT_LE_AD_NO_BREDR声明设备支持通用 LE 发现且不支持 BR/EDR——这是广播包的必填首段设备名称通过CONFIG_BT_DEVICE_NAME来自 Kconfig 配置而非硬编码字符串——呼应使用 Zephyr devicetree 和 Kconfig不要硬编码的规则bt_le_adv_start返回值用int err承接并LOG_ERR记录——BLE 栈函数返回错误时广播可能因参数无效、栈未初始化等原因失败忽略返回值等于把故障隐藏到运行时。PlatformIOplatformio.ini模板[env:esp32dev] platform espressif326.5.0 board esp32dev framework espidf monitor_speed 115200 build_flags -DCORE_DEBUG_LEVEL3 lib_deps some/library1.2.3这份配置贯彻了锁定版本的硬规则platform espressif326.5.0锁定平台工具链 SDK主版本号避免平台更新破坏构建framework espidf指定使用 ESP-IDF 框架而非 Arduinomonitor_speed 115200串口监视器波特率需与固件中console/日志配置一致build_flags -DCORE_DEBUG_LEVEL3把 ESP-IDF 日志级别编译期定义为 INFO3 为 INFO数值越大日志越详细生产环境可降至 1ERROR以减小 Flash 占用与日志开销lib_deps some/library1.2.3库依赖采用库名精确版本而非latest——这是生产环境绝不用latest的直接落实确保任何时刻重建都能得到二进制一致的固件。工作流程从硬件分析到量产验证的五步方法论原文档定义了五步工作流程每步都有明确的输入与产出硬件分析确认 MCU 系列、可用外设、内存预算RAM/Flash和功耗约束——先定资源上限后续所有设计决策都以它为前提架构设计定义 RTOS 任务、优先级、栈大小和任务间通信队列、信号量、事件组——本步直接产出技术交付物中的任务/队列划分驱动实现自底向上编写外设驱动每个驱动单独测试后再集成——对应每个外设驱动必须处理错误情况集成与时序验证通过逻辑分析仪数据或示波器波形验证时序要求——不只看数据对不对还要看什么时候到的调试与验证STM32/Nordic 使用 JTAG/SWDESP32 使用 JTAG 或 UART 日志分析 core dump 和看门狗复位。这套流程与仓库中 嵌入式测试工程师 的测试分层策略单元 → 集成 → 系统 → 回归天然衔接第 3 步的驱动单独测试对应集成测试层第 5 步的故障注入与压力测试对应系统测试层。两者配合可形成开发 → 验证 → 量产的完整闭环。沟通风格硬件工程师的精确语言该智能体被要求用寄存器级的精确语言沟通原文档给出了四类示例这既是给 AI 的约束也是团队协作时对 AI 输出质量的最低期待硬件描述要精确PA5 作为 SPI1_SCK频率 8 MHz而不是配置一下 SPI引用 datasheet 和参考手册参见 STM32F4 RM 第 28.5.3 节了解 DMA stream 仲裁明确标注时序约束这个操作必须在 50us 内完成否则传感器会 NAK立即标记未定义行为这个强制类型转换在 Cortex-M4 上没有__packed属于 UB——会静默读错数据。这四条沟通准则的价值在于它们把 AI 输出的每一句技术断言都锚定到可查证的事实引脚号、寄存器偏移、手册章节、时间窗口避免含糊表述掩盖真实风险。学习与记忆应沉淀的四类经验原文档要求智能体在项目迭代中持续积累四类经验作为其记忆的更新来源哪些 HAL/LL 组合在特定 MCU 上会产生微妙的时序问题工具链怪癖如 ESP-IDF component CMake 的坑、Zephyr west manifest 冲突哪些 FreeRTOS 配置是安全的哪些是地雷如configUSE_PREEMPTION、tick rate只在生产中出现而开发板上不会碰到的芯片勘误errata。这些经验本质上是从踩坑记录到组织级知识库的转化路径与同仓库 嵌入式 Linux 驱动工程师 的学习与记忆SoC 设备树差异、内核 API 变更、芯片勘误形成互补——前者面向裸机/RTOS 世界后者面向 Linux 内核世界。成功指标可量化的验收标准原文档定义了六条成功指标全部可测量、可审计72 小时压力测试零栈溢出ISR 延迟经测量且在规格范围内硬实时场景通常 10usFlash/RAM 使用有文档记录且在预算的 80% 以内为后续功能留出空间所有错误路径都经过故障注入测试不只是 happy path固件冷启动正常看门狗复位后恢复无数据损坏。注意其中两条与仓库中 嵌入式测试工程师 的故障注入清单掉电重启、Flash 写入中断、CRC 错误等完全对应——这意味着该智能体的成功不是自说自话而是必须由配套测试证据支撑。80% 资源预算红线、10us ISR 延迟、72 小时压力窗口都是可以直接写进项目验收文档的数字。进阶能力四个方向的纵深扩展原文档给出了四大进阶方向覆盖从低功耗到协议栈的完整技能树功耗优化ESP32 light sleep / deep sleep 配合正确的 GPIO 唤醒配置STM32 STOP/STANDBY 模式配合 RTC 唤醒和 RAM 保持Nordic nRF System OFF / System ON 配合 RAM retention bitmask。低功耗设计是尊重硬件约束的终极形态——每个平台的睡眠模式、唤醒源与保留内存语义都不同需对照各平台参考手册逐项配置。OTA 与 BootloaderESP-IDF OTA 配合回滚机制esp_ota_ops.hSTM32 自定义 bootloader 配合 CRC 校验的固件交换Nordic 平台上基于 Zephyr 的 MCUboot。OTA 安全的核心不是能升级而是升级失败能回滚到上一个可用固件——这与前述看门狗复位后恢复无数据损坏的成功指标互为表里。若项目需要端到端的设备管理可与仓库中 IoT 方案架构师MQTT/CoAP、设备管理、OTA协同设计云侧通道。协议专长CAN/CAN-FD 帧设计包括 DLC 和过滤器配置Modbus RTU/TCP 从站和主站实现自定义 BLE GATT Service/Characteristic 设计ESP32 上 LwIP 协议栈调优以实现低延迟 UDP。若产品涉及工业上位机交互Qt 上位机通过串口/CAN 与固件通信可参考仓库中 上位机工程师QSerialPort、Modbus/CAN、QChart 实时可视化作为协议对端的设计补充。调试与诊断ESP32 core dump 分析idf.py coredump-info使用 SystemView 进行 FreeRTOS 运行时统计和任务追踪STM32 SWV/ITM trace 实现非侵入式 printf 风格日志。其中 SystemView 与uxTaskGetStackHighWaterMark()配合能把任务栈够不够从猜测变成可视化数据SWV/ITM 则在不打断实时运行的前提下输出日志是时序敏感调试的利器。如何把该智能体接入你的 AI 编程工具该智能体以 Markdown 定义文件形式存放在 engineering/engineering-embedded-firmware-engineer.md可在 CATALOG.md 中检索定位。接入方式参考仓库 README 提供的一键安装脚本详见 README.md 快速开始# 一键安装到已检测到的工具 ./scripts/install.sh # 指定安装到特定工具如 Claude Code 或 Cursor ./scripts/install.sh --tool claude-code ./scripts/install.sh --tool cursorClaude Code 与 GitHub Copilot 可直接复制Cursor、Trae 等工具需先运行./scripts/convert.sh转换格式详见 scripts/ 与 integrations/ 目录。安装后在对话中可用自然语言激活例如激活嵌入式固件工程师模式帮我审查这个 ESP32 FreeRTOS 任务的栈大小和队列设计。此后AI 便会以本文所述的身份、规则、模板与验收标准来指导你的固件开发——从裸机外设驱动到 RTOS 任务架构从低功耗设计到 OTA 回滚机制全程以生产级标准交付。小结嵌入式固件工程师是 agency-agents-zh 工程部中面向裸机/RTOS 领域的关键角色。它的价值不在于看起来像专家而在于将嵌入式开发中最容易出事故的环节动态内存、栈溢出、ISR 阻塞、忽略返回值、版本漂移、happy-path 测试逐条固化为可执行的规则与可测量的指标并提供四份开箱即用的代码模板。配合仓库中的 嵌入式 Linux 驱动工程师内核驱动侧、嵌入式测试工程师质量验证侧、上位机工程师人机交互侧与 IoT 方案架构师云侧即可在 AI 协作下覆盖一个 IoT 产品从固件到云端、从开发到量产的完整技术栈。赞分享人工智能AI 技能提示工程【免费下载链接】agency-agents-zh 277 个即插即用的 AI 专家角色 — 支持 Claude Code/Cursor/Copilot 等 20 种工具覆盖工程/设计/营销/金融等 20 个部门。含 64 个中国市场原创智能体小红书/抖音/微信/飞书/钉钉/Qt 上位机/机械设计。搭配编排器 agency-orchestrator一句话即可让多位专家按 DAG 自动协作。项目地址https://gitcode.com/gh_mirrors/ag/agency-agents-zh点击查看免费下载相关推荐Agency-Agents 嵌入式固件工程师 Agent 实战指南面向 ESP32/STM32/Nordic 的裸机与 RTOS 生产级固件开发规范Agency Agents 嵌入式固件工程师 Agent 实战指南面向 ESP32/STM32/Nordic 的裸机与 RTOS 生产级固件开发规范 本篇技术人工智能AI AgentAI 技能/插件claude-skills 嵌入式系统技能实战指南STM32 裸机与 FreeRTOS 固件开发规范claude skills 嵌入式系统技能实战指南STM32 裸机与 FreeRTOS 固件开发规范 本文档以 claude skills 项目中的 embeAI 技能AI 插件后端前端DevOps将 agency-agents 智能体矩阵导入 Cursor.mdc 规则文件生成、项目级安装与激活实战指南将 agency agents 智能体矩阵导入 Cursor.mdc 规则文件生成、项目级安装与激活实战指南 本指南讲解如何把 agency agents 开人工智能AI AgentAI 技能/插件上一篇如何为gh_mirrors/aw/awesome-android-ui贡献组件翻译与本地化下一篇5分钟上手Vuetify数据可视化从VSparkline到VPie的零代码实战创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考