推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

FreeRTOS移植到STM32F103步骤与注意事项

更新时间:2019-12-09 09:58:29 大小:2M 上传用户:xuzhen1查看TA发布的资源 标签:freertosstm32f103 下载积分:0分 评价赚积分 (如何评价?) 收藏 评论(1) 举报

资料介绍

前言:

由于之前听过太多人抱怨移植FreeRTOS到STM32有各种各样的问题,小灯经过一年多对

FreeRTOS的研究并在公司产品中应用, 多少有些心得, 接下来就由小灯以最新版的FreeRTOS

为例一步一步移植到STM32F103 上,并提醒大家某些需要注意的事项。本文档为非正式技术

文档,故排版会有些凌乱,希望大家能提供宝贵意见以供小灯参考改进。

下面先以IAR 移植为例, 说明移植过程中的诸多注意事项, 最后再以MDK移植时不再重复说

明,所以还是建议大家先花些时间看IAR 的移植过程,哪怕你不使用IAR,最好也注意下那

一大堆注意事项!

一、从官网下载最新版的FreeRTOS源码

下面的网址是官方最新源码的下载地址:

https://sourceforge.net/projects/freertos/files/latest/download?source=files

目前官方提供的最新版本是v9.0.0 , FreeRTOS 源码在解压目录下的路径为

FreeRTOS_V9.0.0rc2\FreeRTOS\Source

FreeRTOS组织为了抢用户也是拼了命的, 不信你打开Demo文件夹看看, 里面提供了FreeRTOS

在各种单片机上已经移植好的工程,如果建工程时遇到什么问题,可以参考下这些Demo。

不过小灯现在着重于自己动手移植FreeRTOS,考虑到原子哥@正点原子的用户比较多,绝大

多数习惯了使用MDK来开发STM32,因此小灯分别以IAR 和MDK两种使用比较广泛的开发环

境来移植FreeRTOS。说到IAR 和MDK,不得不提的是小灯自从用了IAR 之后就果断放弃了

MDK,相信很多人有这个经历,哈哈!

在开始移植FreeRTOS之前,先介绍下FreeRTOS的源码:


部分文件列表

文件名 大小
FreeRTOS移植到STM32F103步骤与注意事项.pdf 2M

部分页面预览

(完整内容请下载后查看)
FreeRTOS 移植到 STM32F103 步骤与注意事项  
转载 2017 05 29 11:16:36  
1496  
原文地址:
前言:  
由于之前听过太多人抱怨移植  
FreeRTOSSTM32有各种各样的问题,小灯经过一年多对  
FreeRTOS  
FreeRTOS的研究并在公司产品中应用, 多少有些心得, 接下来就由小灯以最新版的  
为例一步一步移植到 STM32F103 上,并提醒大家某些需要注意的事项。 本文档为非正式技术  
文档,故排版会有些凌乱,希望大家能提供宝贵意见以供小灯参考改进。  
下面先以 IAR 移植为例, 说明移植过程中的诸多注意事项, 最后再以 MDK移植时不再重复说  
明,所以还是建议大家先花些时间看  
一大堆注意事项!  
IAR 的移植过程,哪怕你不使用  
IAR,最好也注意下那  
一、从官网下载最新版的 FreeRTOS源码  
下面的网址是官方最新源码的下载地址:  
目前官方提供的最新版本是  
v9.0.0 FreeRTOS 源码在解压目录下的路径为  
FreeRTOS_V9.0.0rc2\FreeRTOS\Source  
FreeRTOS组织为了抢用户也是拼了命的, 不信你打开 Demo文件夹看看面提供了 FreeRTOS  
在各种单片机上已经移植好的工程,如果建工程时遇到什么问题,可以参考下这些  
不过小灯现在着重于自己动手移植 FreeRTOS,考虑到原子哥 @正点原子 的用户比较多,绝大  
多数习惯了使用 MDK来开发 STM32,因此小灯分别以 IAR MDK两种使用比较广泛的开发环  
Demo。  
境来移植 FreeRTOS。说到 IAR MDK,不得不提的是小灯自从用了  
MDK,相信很多人有这个经历,哈哈!  
IAR 之后就果断放弃了  
在开始移植 FreeRTOS之前,先介绍下 FreeRTOS的源码:  
FreeRTOS的源码比较少, 源文件也远没有 UCOS多,不过麻雀虽小五脏俱全, FreeRTOS的短  
小精悍也是最令小灯着迷的,虽然缺少了很多组成部分,例如  
等,不过这些统统都不是问题,因为完全可以移植第三方的组件!  
GUI、网络协议栈、文件系统  
一不小心牛逼又吹大了, 哈哈!回归正题FreeRTOS的源码核心部分是 tasks.c list.c ,  
其余的几个文件功能都是可选的,例如软件定时器、队列、协程等等,小灯就不介绍了,有  
兴趣的话可以到官网上看介绍。  
include 文件夹里面的文件是操作系统相关的头文件,而  
portable 这个文件夹有些奇葩,先看看里面有啥:  
这里的文件几乎都是与平台相关的, 如果你要删掉这里的文件时就必须小心了, 因为不是所  
有文件都能删除的。  
注意文件夹 MemMang 里面存放的是 FreeRTOS自带的内存管理方案的源文件:  
关于内存管理方案的选择,小灯以后再跟大家讨论,现在只需要知道这些文件不能删就好。  
接下来看看 IAR文件夹的内容, 里面都是跟单片机底层相关的, 由于我们以 STM32F103为例,  
因此只需要保留 ARM_CM3 件夹即可余可选择性删除。 ARM_CM3 件夹里只有几个文件,  
这几个文件是操作系统最最底层的部分:  

全部评论(1)

  • 2020-05-29 09:33:36kangyang

    很好,细节说的很清楚!