RT-thread源码移植到STM32F10x和STM32F4xx

电子说

1.3w人已加入

描述

RT-thread源码移植到STM32F10x和STM32F4xx:

一、源码下载

点击入门->下载

 

在历史版本里边随便选取一个

 

会进入百度云盘的下载地址,里边有全部版本的源码。这里下载v2.1.0的稳定版本。

 

解压后的源码目录结构:

 

基本内核的移植只需要关心目录-bsp、include、libcpu、src。

 

二、开始移植

1、文件拷贝

-- F:RT-Thread源码 t-thread-2.1.0spstm32f10x下的rtconfig.h。

--F:RT-Thread源码 t-thread-2.1.0spstm32f10xapplications下的application.c和startup.c。

--F:RT-Thread源码 t-thread-2.1.0spstm32f10xdrivers下的board.c和board.h。

--F:RT-Thread源码 t-thread-2.1.0include下的所有头文件。

-- F:RT-Thread源码 t-thread-2.1.0libcpuarmcortex-m3下的cpuport.c和对应IDE的汇编文件。

Keil MDK使用context_rvds.S。

--F:RT-Thread源码 t-thread-2.1.0src下的所有文件。此目录是RT-thread的内核代码。

STM32的启动文件等自己添加。也可以直接复制源码中的文件。

2、工程目录结构

源码

RT-Thread存放RTOS源码,也就是用户无需修改的文件。

applications存放用户修改文件和配置文件。

3、修改board.c文件

主要作用:初始化外设、硬件等。

源码中提供的函数:

源码

NVIC_Configuration(void)里,加上中断分组的配置。

源码

EXT_SRAM_Configuration(void)是配置外部运存的代码,如果用不到,可以不管或者删除。关于48行的宏STM32_EXT_SRAM可在rtconfig.h里边找到。

源码

这个是系统心跳中断服务函数。默认使用内核自带的SystemTick计数器。当然,也可以使用定时器来产生系统心跳。只要能够周期性调用下图165行、167行、170行的代码即可。

源码

rt_hw_board_init(void)函数是单片机上电调用的一个函数,主要功能就是初始化外设,串口、定时器、GPIO之类的。

源码

 

源码

4、修改application.c文件

主要作用:用户任务线程初始化、执行。

源码

从43行开始,把下面的内容全部删除。然后自己重写。

主要提供一个int rt_application_init(void)的初始化函数即可。然后其他的全是任务线程。

5、提供串口打印函数

源码

RT-Thread使用rt_hw_console_output函数来打印一些信息,这个只要在串口驱动文件里边写好即可。不需要extern。

6、修改配置文件rtconfig.h

注释掉78行即可。

源码

移植完成。

 

三、创建应用

源码

 

源码

 

源码

 
  审核编辑:汤梓红
 
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分