接前一篇文章:PY32F系列MCU在OTA时App区概率性跑不起来的根因分析(3)
二、问题分析
3. 最终定位
上一回将重点聚焦于APP_Bootloader_Go函数上。但是无论是笔者的工程代码、还是普冉官方例程,这一块看起来差异不大,无非是先调用、后调用,在函数里调用、在函数外调用的差异。
当时只知道这块代码引起的问题,并不确定问题出在哪里,也不知道到底是哪里的差异引起的问题。
由于项目十分紧急,开会集思广益,会议决定使用AI工具进行问题排查。笔者在同事的帮助下安装了Cursor,并使用它来进行此问题的探究。
Cursor是Anysphere公司推出的一款AI原生IDE,基于Visual Studio Code(VS Code)构建,深度集成AI能力以辅助编程 。Windows/macOS/Linux 全平台可用,主打AI 深度理解整个代码仓库,而不只是单行补全。它允许开发者通过自然语言指令生成、补全和修复代码,被视为 2026 年最流行的AI编程工具之一 。
核心特点
(1)能读懂整个项目
Cursor可以直接读取整个代码库,跨文件理解代码关系。聊天框用@文件名引用代码,让AI基于指定文件分析、重构、查bug,非常适合嵌入式、C 语言、Linux项目阅读与改造。
(2)自然语言交互
内置聊天窗口,支持通过对话修改代码、解释逻辑或查找错误,支持引用特定文件 。
Cmd+K(WindowsCtrl+K):选中代码,一句话让AI局部修改- Agent模式:AI自主规划、多文件修改、调用终端执行命令、看报错迭代修复
(3)兼容VS Code生态
VS Code 的插件、主题、快捷键几乎全部能用,上手成本很低。
(4)多文件协同编辑
通过Composer功能,AI可同时在多个文件中进行修改和重构,实现复杂任务自动化。
(5)模型可选
支持Cursor自研Composer、GPT、Claude等大模型。用户可切换使用Claude 3.7 Sonnet、GPT-4o和Gemini 2.5 Pro等第三方模型 。
适合场景(嵌入式C、STM32、Linux驱动)
- 阅读陌生工程,理清调用关系、结构体、中断流程。
- 写 / 重构 C 代码、排查 bug、注释、生成测试代码。
- 解释内核源码、DTS、Makefile、CMake 脚本。
- 把零散代码整理成规范工程。
由于当前已经将问题代码范围缩得比较小了,因此将问题描述清楚,并将代码喂给Cursor后,它很快(几分钟)给出了怀疑点:
这应该就是苦苦寻找的问题根因!
对于问题根因的详细解析,以及最终解决问题的具体方案的说明,请看下回。