Eide环境搭建暂且不表,后续补充。主要记录下Vscode环境下 创建Rt-thread工程的过程。分别介绍STM32CubeMX添加rtt支持包的方式和手动添加rtt kernel方式。STM32CubeMX生成工程的时候有"坑",防止下次忘记,方便渡一下有缘人,特此记录。
此工程以创建stm32f405为例:
- 通过STM32Cube MX创建
- 配置外部时钟源
- 配置下载方式SWD
- 选择Rt-thread组件
经过一系列简单配置,就可以创建工程了!
用VSCODE打开工程文件夹,通过EIDE创建工程。工程名字选择CubeMX一样的名字,目录选择Cube MX工程的上一级。
添加项目资源,把有代码的文件夹全部选中,添加文件夹到项目。
添加头文件路径。
具体要添加的路径去Make file中找到,并按照上述方式逐个添加。
添加宏定义,也是需要打开Makefile,对照添加(注意:添加的时候不要复制-D)
把startup_stm32xxxxxx.s文件拖到Core目录下面
这个步骤右边文件内容显示的不对,需要重新CubeMx生成一次,重新添加就好了。
添加链接脚本路径,实际上就是添加ld链接文件名字
然后进行构建配置和烧录配置i,这里直接给出我的配置。
步骤有些麻烦,终于基本上都配置好了,我来编译一下,看看成果
这就对了,没有一次成功的事情。这里有一个STM32Cube MX在Rtthread兼容上的bug,这个坑先填上再试试。具体是CubeMX生成的rt-thread 启动文件是iar类型,我们选Makefile应该给gcc的才对,看图:
那我们去rtt官网找来,对应的文件换上再编译试试吧
编译结果如下:
好的,终于通过了!
另外有一点需要注意的是,每次更新CubeMX配置,都会自动生成一个context_iar.S,编译会报错,需要我们手动删除一下!、
下载ok!
调试也ok!