[应用相关] rt-thread基于stm32f103的最小系统

[复制链接]
1916|15
 楼主| ADZ2016 发表于 2018-9-9 20:37 | 显示全部楼层 |阅读模式
rt-thread基于stm32f103的最小系统

rt-thread for stm32f103
一、 环境
Window7
Keil uVision V4.00
Toolchain:RealView MDK-ARM version:4.00
二、 Rt-thread代码下载
Rt-thread-1.2.2.zip

 楼主| ADZ2016 发表于 2018-9-9 20:37 | 显示全部楼层
三、 解压rt-thread代码
     得到名为rt-thread-1.2.2的文件夹
 楼主| ADZ2016 发表于 2018-9-9 20:37 | 显示全部楼层
四、 新建目录
在与rt-thread-1.2.2同一级的目录下新建目录myrtthread,并在其下新建子目录.
     最终的myrtthread和rt-thread-1.2.2目录结构如下图:

871245b95140c33d64.png
 楼主| ADZ2016 发表于 2018-9-9 20:37 | 显示全部楼层
五、 添加文件
1、 将以下
rt-thread-1.2.2\bsp\stm32f10x\applications\application.c
rt-thread-1.2.2\bsp\stm32f10x\applications\startup.c
rt-thread-1.2.2\bsp\stm32f10x\drivers\board.c
rt-thread-1.2.2\bsp\stm32f10x\drivers\board.h
rt-thread-1.2.2\bsp\stm32f10x\drivers\stm32f10x_it.c
rt-thread-1.2.2\bsp\stm32f10x\drivers\stm32f10x_it.h
rt-thread-1.2.2\bsp\stm32f10x\drivers\stm32f10x_conf.h
rt-thread-1.2.2\bsp\stm32f10x\rtconfig.h
rt-thread-1.2.2\components\init\components.c
rt-thread-1.2.2\components\init\components.h
rt-thread-1.2.2\components\drivers\include\rtdevice.h
共11个文件放入到新建立的apps目录下
并修改以下文件:
a、board.c第22行添加”include usart.h”
b、board.h第44行添加”void rt_hw_board_init(void);”
 楼主| ADZ2016 发表于 2018-9-9 20:38 | 显示全部楼层
2、 将以下
rt-thread-1.2.2\bsp\stm32f10x\drivers\led.c
rt-thread-1.2.2\bsp\stm32f10x\drivers\led.h
rt-thread-1.2.2\bsp\stm32f10x\drivers\rtc.c
rt-thread-1.2.2\bsp\stm32f10x\drivers\rtc.h
rt-thread-1.2.2\bsp\stm32f10x\drivers\usart.c
rt-thread-1.2.2\bsp\stm32f10x\drivers\usart.h
rt-thread-1.2.2\components\drivers\serial\serial.c
rt-thread-1.2.2\components\drivers\include\drivers\serial.h
共8个文件放入到新建立的driver目录下
 楼主| ADZ2016 发表于 2018-9-9 20:38 | 显示全部楼层
3、将以下
rt-thread-1.2.2\bsp\stm32f10x\Libraries\CMSIS
rt-thread-1.2.2\bsp\stm32f10x\Libraries\STM32F10x_StdPeriph_Driver
共2个目录及以下文件复制到新建立的third_part目录下
 楼主| ADZ2016 发表于 2018-9-9 20:38 | 显示全部楼层
六、 新建MDK工程
在新建的project目录下新建工程
1、新建一名为:rtt的工程
2、目标芯片:STM32F103ZE

807585b95144c8c237.png
 楼主| ADZ2016 发表于 2018-9-9 20:40 | 显示全部楼层
3、不要加入MDK为我们准备的启动文件
4、为新工程添加文件

362585b9514bfdb29e.png
 楼主| ADZ2016 发表于 2018-9-9 20:40 | 显示全部楼层
在以上的各Groups放入以下文件:
a、StartUp放入新建apps、drivers文件夹中的所有内容
b、Apps不添加文件
c、Driver添加以下文件
    1、rt-thread-1.2.2\components\drivers\src\dataqueue.c
d、cm3添加以下文件
    1、rt-thread-1.2.2\libcpu\arm\common目录下所有.c文件(共3个)
    2、rt-thread-1.2.2\libcpu\arm\cortex-m3\cpuport.c
3、rt-thread-1.2.2\libcpu\arm\cortex-m3\context_rvds.S
e、STM32_StdPeriph添加以下文件
     1、third_part\STM32F10x_StdPeriph_Driver\src全部.c文件(共23个)
2、third_part\CMSIS\CM3\CoreSupport\core_cm3.c
3、third_part\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c
4、third_part\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_hd.s
           f、kernel添加rt-thread-1.2.2\src下的全部.c文件(共17个)
g、Finsh添加rt-thread-1.2.2\components\finsh下的全部.c文件(共15个)
至此文件添加完毕。
 楼主| ADZ2016 发表于 2018-9-9 20:41 | 显示全部楼层
5、为新工程设定包含路径。如下:

587935b9514e0b1073.png
 楼主| ADZ2016 发表于 2018-9-9 20:41 | 显示全部楼层
6、设定编译链接时的output、listing路径为obj文件夹

633025b9514ee3dde0.png

339115b9514f6ec401.png
 楼主| ADZ2016 发表于 2018-9-9 20:41 | 显示全部楼层
7、设置器件类型和定制stm32固件库。如下图

67265b95150827400.png
 楼主| ADZ2016 发表于 2018-9-9 20:42 | 显示全部楼层
8、加两条链接控制选项

994375b951516a2232.png
 楼主| ADZ2016 发表于 2018-9-9 20:42 | 显示全部楼层
七、 编译链接工程得到目标文件
431905b95153029150.png

评论

参考了,  发表于 2018-9-12 08:42
八层楼 发表于 2018-9-12 12:33 | 显示全部楼层
非常感谢楼主分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

61

主题

1209

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部