硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2662|回复: 1
收起左侧

ST单片机移植RT-Thread nano以及finsh通用流程(适合非ST芯片)

[复制链接]

17

主题

101

回帖

152

积分

初级会员

积分
152
发表于 2020-2-25 17:49:58 | 显示全部楼层 |阅读模式
本帖最后由 初晴sama 于 2020-2-25 17:51 编辑

这个移植过程其实已经烂了,不过这里做一个比较完美的总结。
1、软件:MDK5.29的RTE环境,ARM_Compiler 6(AC6)
2、pack包:
CMSIS 5.6
ST HAL库任意版本
rt-thread-3.1.3
3、移植文件 board.c

主要添加内容:1、系统时钟

                      2、操作系统心跳:这里使用systick,定时1ms
                      3、修改systick中断函数内容
                      4、注释掉it.c中HardFault_Handler、PendSV_Handler、SysTick_Handler
                      5、配置内存管理 rt_system_heap_init(rt_heap_begin_get(), rt_heap_end_get());添加内存开始和结束的函数
                      6、重定义rt_kprintf函数(底层调用rt_hw_console_output),所以在这个函数内部使用printf或者comsendchar等等,建议使用printf,然后对printf进行重定义,这样只依赖stdio文件
                      7、使用finsh组件,在rtconfig中定义RT_USING_FINSH,然后在board.c中添加rt_hw_console_getchar函数
4、main函数主要用来创建线程,所以建议创建bsp文件来做班级支持初始化,用app.c来作为单独的线程创建用。


board.c

board.c

重定义的两个函数

重定义的两个函数

F4_RT-Thread(模板).zip

4.52 MB, 下载次数: 59

board_template.c

7.62 KB, 下载次数: 21

rtconfig_template.h

3.69 KB, 下载次数: 23

评分

参与人数 1金币 +2 收起 理由
eethan + 2 很给力!

查看全部评分

回复

使用道具 举报

2

主题

87

回帖

93

积分

初级会员

积分
93
发表于 2020-2-25 23:29:05 | 显示全部楼层
跟着学了,F4的模板. 开始学习。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-26 01:41 , Processed in 0.248721 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表