标签

AI大模型浪潮下,MCU开发怎样真正借力AI

发布时间:2026-04-10 19:43来源:微信阅读:13

随着 AI 在编程领域不断走向成熟,MCU 与嵌入式软件工程师的工作方式,也在不知不觉中发生转变。

当一个新需求出现时,以前通常是 leader 或研发负责人先把需求拆开,我们只负责其中某一部分的落地;而在 AI 进入开发流程之后,

你可以把 AI 看作一个非常聪明、但工程实战经验不足的初级工程师,甚至像是团队里一下子多了几名实习生——你需要一步一步地带着它完成任务。这个过程并非浪费精力,恰恰相反,当你开始以这种方式与 AI 配合时,你关注的重点会从“某一行代码该怎么写”,转向“系统应当怎样拆分、任务该如何分阶段推进”,工程师的视角也因此被重新塑造。下面先结合 NXP 资深 MCU 工程师的经验分享,再基于我们对 AI 的理解做进一步说明。

这就好比你带着一个对项目并不熟悉的实习生。你突然直接丢给他一个需求,但相关背景知识、参考资料以及之前写过的案例,他都不了解,自然很难做好。所以这时候你要先拆解需求,并补充相应背景、参考资料以及可借鉴的代码片段等信息。只有这样,AI 或实习生才能更高质量地完成项目。以一个非常典型的需求为例:这是我把需求拆解清楚后,交给 chatgpt 5.2,然后它给出的回复。

UART + DMA 实现串口数据不定长接收

很多人第一次借助 AI 编写 MCU 代码时,往往都会这样做:

问题不在于 AI 不够聪明,而在于:

你一开始就让 AI 去处理“最困难的那一步”。

调试电路时,我们不会一上来就盯着整张原理图,而是:

借助 AI 做 MCU 开发,其实也是同样的逻辑。

首先,分步这件事非常关键,核心就在于你必须把需求拆解清楚。所以你需要真正理解这个需求。这也会反向促使你去向需求提出方,包括你的 leader,弄清楚需求的来龙去脉以及应用场景。只有这样,你才能进一步拆出正确的子需求,再交给 AI 去逐项实现。通过这种方式,一方面可以减轻自己的工作负担,另一方面也能反过来逼着自己进行更深入的思考。 在下面的示例中,我们严格遵循以下 4 条原则:

Step 2:在 Step1 的基础上加入 RX IdleLine(帧结束判断)

这一步的目标不是 DMA,也不是完整实现不定长接收,而是先确认 IDLE 中断能否被稳定触发。

🎯 目标 • 继续采用 RX 中断逐字节接收 • 打开 IDLE line 中断 • 在 IDLE 触发时获取一帧数据长度

✅ 测试标准 • 串口发送一串字符后停顿(如 30ms) • 能观察到 frame_ready=true,frame_len 正确

关键新增逻辑(节选)

最容易踩到的 3 个坑(一定要提前知道) 1. DMA request 枚举配置错误 → 完全收不到数据 2. IDLE flag 没有清除 → 中断持续触发,表现像“死机” 3. DMA 剩余计数单位理解有误 → frame_len 不准确 👉 最简单的验证方式:PC 发送 10 字节,看最终是否得到 10

总结

这个 UART + DMA 的例子,本质上并不是为了讲解通信层面的细节,而是在展示:

在 MCU 这种硬件约束很强的领域中,AI 应当怎样被正确使用。

当你学会像带实习生一样去使用 AI,当你开始从系统和步骤的层面拆解问题,AI 才会真正成为放大生产力的工具。

我们是一家专注于 Agentic AI(智能体 AI)的初创 AI 公司,致力于打造真正具备问题解决能力的 AI Agent,用来应对现实世界中的复杂工程与业务挑战。

不同于传统的通用型 AI 工具,我们围绕真实应用场景,构建从问题拆解、任务执行到结果交付的完整 Agent 化 AI 方案,强调长期运行、真正落地以及可持续演进的工程能力。

目前,巴巴塔的产品与解决方案主要聚焦于:

我们始终相信,Agentic AI 将成为下一代 AI 应用的重要形态,而解决工程问题的能力,也始终是 AI 的核心价值所在。