0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RT-thread源码移植到STM32F10x和STM32F4xx

lcdz66 来源:雨飞工作室 2023-11-15 09:38 次阅读

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行即可。

移植完成。

三、创建应用

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

    关注

    1

    文章

    379

    浏览量

    28127
  • STM32F10x
    +关注

    关注

    1

    文章

    81

    浏览量

    20681
  • 源码
    +关注

    关注

    8

    文章

    640

    浏览量

    29197
  • RT-Thread
    +关注

    关注

    31

    文章

    1286

    浏览量

    40110

原文标题:RT-thread源码移植到STM32F10x和STM32F4xx

文章出处:【微信号:雨飞工作室,微信公众号:雨飞工作室】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【分享经验】手把手教你把RT-Thread移植STM32F1

    因为学习RT-Thread的原因,需要把RT-Thread移植STMF103ZET6上,在RT-Thread官网下载的原文件中实际上已经
    发表于 11-27 10:19

    如何移植RT-thread官方的系统源码STM32F10x特定的MCU平台中呢

    如何移植RT-thread官方的系统源码STM32F10x特定的MCU平台中呢?求大神解答
    发表于 08-11 09:55

    如何移植RT-thread官方的系统源码STM32F10x特定的MCU平台中?

    如何移植RT-thread官方的系统源码STM32F10x特定的MCU平台中?
    发表于 05-16 10:31

    STM32F4XX的模板例程

    完整的STM32F4XX的模板例程
    发表于 03-05 15:25 47次下载

    基于STM32F4RT-Thread通用BootLoader使用经验

    基于STM32F4RT-Thread通用BootLoader使用经验
    的头像 发表于 02-27 17:23 6302次阅读
    基于<b class='flag-5'>STM32F4</b>和<b class='flag-5'>RT-Thread</b>通用BootLoader使用经验

    STM32F10x系列移植GD32F10x系列电子版

    STM32F10x系列移植GD32F10x系列电子版
    发表于 05-31 09:22 0次下载

    STM32F10x系列移植GD32F10x系列指导文档

    STM32F10x系列移植GD32F10x系列指导文档
    发表于 12-03 16:29 7次下载

    基于正点原子精英版stm32f103zet6进行rt_thread(3.0.3)的移植

    文件夹内容简介添加RT_Thread源码工程组文件夹config.h文件修改board.c文件修改修改main.c函数注意,此时编译还会存在问题,需要将stm32F10x_it.c中
    发表于 12-05 11:21 0次下载
    基于正点原子精英版<b class='flag-5'>stm32f</b>103zet6进行<b class='flag-5'>rt_thread</b>(3.0.3)的<b class='flag-5'>移植</b>

    RT-Thread系统移植STM32f103

    RT-Thread系统移植STM32f103
    发表于 12-09 12:51 26次下载
    <b class='flag-5'>RT-Thread</b>系统<b class='flag-5'>移植</b><b class='flag-5'>到</b><b class='flag-5'>STM32f</b>103

    HC32F460移植RT-Thread Nano+FinSh工程源码下载

    HC32F460移植RT-Thread Nano+FinSh工程源码下载
    发表于 01-05 10:30 6次下载

    UM1021_STM32F105xxSTM32F107xxSTM32F2xxSTM32F4xx USB On-The-Go 主机和设备库

    UM1021_STM32F105xxSTM32F107xxSTM32F2xxSTM32F4xx USB On-The-Go 主机和设备库
    发表于 11-22 19:13 11次下载
    UM1021_<b class='flag-5'>STM32F105xx</b>、<b class='flag-5'>STM32F107xx</b>、<b class='flag-5'>STM32F2xx</b> 和 <b class='flag-5'>STM32F4xx</b> USB On-The-Go 主机和设备库

    UM1029_STM32F10xxSTM32F2xxSTM32F4xxSTM32L1xx I2C 通信外设应用程序库 (CPAL)

    UM1029_STM32F10xxSTM32F2xxSTM32F4xxSTM32L1xx I2C 通信外设应用程序库 (CPAL)
    发表于 11-22 19:13 1次下载
    UM1029_<b class='flag-5'>STM32F10xx</b>、<b class='flag-5'>STM32F2xx</b>、<b class='flag-5'>STM32F4xx</b> 和 <b class='flag-5'>STM32L1xx</b>   I2C 通信外设应用程序库 (CPAL)

    rt-thread studio新建stm32f407工程

    rt-thread studio新建stm32f407工程,使用的版本是:2.2.6,stm32f4的支持包版本为0.2.2。先不用0.2.3,因为使用0.2.3建立的模板编译会报错。
    的头像 发表于 10-12 17:42 1341次阅读

    【GD32 MCU 移植教程】8、从 STM32F4xx 系列移植 GD32F4xx

    、外设及性能对比以及从 STM32F4xx 移植 GD32F4xx移植步骤,旨在让开发者能够快速从
    的头像 发表于 09-06 09:40 1283次阅读
    【GD32 MCU <b class='flag-5'>移植</b>教程】8、从 <b class='flag-5'>STM32F4xx</b> 系列<b class='flag-5'>移植</b><b class='flag-5'>到</b> GD32<b class='flag-5'>F4xx</b> 系

    【GD32 MCU 移植教程】9、从 STM32F10x 系列移植 GD32F30x 系列

    对比、外设及性能对比以及从 STM32F10x 移植 GD32F30x移植步骤,旨在让开发者能够快速从
    的头像 发表于 09-07 09:57 698次阅读
    【GD32 MCU <b class='flag-5'>移植</b>教程】9、从 <b class='flag-5'>STM32F10x</b> 系列<b class='flag-5'>移植</b><b class='flag-5'>到</b> GD32<b class='flag-5'>F30x</b> 系列