拓冰建站拓冰建站
首页 / 资讯中心 / 正文

嵌入式Agent开发环境搭建——基于codebuddy和Keil

引言本文面向使用 Keil 进行 STM32 嵌入式开发的工程师与学习者介绍如何借助 codebuddy基于 VS Code 的 AI 编程助手与 Keil-Assistant 扩展在保留原有 Keil 工作流的同时获得 AI 代码补全、智能生成与工程管理能力。本文目录1 概览2 安装 STM32 CubeMX可选3 安装 Keil4 安装 codebuddy5 应用说明6 后记1 概览1.1 开发环境概述可选STM32 CubeMX生成基础代码必须codebuddyAI 代码编辑必须Keil编译、下载、调试说明本文以 STM32 嵌入式开发为例核心工具链为 codebuddy Keil-Assistant 扩展CubeMX 仅用于生成初始工程非必需。1.2 优点直接从现有 Keil 工程导入无需重新创建工程上手成本低与 Keil 双环境同步开发不影响原有工作流可随时切换在 VS Code 生态中完成代码编写、AI 辅助和编译调试减少环境切换成本支持解析 Keil 工程中的源文件与配置工程结构一目了然便于维护适用场景适合已有 Keil 工程、希望引入 AI 辅助编程又不愿放弃原有工作流的开发者。2 安装STM32 CubeMX可选安装过程略本文使用版本为 6.17.0。若已有 CubeMX 生成的工程可跳过此步骤。3 安装Keil安装过程略本文使用版本为 Keil MDK v5.27。请确保 Keil 已正确安装并配置好编译器。4 安装codebuddycodebuddy 是一款基于 VS Code 深度定制的 AI 编程助手内置了强大的 Agent 智能体能力。它不仅能像普通编辑器一样完成代码编写与跳转还能理解整个工程上下文通过自然语言对话直接生成、修改和重构代码并自动执行跨文件的复杂任务。4.1 软件本体安装下载链接codebuddy4.2 扩展安装说明像codebuddy、trae、qoder这些Agent都是基于VSCode开发的所以VSCode可以用的扩展它们也可以用很多扩展可以直接在内部的扩展商店下载但是有的扩展微软并不开放给VSCode之外的产品我们就只能从其它途径安装比如VSIX hub本文介绍当前开发环境必须的两个扩展的安装方式C/C扩展和Keil Assistant扩展这两个扩展在codebuddy上的扩展商店都无法搜索到。4.3 C/C扩展安装这里安装C/C扩展主要是为了提供代码跳转功能而不是安装编译器。对我们来说codebuddy就是一个代码编辑器其它的所有功能都在Keil中完成。C/C扩展目前不仅在codebuddy的扩展商店无法安装在VSIX Hub中也找不到新版本故本文提供另外的方式参考文章cursor中显示“The C/C extension may be used only with MicrosoftVisual Studio…“打开VsCode没有的话安装一个 Visual Studio Code打开VsCode的扩展商店下载特定版本的VSIX选择1.23.6版本并选择保存地址下载到本地关闭VSCode打开codebuddy按照下图所示安装刚才下载的VSIX扩展。安装扩展后重启codebuddy生效。4.4 keil-Assistant扩展安装Keil-Assistant 是 VS Code 生态中的一款扩展用于在 VS Code 中直接管理 Keil 工程。它支持导入现有Keil 工程、解析工程中的源文件与配置并能在 VS Code 内完成编译、下载与调试等操作让开发者不必频繁切换 IDE。因为codebuddy的扩展商店目前搜索不到故我们在网上下载vsix文件后导入。下载链接Keil Assistant —— VSIX Hub下载后打开codebuddy按照下图所示安装VSIX扩展。在扩展设置中将Keil的目录输入到框中。安装扩展后重启codebuddy生效。5 应用说明5.1 验证安装环境打开codebuddy后选择打开文件夹选择.uvprojx所在的文件夹我的工程是使用STM32CubeMX生成的Keil工程在MDK-ARM文件夹下所以选择这个文件夹打开。打开工程后展开KEIL UVISION PROJECTKeil Assistant会自动解析.uvprojx文件并呈现出和Keil一样的目录树如果某个group下面没有任何文件则不会显示该group至此可以确定Keil Assistant插件已经成功运行打开main.c文件右键任意一个函数看是否有“转到定义”至此可以确定C语言扩展成功运行5.2 利用agent开发选择腾讯混元3模型已经长时间使用可以满足中等规模工程的嵌入式开发和上位机开发让Agent分析当前工程架构分析结果这里只做了一个小示例具体应用还是要自己慢慢感受。5.3 Keil和codebuddy同时打开同时使用codebuddy和Keil会经常遇到下面的情况Keil识别到内容被外部程序修改会问我们是否需要reload点是就可以了。5.4 同步skill在应用过程中你会发现即使用了Keil-Assistant扩展也无法在codebuddy或者VSCode里面添加新的Keil Group必须在Keil中添加group后保存才会更新到codebuddy中。那我们使用Agent编程如果新加一个文件或者新加一个group就要先去keil中添加group、.c文件、或是include path再回来codebuddy继续编辑这样来回切很麻烦其实不难发现Keil-Assistant扩展的一个主要功能就是解析.uvprojx文件。这个文件其实就是一个xml脚本那么Agent当然也可以解析该文件。所以可以让agent写一个skill每当有新的.c/.h时让其自己修改.uvprojx文件把新的文件加进去。每当有新的group时让其自己修改.uvprojx文件把新的group加进去并更新Include Path。我写了一个skill但是感觉并不完美就不发出来了大家可以自己试试。6 后记Agent是当前时代必备技能迅速掌握起来
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门