注:此条博客仅用于回忆之前所学的移植操作系统的过程,以及消除好久不学习的罪恶感
一. 什么是FreeRTOS
首先理解操作系统的概念,就像鸿蒙操作系统应用于华为,IOS系统用于苹果一样,操作系统是一种基于CPU的可操作的软件系统。
而FreeRTOS就是一种在X86,Xilinx,Altera等硬件平台的系统,而我们在stm32上面玩,就像是在安卓手机上面玩安卓一样。
作为一个轻量级的系统,FreeRTOS提供的功能包括任务管理、时间管理、信号量、消息队列、内存管理、功能记录等。
二. 为什么要学习FreeRTOS
- 我学FreeRTOS只是想给最后的32一个终结,32的操作系统学完差不多就可以结束了,后面就做做东西熟练一下就可以了,接下来可能会更新FPGA(虽然学了很久没明白但我要死磕到底)和一些linux(学硬件必备)的博客了
- 再来说为什么学这个,因为它开源且简单,一个又简单又开源的东西,只要你找到资源,那肯定是要学习一下的,而且你学单片机只会裸机开发,那你学个P呀,而且学完这个RTOS的操作系统,其他也一通百通了
重点来了
基于stm32的FreeRTOS移植全过程
链接: https://pan.baidu.com/s/1To7ii6Zvgdio7acQSC69kw
提取码: zmvg
以上是FreeRTOS以及移植好的标本资源源码包
当然,你也可以从官网上找http://www.freertos.org/
里面包含Demo例程和内核源码
source文件夹里面就是我们需要移植的freertos内核源码
// 修改stm32f10x_it.c
SysTick中断服务函数,FreeRTOS所有跟时间相关的事情都在里面处理
创建任务
/* FreeRTOS头文件 */
#include "FreeRTOS.h"
#include "task.h"
/* 开发板硬件bsp头文件 */
#include "bsp_led.h"