一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码

现在AI编程非常火,而Trae最大的优势就是国产,还免费;
原来是用Keil编译stm32代码,就想着把STM32的程序搬到Trae下,实现在Trae中编译,运行,到AI改代码一条龙。所以就研究了一下,以下是完整步骤,最终实现了AI修改STM32代码,并能在Trae中编译和下载运行。

一、先用keil编译通过

1.1 STM32CubeMX 准备

STM32CubeMX是官方提供的一个快捷生成工程喝代码的工具。

STM32CubeMX下载地址:STM32cubemx下载

STM32CubeMX使用介绍官网:STM32cubemx介绍

1.2 STM32CubeMX 生成工程

我这里使用的mcu是STM32G070RBT6
作为示例,我们只配置晶振和串口

打开CubeMX
图片[1] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
选择ACCESS TO MCU SELECTOR,等待更新文件
图片[2] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
选择,然后STM32G070RBT6,然后右边的Start Project
图片[3] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
根据自己的情况配置晶振
图片[4] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
配置串口:
图片[5] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
根据自己硬件配置时钟晶振
图片[6] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
更新
图片[7] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
配置项目:然后点击GENERATE CODE,生成工程代码
图片[8] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
yes下载,需要你输入账号然后会开始更新
图片[9] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
生成成功,打开目录,进入MDK-ARM
图片[10] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
打开工程,前提是你已经安装了keil,可以自行去安装,地址:keil下载官网
配置为arm comple 6:这步很重要,因为trae里用的就是6的版本
图片[11] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
点击编译,等待编译通过:

1.3 修改代码添加打印 

这时候代码是没有打印的,我们修改下代码:
修改配置,勾选 Use MicroLIB
图片[12] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
添加stdio.h
图片[13] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
增加fputc,以实现可以调用printf
int fputc(int ch, FILE *f)
{

    if(HAL_UART_Transmit(&huart1, (uint8_t *)&ch,1, 0xFFFF)!= HAL_OK){

    }
    return ch;
}
图片[14] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
在main函数里增加打印:

1.4 keil编译烧录

因为我用的是st-link的烧录器,所以这里选择的是ST-Link Debugger,这里根据自己的配置
图片[15] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
然后点击下载固件
图片[16] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
下载成功:
图片[17] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
打开串口工具,重新上电即可看到输出:
图片[18] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
到此,原始工程准备完毕,接下来我们采用trae把这个工程导入编译下载并通过ai agent修改代码

二、再用Trae导入

2.1 Trae的环境准备

首先需要安装Trae,如果没有安装trae,可以参考这篇文章:小白喂饭级掌握Trae使用:从安装到你的app(含MCP的使用方法)_trae 安装mcp-CSDN博客
然后打开Trae,在插件市场里搜索Keil Studio Pack
图片[19] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
安装完成后,在插件下方多了两个东西:
cmsis — 这里可以创建工程或从keil中导入转换工程
图片[20] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
在Device Manager里会出现STM32 STLink,因为我们之前已经在keil环境中正常使用了,所以这里直接识别出来了,我们先勾选上。

2.2 导入和转换工程

切换到SMSIS标签
图片[21] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
选择Convert a uVison Project to CMSIS Solution
图片[22] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
找到刚刚在keil中创建好得工程文件uxprojx。
图片[23] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
选择Open
图片[24] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
信任文件夹并继续
图片[25] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
继续选择信任:
图片[26] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
然后创建了许多的yml文件,这些都是一些配置文件
图片[27] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
打开CMSIS,可以看到创建了工程目录:
图片[28] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
注意到这里报红了吗?
图片[29] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
鼠标放上去显示:
图片[30] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
我们需要update RTE,在CMSIS右上的…框里下拉,选择Refresh(reload packs,update RTE)
图片[31] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
等一会就OK了:

2.3 编译、下载、运行

点击上面的小锤头开始编译
图片[32] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
如下图,编译成功:
图片[33] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
为了有和之前代码有区别,确认我们是否是成功运行,我们修改一下代码:
在打印里增加一点字符串,保存,然后重复上一步再次编译

给设备上电,然后点击运行:
图片[34] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
提示如下,我们选择install
图片[35] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
再次运行,会开启下载,等待下载成功,如果提示连接失败啥的,注意检查下硬件烧录器连接是否牢固。

下载完成后,重新上电,就可以在串口工具里看到效果了:

三、使用Trae的AI 修改代码 

3.1 第一次和AI交互

我们在右侧的AI框里给它一个任务:帮我实现交替打印如下文字:“I am tom”和“I am Jerry”,然后点击发送:
图片[36] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
发现出现失败,我们点击停止

3.2 添加文件夹到工作区

切换到资源管理器,发现里面是MDK-ARM的文件夹,所以,AI是没有权限操作上一级目录stm32G07_example的
图片[37] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
从菜单的文件,选择将文件夹提添加到工作区
图片[38] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
选择我们工程的目录stm32G07_example:
图片[39] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
添加后如下:

3.3 再次和AI交互

打开main.c文件,再新建一个AI会话:
图片[40] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
​​​​输入问题,再次发送:
图片[36] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
这次就不会报错了,帮我们生成了代码,可以检查下它写的对不对,AI还发现了我们这是一个STM32的项目,比较聪明哦,选择全部接受
图片[42] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
经过检查,发现Trae在C语言还不太好用,它少了一个}符号,上面{也是显示红色的,表示有错误,手动加上去,代码如下:

3.4 编译、下载、运行

切换回CMSIS,编译,编译成功:

照前面的步骤烧录,运行,结果如下:

大功告成,以后可以使用Trae改代码,运行了。

四、收尾,适合强迫症

发现上面项目选择的地方显示无标题,那我们就改改。

图片[43] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
文件->将工作区另存为:
图片[44] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
放在stm32G07_example目录下,起个工作区的名也为stm32G07_example
图片[45] - 一文告诉你:如何在trae中编译运行STM32程序,并让AI帮你修改代码 - 宋马
重新打开Trae,就显示我们起的名了,直观就知道这是哪个项目

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容