1.RT-Thread移植(基于STM32F429IIT6)

一、获取STM32F4固件库和RT-Thread源码

STM32F4固件库(v1.6.1):http://www.st.com/web/en/catalog/tools/PF257901

RT-Thread源码(github下载,版本2.1.0):https://github.com/RT-Thread/rt-thread

 二、建立MDK工程模板

建议使用移植的模板进行,这样就不用管CPU的堆栈中断等处理过程的代码(本例使用stm32f40x)。

同时,建议在使用官方权威源码时尽可能保留目录一致性。

例如本移植采用RT-Thread源码目录一致的结构:

 所需文件根据RT-Thread文档即可。

 注意问题点:

1.HardFault_Handler、PendSV_Handler和SysTick_Handler中断函数从stm32f4xx_it.c文件转移出去。

2.以下函数没声明(暂时注释掉):rt_application_init、stm32_hw_usart_init和stm32_hw_pin_init。

3.main函数在startup.c中已经实现,不要重定义。

三、修改源码

1.stm32f4时钟系统

右侧为修改的,注意该文件还需改SystemCoreClock = 168000000;

四、继续修改代码

去注释上一步注释的stm32_hw_usart_init函数

添加rtdevice.h头文件(在\components\drivers\include中)

添加serial.c、completion.c和dataqueue.c文件

同时需要修改硬件的USART接口

 

至此,RT-Thread系统启动时,会从串口输出系统版本信息,即表示移植成功。

 

完成移植时间:6个小时

posted @ 2015-12-23 17:35  L-liwen  阅读(1348)  评论(0编辑  收藏  举报