Devin AI目前仅支持VS Code(需安装官方插件)和Web控制台,不原生支持STM32CubeIDE、Keil或IAR;要在嵌入式环境直接开发,须将CubeIDE工程导出为CMake格式后在VS Code中启用Devin会话,并依赖CMakeLists.txt、.ioc、startup.s等文件解析上下文,方可实现驱动编写、寄存器配置及启动文件修改。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

想让Devin AI直接在嵌入式IDE里写驱动、调寄存器、改启动文件,而不是只在网页端聊天框里生成代码再手动复制?这要求Devin必须真正接入本地开发环境,能读取.c/.s/.ld文件结构,识别STM32CubeIDE或VS Code+STM32插件的项目上下文,而非仅处理孤立代码片段。
确认Devin支持的嵌入式IDE类型
Devin官方明确支持的IDE只有两类:VS Code(通过插件)、Web控制台(app.devin.ai)。它【不提供原生STM32CubeIDE插件】,也不支持Keil MDK或IAR Embedded Workbench的直接集成。如果你正在用CubeIDE桌面版,Devin无法接管其编辑器窗口或调试器界面。
当前唯一可行路径是:把CubeIDE工程导出为CMake格式→用VS Code打开→安装Devin VS Code插件→在VS Code内触发Devin任务。
在VS Code中启用Devin接管嵌入式项目
第一步:确保VS Code已安装DevChat或Devin官方VS Code扩展(非第三方仿冒插件);在扩展市场搜索“Devin AI”并认准发布者为“Cognition Labs”。
第二步:打开一个已存在的STM32 CMake工程(由CubeMX生成,Toolchain选GCC + CMake),不要新建空文件夹——Devin需要真实的CMakeLists.txt、.ioc、startup_stm32f103xb.s等文件才能解析芯片型号和外设配置。
第三步:按下Ctrl+Shift+P调出命令面板,输入“Devin: Start Session”,回车启动会话。此时Devin会自动扫描整个工作区,加载CMSIS头文件路径、链接脚本位置和编译宏定义(如USE_FULL_LL_DRIVER)。
第四步:在编辑器中选中main.c里的HAL_Init()调用行,右键选择“Ask Devin about this code”。Devin将基于当前工程的HAL库版本、芯片型号和时钟树配置,返回初始化流程说明,并可立即生成低功耗模式切换或SysTick重定向代码。
让Devin修改启动文件与汇编级配置
方法一:直接编辑startup_stm32f103xb.s
把光标定位到Reset_Handler标签下方,输入指令:“在Reset_Handler末尾插入一段代码,用DWT_CYCCNT实现微秒级延时,要求不依赖SysTick且兼容ARM Cortex-M3”。Devin会生成带__DSB __ISB屏障的汇编块,并自动检查是否已使能DWT外设(若未使能则补上CoreDebug->DEMCR |= CoreDebug_DEMCR_TRCENA_Msk)。
方法二:通过CubeMX .ioc文件驱动修改
打开Project.ioc,对Devin说:“把PB9配置为推挽输出,频率50MHz,用于驱动WS2812;同时关闭JTAG,只保留SWD调试接口”。Devin会解析.ioc XML结构,定位到Pinout & Configuration页的对应引脚节点,修改Mode字段为“GPIO_Output”,并在System Core → Debug节点中将Debug设为“Serial Wire”。【注意:此操作会覆盖CubeMX图形界面的当前状态,务必先提交.git commit备份】
方法三:修改链接脚本控制内存布局
在STM32F103C8T6工程中,打开STM32F103C8TX_FLASH.ld,选中MEMORY区块,对Devin说:“把RAM起始地址从0x20000000改为0x20000100,预留256字节给自定义堆栈保护区”。Devin将重算所有SECTION偏移,更新_stack_size符号定义,并检查startup文件中__initial_sp是否同步更新——若未更新则主动提示你手动修正。


















