FreeRTOS学习笔记之-------stm32到FreeRTOS移植 2019.11.1

为什么要学习FreeRTOS

本人现在尚在大三阶段,在学校实验室这一年多时间里(ps:由于特殊原因,大二才开始真正意义上接触单片机),从刚开始的51单片机然后到32单片机,都曾未接触到实时系统这方面,有幸在19年全国电赛中准备四旋翼期间遇到一个问题,任务量过大,导致系统有些难以支撑这么大的运算量(大体上全是浮点运算)。这时候我就接触到了FreeRTOS并把它列入我大三的学习计划当中。也是为提升自己写代码的水平以及可以在单片机中增加更多的复杂的算法。本人在这个领域是初学者(小白),有什么问题可以随时找我交流,同时也希望将我学习的心得和体会分享给大家,谢谢支持!!!

FreeRTOS是什么

FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要,而且是开源的。是由用户给每个任务分配一个任务优先级,任务调度器就可以根据此优先级来决定下一刻应该运行哪个任务。

1.用户可配置内核功能

2.多平台的支持

3.提供一个高层次的信任代码的完整性

4.目标代码小,简单易用

5.遵循MISRA-C标准的编程规范

6.强大的执行跟踪功能

7.堆栈溢出检测

8.没有限制的任务数量

9.没有限制的任务优先级

10.多个任务可以分配相同的优先权

11.队列,二进制信号量,计数信号灯和递归通信和同步的任务

12.优先级继承

13.免费开源的源代码

观后感

我们在用32的时候,大多数往往使用的是while循环,不管每个函数所执行的时间,在用滴答定时器的前提下,如果在while循环里放的函数太多的话,会打乱时序,尤其是对周期要求比较严格的系统中,更不用谈实时性了,所以FreeRTOS是非常必要的。在看完这一期视频之后,感觉FreeRTOS用起来非常方便,其实初步看就是划分为不同的优先级,类似于外部中断或者定时器中断的优先级。只不过是以函数的形式划分为几个while循环了,保证了实时性。因为是初学,所以在本人第一篇文章里还不能讲一些关于系统的知识,待小菜学完一段时间后再分享给大家。以下为部分程序截图

在这里插入图片描述在这里插入图片描述在这里插入图片描述
如果大家也想学习FreeRTOS,给大家推荐正点原子家的,讲的贼详细,有问题也可以一起交流,哈哈
https://www.bilibili.com/video/av63399773

发布了10 篇原创文章 · 获赞 20 · 访问量 931

猜你喜欢

转载自blog.csdn.net/qq_40544107/article/details/102855384
今日推荐