STM32(F103ZET6)第十九课:FreeRtos的移植和使用

需求

1.将FreeRtos(嵌入式实时操作系统)移植到STM32中。
2.在该系统中实现任务的创建、挂起、恢复和删除。
3.将板子上写的传感器模块的数据获取,移植到FreeRtos(嵌入式实时操作系统)环境下。
在这里插入图片描述

一、FreeRtos简介

裸机执行流程:前后台系统
在这里插入图片描述
操作系统执行流程:
在这里插入图片描述
加入操作系统的作用:用户想要实现多个任务并行的效果,但是单片机只有一个核心,同时只能处理一件事,通过加入操作系统,可以实现任务快速的切换,给人一种多个任务同时在执行的错觉。
FreeRtos的概念:
在这里插入图片描述在这里插入图片描述

二、移植FreeRtos

移植之前,找一个工程mian.c清空,然后移植FreeRTOS。因为加上操作系统之后,编程方式就变了,之前的while(1)就不在使用了。

1.复制代码

从官网下载的FreeRTOS 包含 Demo 例程和内核源码(比较重要,我们就需要提取该目录下的大部分文件)。 FreeRTOS 文件夹下的 Source 文件夹里面包含的是 FreeRTOS 内核的源代码,
我们移植 FreeRTOS 的时候就需要这部分源代码; FreeRTOS 文件夹下的 Demo 文件夹里
面包含了 FreeRTOS 官方为各个单片机移植好的工程代码, FreeRTOS 为了推广自己,会
给各种半导体厂商的评估板写好完整的工程程序,这些程序就放在 Demo 这个目录下,这
部分 Demo 非常有参考价值。我们把 FreeRTOS 到 STM32 的时候,FreeRTOSConfig.h 这
个头文件就是从这里拷贝过来的。
在这里插入图片描述
将源码直接复制到想要移植的工程文件下,改名为FreeRtos:
在这里插入图片描述
这里我们再重点分析下 FreeRTOS/ Source 文件夹下的文件,具体见图 13-6。“include”
文件夹和“portable”文件夹包含的是 FreeRTOS 的通用的头文件和 C 文件,这两部分的文
件试用于各种编译器和 include 处理器, 是通用的。需要移植的头文件和 C 文件放在编号
portblle 这个文件夹。
在这里插入图片描述
我们打开 portable 这个文件夹,可以看到里面很多与编译器相关的文件夹, 在不同的
编译器中使用不同的支持文件。文件夹“Keil”就是我们就是我们使用的编译器,当打开 “Keil”
文件夹的时候,你会看到一句话“See-also-the-RVDS-directory.txt”,其实 “Keil” 里面的内容
跟 RVDS 里面的内容一样,所以我们只需要 RVDS 文件夹里面的内容即可。而 MemMang
文件夹下存放的是跟内存管理相关的,我们的重点是RVDS文件夹
在这里插入图片描述
打开 RVDS 文件夹, 下面包含了各种处理器相关的文件夹,从文件夹的名字我们就非
常熟悉了,有 M0、 M3、 M4 等各种系列, FreeRTOS 是一个软件,单片机是一个硬件,
FreeRTOS 要想运行在一个单片机上面,它们就

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值