先上结果:
步骤一可跳过,参考下面官方文档链接里更详细的说明
解压 gcc-arm-none-eabi 工具链到指定目录:
进入 rt-thread/bsp/stm32/stm32f429-atk-apollo
目录,执行命令 scons --dist
,生成一个干净单一的 stm32f429 工程。
将 rt-thread/bsp/stm32/stm32f429-atk-apollo/dist
目录下的 stm32 工程拷贝到你喜欢的地方。
进入刚刚拷贝的 stm32 工程里,编辑 rtconfig.py 文件。
将 gcc-arm-none-eabi 工具链的路径填入如下图相应的位置。
在拷贝的工程目录下输入 scons
命令即可编译 rt-thread 源码。
我使用的仿真器是 DAP ,目标开发板芯片是 STM32F429 。如果你使用的是其他仿真器以及目标芯片,只需将 cmsis-dap.cfg
, stm32f4x.cfg
替换即可。
上述步骤开启了 GDB 服务器,此时我们需要使用 telnet 登录到这个服务器,进行一些测试操作。
输入 halt 命令,芯片停止运行。
输入 reset 命令,芯片复位重启。
如果要烧录 bin 文件到目标芯片,先输入 halt
停止芯片,然后输入
烧录 bin 文件到目标芯片,地址为 0x8000000。如下图所示:
以上步骤是 rt-thread 源码的编译与下载,后面等我整理完接下来的步骤截图,将介绍如何使用 vscode + openocd + gcc-arm-none-eabi-gdb
调试代码。
未完待续。。。。。。
进入用户主目录,编辑该目录下的 .profile 文件,将 gcc-arm-none-eabi 工具链 的路径添加到环境变量中。
在 .profile 文件末尾加上
输入命令
使刚刚配置的环境变量生效。
进入我们先前拷贝的 stm32 工程目录,输入 scons —target=vsc 命令生成,vscode 的文件索引。
输入 code ./ 命令打开 vscode 。
给 vscode 添加任务
编辑 task.json 文件,添加如下三个任务:
task.json 文件内容如下:
为 vscode 添加 Debug 配置
编辑 launch.json 文件, 需要注意修改的地方如下图红框框所示:
launch.json 文件内容如下:
在 vscode 界面下,按 F1 键,输入 Tasks: Run Task
回车。
上下键选择 build 编译工程。
上下键选择 openocd server 启动 openocd 服务器。
按 F5 键 或如下图所示,启动调试。