初晴sama 发表于 2020-2-25 17:49:58

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

本帖最后由 初晴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来作为单独的线程创建用。


EastWind 发表于 2020-2-25 23:29:05

跟着学了,F4的模板. 开始学习。
页: [1]
查看完整版本: ST单片机移植RT-Thread nano以及finsh通用流程(适合非ST芯片)