RT_Thread STM32 BSP超详细的制作过程
第一步:下载RT_Thread
rthtread删除了多余DSP只预留了STM32BSP便于BSP制作-嵌入式文档类资源-CSDN下载
上述压缩包为去掉多余BSP,只保留了STM32BSP包,不删除也没问题;
第二步:选择对应STM32 模板 以STM32F103VC芯片为例
第四步:进入stm32f10x文件夹 右键打开ENV scons –dist并回车(前提是ENV已经安装并且已经配置到右键,如果没有,可rtthread官网上搜教程)
回车后,ENV运行结果:
然后再stm32f10x文件夹中 会生成一个dist文件夹;这个文件夹可以复制到任何地方,是一个基于stm32f10xd的带有rtthread内核的完整的项目;
本教程中我把dist文件夹中的文件夹stm32f10文件夹放到了桌面上,并改名为STM32F103VC;
第六步:删除STM32F103VC文件夹中board中的CubeMx_config 主要是担心不同人的电脑里的STM32CUBE MX不同,需要很长时间才能打开,不如自己重新制作;
第七步:打开STM32CUBE MX file下 new project选择对应芯片STM32F103VCT6
第八步:打开STM32CUBE MX 选择对应下载方式,我的是JTAG(5pin);Timebase Source 选择Systick;
第九步:选择对应时钟来源 这个要看自己的板子
时钟配置
在project manager 中第一栏 名字 位置 建议按照下方图片中修改;
在project manager 中最后一栏中 Firmware Package Name And Version 后面的方框 钩子取消;
Fireware relative Path 选择V1.7.0 ;上述两个步骤主要目的是固定版本,不使用最新版本;rtthread对应使用的版本就是V1.7.0;我也不知道会不会有影响,看别人的文档是这么说的;
Firmware relative Path 中的版本路径可以通过browse修改,如果电脑中不存在此版本;可以按照下方图片;找到对应版本安装下载;
第十步:点击GENERATE CODE 生成项目
第十一步:生成的文件夹如下:
删除Drivers和MDK-ARM
将CORE文件夹中的Inc文件夹和Src文件夹复制到CubeMX_Cofig中,并删除掉Core这个空文件夹;
SRC中的main.c中void SystemClock_Config(void) 需要复制到board.c中;(注意:可能Rtthread V3版本需要复制,V4不需要复制了,我之前使用3点几的版包括官网的教程也是要求复制的,但是这次使用V4版本的时候,我打开项目后,board.h是存在下方函数的)
第十二步: 点击下方的project项目工程打开工程;(MDK5)
在 board.h 文件中配置了 FLASH 和 RAM 的相关参数,这个文件中需要修改的是 STM32_FLASH_SIZE 和 STM32_SRAM_SIZE 这两个宏控制的参数。
具体修改数值需要根据自己的芯片修改,依据STM32官方的芯片命名来确定其Flash容量,已STM32F103C8T6为例,8 即代表芯片的Flash容量为64K,STM32官方的芯片命名通常以第11位做为Flash容量的标识符
4-----------表示flash为16K 6-----------表示flash为32K 8-----------表示flash为64K
B-----------表示flash为128K C-----------表示flash为256K D-----------表示flash为384K
E-----------表示flash为512K F-----------表示flash为768K G-----------表示flash为1M
我的STM32F103VC 根据上述表述修改如下:
第十三步:修改 Kconfig 选项
首先打开Kconfig文件(记事本打开就可以)
第十四步:修改链接脚本
上方查到STM32F103VC实际FLASH大小为256K = 256*1024=262144Byte=0x40000;
实际RAM大小为:48K*1024=49152Byte=0xc000;
我用的是MDK5,因此另外两个连接脚本没有修改;修改方法类同上方文件;
第十五步 修改构建脚本
SConscript 脚本决定 MDK/IAR 工程的生成以及编译过程中要添加文件。
在这一步中需要修改芯片型号以及芯片启动文件的地址,修改步骤如下图所示:
根据上方图片 STM32F103VCT6 对应如图所示;
第十五步 修改工程模板
点击打开之后修改:
我的是修改为JLINK/J-TRACE Cortex(下载方式)
下方仅仅代表我的使用习惯,可不修改
第十五步 重新生成工程
在 env 界面输入命令 menuconfig 对工程进行配置,并生成新的 rtconfig.h 文件。如下图所示
下面以重新生成 MDK 工程为例,介绍如何重新生成 BSP 工程。
使用 env 工具输入命令 scons --target=mdk5 重新生成工程,如下图所示
重新生成工程成功: