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

    文章

    367

    浏览量

    27854
  • STM32F10x
    +关注

    关注

    1

    文章

    81

    浏览量

    20576
  • 源码
    +关注

    关注

    8

    文章

    573

    浏览量

    28585
  • RT-Thread
    +关注

    关注

    31

    文章

    1148

    浏览量

    38869

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

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

收藏 人收藏

    评论

    相关推荐

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

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

    从μCOS-ⅡRT-Thread移植方法是什么

    分享下移植方法和API对应表两部分讲下方法。一、移植方法软件环境:Win7+MDK5.18.0硬件环境:STM32F1031.从GitHub下载RT-Thread
    发表于 06-04 04:35

    STM32F0xxSTM32F4xx实现上有所区别

    STM32F0xxSTM32F4xx实现上有所区别STM32F4xx/2xx/1xx的实现设置寄存器VTOR来设置中断向量表的位置typ
    发表于 08-13 06:58

    使用STM32F4xx芯片出现的问题

    1、开发平台计算机操作系统:WIN7 64位;开发环境:Keil MDK 5.14;MCU:STM32F407ZET6;STM32F4xx固件库
    发表于 08-23 07:17

    pack的安装和rt-thread的使用

    F407+RT-Thread(一是-)——快速入门简介相关程序源码修改stm32f4xx_it.c修改board.c修改startup_stm32f407xx.smain.c运行简介硬
    发表于 08-24 06:50

    STM32F429是怎样移植TouchGFXRT-Thread系统上的

    如何去实现GUI和硬件的双向交互呢?STM32F429是怎样移植TouchGFXRT-Thread系统上的?
    发表于 10-18 07:36

    如何去实现STM32F103移值RT-Thread Nano的设计呢

    如何去实现STM32F103移植RT-Thread Nano的设计呢?RT-Thread HAL库的源码和标准库函数有何区别?
    发表于 12-14 07:11

    如何将RT-Thread系统移植STM32f103标准库上呢

    如何将RT-Thread系统移植STM32f103标准库上呢?有哪些操作步骤?
    发表于 12-15 06:51

    如何将HAL库移植RT-Thread 2.1.0的STM32F10x分支中呢

    STM32F1系列还没有HAL的支持,借助此次学习机会,现将HAL库移植RT-Thread 2.1.0的STM32F10x分支中。
    发表于 05-06 15:35

    RT-thread移植教程(FreeRTOS、STM32、RISC-V)

    。该裸机工程模板均可以在对应板子的A盘/程序源码 /固件库例程的目录下获取到,下面以野火F103-霸道板子的光盘目录为例,具体见图 STM32裸机工程模板在光盘资料中的位置。3、RT-thre
    发表于 06-16 14:49

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

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

    Linux系统下STM32CUBEMX+手工移植RT-Thread Nano

    └── STM32F103C8Tx_FLASH.ld-链接脚本,cubemx生成,添加了rtthread所需的代码段可以看到,我们并未修改rt-thread下的文件,因此无需关心这些源码的修改 完成后三层目录结构如下
    发表于 08-16 14:34

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

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

    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'>STM32</b>f103

    基于 Keil MDK 移植 RT-Thread Nano

    本文介绍如何基于 Keil MDK 移植 RT-Thread Nano ,并以一个 stm32f103 的基础工程作为示例进行讲解。 RT-Thread Nano 已集成在 Keil
    发表于 01-26 17:04 16次下载
    基于 Keil MDK <b class='flag-5'>移植</b> <b class='flag-5'>RT-Thread</b> Nano