FreeRTOS的学习路线

背景

  由于之前接触过一些嵌入式RTOS,如Keil-RTX,uCOS-II,也曾经关注过FreeRTOS,但一直没有机会采用FreeRTOS开发。目前FreeRTOS做为主流RTOS,风声正盛。作为嵌入式开发从业人员,貌似没有使用过FreeRTOS,竞争力指数会直线降低。最近,刚巧项目中使用了STM32f103芯片。由于RTOS的可以更合理、更有效地利用CPU的资源,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性和可靠性。由于对FreeRTOS好奇的倾向性,所以,本次决定采用FreeRTOS开发。

FreeRTOS 简介

  关于FreeRTOS简介,在此不再多说,https://www.freertos.org/网站上有丰富的说明

FreeRTOS 手册熟悉

  161204_Mastering_the_FreeRTOS_Real_Time_Kernel-A_Hands-On_Tutorial_Guide.pdf

  通过该手册可以了解

1)工程创建方法,

2)任务管理:主要描述任务优先级调度,抢占式或非抢占式调度等调度模型

3)堆内存管理:主要分析5种堆内存管理模型,建议选择heap_4

4)队列管理

   5)软时间管理

6)中断管理,主要是推迟中断处理方法

7)资源管理,主要是临界区,资源互斥访问

8)事件组

9) 任务通知,直接任务通信,无需中间对象,比消息队列,事件组和信号量更快,缺点是任务创建时需要分配8字节内存

FreeRTOS 移植

  方法1 :\FreeRTOSv10.0.1\FreeRTOS\Demo\ 中包含了大量的Demo,可供选择。

  方法2 :如果感兴趣,可以先构建符合芯片的工程,然后再导入FreeRTOS,这样更容易理解,方法大致如下

  第一步:添加下图所示文件

  

  第二步:添加 FreeRTOSConfig.h【建议参考方法1中对象工程的FreeRTOSConfig.h】文件,并添加

  #define vPortSVCHandler SVC_Handler
        #define xPortPendSVHandler PendSV_Handler

  #define xPortSysTickHandler SysTick_Handler

小结

  通过一周的了解熟悉,基本掌握FreeRTOS的各种API使用。至于方法方面主要还是看手册, 161204_Mastering_the_FreeRTOS_Real_Time_Kernel-A_Hands-On_Tutorial_Guide.pdf通俗易懂的描述了各种机制的使用。从功能的角度看,与其他RTOS大致相同。RTOS内部实现细节应该各有不同。以后抽时间分析一下,再继续更新。

原文地址:https://www.cnblogs.com/zystechnology/p/9217183.html

时间: 2024-08-30 12:39:37

FreeRTOS的学习路线的相关文章

020 - FreeRTOS学习路线总结

