MDK下移植FreeRTOS到stm32并简单应用

本文介绍了FreeRTOS实时操作系统,它被亚马逊收购后改名并升级协议。阐述了在STM32F103上移植FreeRTOS的步骤,包括准备工作、新建MDK工程、添加文件、设置头文件路径和修改文件等,还给出了应用示例,最后总结移植能实现多任务管理、降低编程难度。

一、FreeRTOS简单介绍

FreeRTOS是一款 “开源免费”的实时操作系统,遵循的是 GPLv2+的许可协议,由美国的 Richard Barry 于 2003 年发布,Richard Barry 是FreeRTOS 的拥有 者和维护者,在过去的十多年中FreeRTOS历经了 9 个版本,与众多半导体厂商合作密切, 累计开发者数百万,是目前市场占有率最高的 RTOS。
FreeRTOS于 2018 年被亚马逊收购,改名为 AWS FreeRTOS,版本号升级为 V10,且 开源协议也由原来的 GPLv2+修改为 MIT,与 GPLv2+相比,MIT 更加开放,你完全可以理解为是为所欲为的免费。V9 以前的版本还是维持原样,V10 版本相比于 V9 就是加入了一 些物联网相关的组件,内核基本不变。亚马逊收购FreeRTOS也是为了进军眼下炒的火热 的物联网和人工智能。

  • 随着产品要实现的功能越来越多,单纯的裸机系统已经不能够完美地解决问题,反而会使编程变得更加复杂,如果想降低编程的难度,我们可以考虑引入RTOS 实现多任务管理,这是使用RTOS 的最大优势。

二、移植准备

在这里插入图片描述

  • FreeRTOS的源码核心部分是tasks.c和list.c,其余的几个文件功能都是可选的,例如软件定时器、队列、协程等等。include文件夹里面的文件是操作系统相关的头文件,portable文件夹里的文件与平台相关
  • 进入portable文件夹,打开keil文件夹,里面只有一个文件,文件提示See-also-the-RVDS-directory,意思是参照RVDS目录下的文件,以MDK建工程时,就是拿RVDS目录下的文件来替代的,因此应该把RVDS目录下的文件拷贝到Keil目录下,我们只需要把RVDS文件夹中的ARM_CM3文件拷贝到keil中即可。
    在这里插入图片描述
    在这里插入图片描述
  • 这时portable文件夹中其他文件可以删除了,只保留keil,MemMang文件即可。

三、移植

(1)新建MDK工程

  • 首先新建一个MDK工程,这里我使用的是正点原子的库函数模板,可以在www.openedv.com的资料下载里下载。

(2)添加FreeRTOS文件

  • 点击上方
    在这里插入图片描述
  • 新建好FreeRTOS文件,将
    FreeRTOS\tasks.c
    FreeRTOS\list.c
    FreeRTOS\portable\Keil\ARM_CM3\port.c
    FreeRTOS\portable\MemMang\heap_4.c
    这四个文件添加进来
    第五个文件FreeRTOSConfig.h文件在FreeRTOS\Demo\CORTEX_STM32F103_Keil,这里我将它拷贝过来与这四个文件放在了一起,在添加的时候文件类型是默认显示.c文件的,要想看到.h文件需要选择All Files。
    在这里插入图片描述

(3)添加头文件路径

  • 点击上方
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值