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来作为单独的线程创建用。
跟着学了,F4的模板. 开始学习。
页:
[1]