RTThread studio联合STM32 CUBEMX开发
之前遇到过RTThread studio和STM32 CUBEMX的版本一些问题,导致不能联合开发。不清楚原因。可能是我操作没对。但这里也记录下这次使用的版本。
RTThread studio版本版本: 2.2.6。stm32CubeMx版本6.9.0
具体操作
本次示例是在上一篇,《 基于STM32F103C8T6创建RTthread项目》 进行补充的。
在工程新建好后,双击“CubeMx Settings”,进入芯片的配置
打开后可对芯片进行配置,配置可参考前面的博客。《基于STM32F103C8T6使用STM32CUBEMX配置串口打印及中断》配置完后生成代码。
然后更新软件包。这里一定要点【更新软件包】,不然就看不到刚cubemx生成的代码。
然后对代码进行一些简单的修改
添加SConscript文件
文件内容为
import os
from building import *
cwd = GetCurrentDir()
src = Glob('*.c')
# add cubemx drivers
src = Split('''
Src/stm32f1xx_hal_msp.c
Src/main.c
''')
path = [cwd]
path += [cwd + '/Inc']
group = DefineGroup('cubemx', src, depend = [''], CPPPATH = path)
Return('group')
其中“Src/stm32f1xx_hal_msp.c”为自己芯片的内容。不同的芯片不一样。而且要注意的是文件的格式要正确。不然很容易出问题编译不过。
接下来在CUBE MX生成的代码main函数前加“__WEAK”。
这里生成好代码后,可以看到时钟初始化是用的STM32 CUBE MX生成的。
上面的步骤弄完后,更新软件包。编译通过。下载测试。
生成的代码连接如下
链接: https://download.csdn.net/download/weixin_39465496/88753402