零.为什么写? 在H7-tools预售群里,有位朋友提出如何学习FreeRTOS这类的问题,便由此总结下自己的学习路线.最近又打算接触RTT,和FreeRTOS做个对比. 文章分两步来讲,学习路线和学习资料. 一.学习路线 1.1 学习路线是什么? 从本质上来讲,学习路线是一种思维模型,说简单点,就是一种学习套路. 这种思维不仅仅用于学习FreeRTOS,还可以迁移在其他学习方面,这仅仅是你工具箱中的一把工具而已. 1.2 怎么学? (尽可能的收集学习资料,在第二部分中,我会按顺序给出参考资料,

我的javascript学习路线(保持更新)

javascript是什么? javascript作为一个强大弱类型的脚本语言,自身借助谷歌v8引擎得以闻名全世界,也造就了后来的nodejs的诞生.javascript不叫做javascript,为什么这样说呢?javascript是一门修订了很多版本的语言,它是乱的,终于,在ecma的努力下,经过了大量的努力,终于统一所有javascript版本,ecma给自己定的javascript标准叫做ecmascript. 为什么我要选择学习javascript? javascript在目前看来,是

.Net学习路线以及各阶段学习书籍,博文,视频的分享

这份文档是我受一位Java大神的委托给15级想学.NET的师弟师妹写的.我想,博客园是我成长进步的地方,作为一个具有互联网分zhuang享bi精神的文艺女青年,我应该把它分享到这里来给更多需要想学.NET的童鞋让他们去成长,让他们少走学习上的一些弯路,写的不合理的地方,欢迎大家批评指正,或者有更好的学习方面的建议和学习资料,欢迎大家留言分享. 前言 各位师弟师妹们,大家好,我是信息13-2班的赖英凤.上星期,你们的班助财哥委托我整理C#的学习路线,还有一些学习资料,视频给大家,我想,作为一名即将

android学习路线:如何成长为高级工程师

博主参加了2014 CSDN博客之星评选,帮我投一票吧.点击给我投票前言之所以写这篇文章,是因为最近博客和我的开发群( 215680213 )中,不少小伙伴都让我讲讲android学习路线,所以我决定写一篇博客,来说明这个问题.既然有不少小伙伴来咨询这个问题,说明大家都还是想快速地提高技术,毕竟技术的提高是职业发展中不可或缺的一步,技术好了,才能得到认可,才能升职加薪.一般来说,快速提高技术是不太容易的,但是通过正确的方法加上辛勤的汗水是可以缩短这个过程的.或许有人会问,你凭什么来写这个学习路线

适合初学者的PHP学习路线及建议

为了让各位PHP初学者可以更好地学习PHP,今天就给大家分享一些PHP的学习路线,很适合PHP初学者的学习线路和建议.文章具体如下: 我们要有一个循序渐进的学习过程,这里先把学习PHP的过程做一下概括,这和很多学习PHP的爱好者是不谋而合的: (1) 熟悉HTML/CSS/JS..网页基本元素,完成阶段可自行制作简单的网页,对元素属性相对熟悉 (2) 理解动态语言的概念和运做机制,熟悉基本的PHP语法 (3) 学习如何将PHP与HTML结合起来,完成简单的动态页面 (4) 接触学习MySQL,开

ios学习笔记---ios完整学习路线

ios完整学习路线

·转」linux的学习路线

原文地址:http://blog.csdn.net/u010236550/article/details/19328363 1首先 你要学习嵌入式的的有一个基础:大概如下 1. 计算机.电子.通信.自动化.微电等理工科类大3以上的大学生及已毕业的工程技术人员:(大一大二建议学习基础) 2. 有一定C.C++.Java.C#等编程程序语言基础,喜欢并有志投身于嵌入式研发事业: 3. 希望通过实际工程项目训练,成为一名有深度的嵌入式工程师,来改变现有生活状况,提高生活品质: 有了这些,才是你继续学习

JAVAEE学习路线分享

今天把我的教学经验分享给大家.适合大多数人的学习路线.注:目前作者已经转行做java培训. 首先是培养兴趣.先开始学习HTML知识.也就是做网页,从这里开始比较简单,就是几个标签单词需要记住. 接着开始学习CSS,这里开始不要学习非常多,只要能作出简单类似hao123之类的静态网页就已经足够.HTML+CSS总共加起来不超过10天. 学完以上,就可以作出简单网页了,开始有兴趣了,哈哈,没想到我也是互联网的一份子了. 从这里开始可以学习javascript语言,这个语言和java类似,但是没有ja

C语言-知识点及学习路线

最近进行了为期两周的C语言培训,把几年前学过的C语言又重新学习了一遍,然后根据学习的内容和过程,总结了一下学习路线.这是基本的C语言学习路线,相当于编程语言类的基础,再根据自己究竟是要做单片机开发,还是linux驱动开发,还是WEB.移动的软件开发,还是其他的开发,然后去学习对应的知识,并根据以后要从事的领域去加强对应的C语言相关方面. C语言学习路线(根据我自己的学习过程绘制的): Ps:转载请说明出处.