> 文档中心 > RT_Thread STM32 BSP超详细的制作过程

RT_Thread STM32 BSP超详细的制作过程

第一步:下载RT_Thread

rthtread删除了多余DSP只预留了STM32BSP便于BSP制作-嵌入式文档类资源-CSDN下载

上述压缩包为去掉多余BSP,只保留了STM32BSP包,不删除也没问题;

第二步:选择对应STM32 模板 以STM32F103VC芯片为例

第三步:将stm32f10x文件夹放入STM32文件夹中

第四步:进入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 重新生成工程,如下图所示

重新生成工程成功: