移植记录随笔,为了备份,也为了给有用的人一些参考!公开免费的,格式随意些!
移植的主要步骤有大神总结如下:
主要包括如下几个步骤:
1、查找并复制合适的通用模板
2、使用CubeMX工具配置工程
3、修改BSP中Kconfig文件
4、修改构建工程相关文件
5、添加需要的程序文件
主要任务是建立让操作系统运行的基本环境,需要完成的主要工作是:
-
1)初始化 CPU 内部寄存器,设定 RAM 工作时序。
-
2)实现时钟驱动及中断控制器驱动,完善中断管理。
-
3)实现串口和 GPIO 驱动。
-
4)初始化动态内存堆,实现动态堆内存管理。
2、移植步骤
注:图中包含路径仅参考!!!
1、下载RTThread系统软件包到本地
2、在rt-thread-master\bsp中选取对应芯片的bsp程序,根据官方提供已有模板进行BSP的移植
我们选取的是rt-thread-master\bsp\stm32\libraries\templates\stm32f10x进行移植
3、将该文件夹复制到rt-thread-master\bsp\stm32下并改为自己对应工程名
4、在该目录下rt-thread-master\bsp\stm32\stm32f103rct6-xxx-irobot\board\CubeMX_Config,双击打开CubeMX工程CubeMx_Config文件
5、在工程中配置相关时钟
6、配置使能相关功能接口,如UART1
7、配置工程信息,并电机GENERATE CODE生成程序,注意红框中根据自己实际情况修改
8、生成代码后将CubeMX_Config/Core/Inc & Src复制并替换
以上步骤完成后,工程文件拷贝结束,进入工程文件修改阶段
1、配置系统时钟函数
拷贝board/CubeMx_Config/Src/main.c 中‘SystemClock_Config()’替换“board.c”中SystemClock_Config()
2、修改FLASH/RAM相关参数
打开“board.h”文件,找到宏定义:STM32_FLASH_SIZE/STM32_SRAM_SIZE 两个宏分别定义了芯片Flash/SRam的大小,根据数据手册修改即可
3、修改编译加载文件及KConfig中芯片选型
编译加载文件:SConscript:
Kconfig:
打开board/Kconfig文件,配置芯片型号,系统不支持Vc系列,同位替换为Xe系列,即config SOC_STM32F103Ve
4、修改MDK链接脚本
打开board\linker_scripts\link文件,windows环境下如下:
修改文件中Flash/Sram大小
5、打开BSP/stm32/Template Keil工程,配置工程芯片型号,及下载器型号
保存退出。
6、rtconfig.h配置
1、打开ENV工具,切换到对应工程目录下,eg:rt-thread-master\bsp\stm32\stm32f103rct6-xxxx-irobot
2、输入menuconfig命令,进入UI按需对工程进行模块使能配置,保存退出并生成新的rtconfig.h文件。
3、env工具输入命令"scons --target=mdk5"重新生成工程。
4、待生成完成后,打开BSP/stm32/Project Keil工程进行编译下载,观察反应即可。
至此,移植完成。