零.为什么写?

在H7-tools预售群里,有位朋友提出如何学习FreeRTOS这类的问题,便由此总结下自己的学习路线。最近又打算接触RTT,和FreeRTOS做个对比。

文章分两步来讲,学习路线学习资料

一.学习路线

1.1 学习路线是什么?

从本质上来讲,学习路线是一种思维模型,说简单点,就是一种学习套路。

这种思维不仅仅用于学习FreeRTOS,还可以迁移在其他学习方面,这仅仅是你工具箱中的一把工具而已。

1.2 怎么学?

(尽可能的收集学习资料,在第二部分中,我会按顺序给出参考资料,以及理由)

先画框架:从三个方面完成这个框架

有什么用(Why?) :

先问问自己,为什么要学FreeRTOS,相比于前后台,FreeRTOS解决了什么问题?

是什么(What?) :

给FreeRTOS下一个定义,FreeRTOS是硬实时操作系统的一种。

FreeRTOS都提供了哪些功能,这些功能或者特点,解决了哪些痛点?

怎么用(How?)

实践,可以帮你加深理解和记忆。

1.3 How Good?

结合自己的经验,学习过程是分三部分的,第一部分,就是浏览资料,跑跑例程,看看效果是什么样子,完成整个框架的搭建(配合思维导图食用,效果更加)。

第二部分,深入细节,了解各部分的代码是如何实现的。

第三部分,总结,复盘,比如:

1.一个操作系统是由哪几方面组成的?

2.操作系统是怎样实现上下文切换的?

3.信号量是怎么实现的?

4.任务切换是怎么实现的?

5.各个内存管理的优缺点是什么?

6.什么时候应该使用前后台,什么时候应该跑系统?

7.跑系统,一定优于前后台?

……

二.学习资料

2.1收集资料

软件

小册子:对于纯小白来讲,收集小册子,了解一些名字是什么意思,在学习FreeRTOS的过程中,就参考了邵贝贝老师的嵌入式操作系统μC/OS-II第二章,实时系统概念

FreeRTOS官网:入门文档,内核说明文档,API函数说明,源码;

开源教程:armfly/野火/原子 为各自开发板编写的FreeRTOS教程;

硬件

内核手册:一般都有官方提供

芯片手册:

开发板手册:

2.2 决定看什么资料

先看科普贴/小册子,了解基本名词概念,不至于一头雾水

有第三方教程,就看第三方教程(个人推荐armfly和原子一起看)

没第三方教程,就撸官方教程(私认为,是最直接有效的…当然……)

2.3 多久看完

给自己一个deadline,才有动力看完,也不那么容易放弃。

(如有不对的地方,欢迎指正和讨论)

020 - FreeRTOS学习路线总结的更多相关文章

  1. Android学习路线总结,绝对干货

    title: Android学习路线总结,绝对干货 tags: Android学习路线,Android学习资料,怎么学习android grammar_cjkRuby: true --- 一.前言 不 ...

  2. 从啥也不会到可以胜任最基本的JavaWeb工作,推荐给新人的学习路线(二)

    在上一节中,主要阐述了JavaScript方面的学习路线.先列举一下我朋友的经历,他去过培训机构,说是4个月后月薪过万,虽然他现在还未达到这个指标. 培训机构一般的套路是这样:先教JavaSE,什么都 ...

  3. 《C#微信开发系列(Top)-微信开发完整学习路线》

    年前就答应要将微信开发的学习路线整理给到大家,但是因为年后回来这段时间学校还有公司那边有很多事情需要兼顾,所以没能及时更新文章.今天特地花时间整理了下,话不多说,上图,希望对大家的学习有所帮助哈. 如 ...

  4. 一位资深程序员大牛给予Java初学者的学习路线建议

    java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈 ...

  5. 分享篇——我的Java学习路线

    虽然之前我是开发出身,但是我学习的语言是Objective-c,这个语言使用起来范围比较窄,对于自动化学习来说也是无用武之地,所以我自己学习了Java,对于一个有开发经验的人来说学习一门新语言相对来说 ...

  6. Java Web 学习路线

    实际上,如果时间安排合理的话,大概需要六个月左右,有些基础好,自学能力强的朋友,甚至在四个月左右就开始找工作了.大三的时候,我萌生了放弃本专业的念头,断断续续学 Java Web 累计一年半左右,总算 ...

  7. Java Web学习路线

    2016-08-22的早上,本是一个很平静的早上,坐在去往公司的公交车上想到了很多之前上学时的点点滴滴,回想起来还真的是耐人寻味啊,当初青春的懵懂,当初的冲动,当初的做事不考虑后果! 也正是这耐人寻味 ...

  8. 适合PHP学习者的学习路线 10个PHP优化技巧

    适合PHP学习者的学习路线: (1) 熟悉HTML/CSS/JS..网页基本元素,完成阶段可自行制作简单的网页,对元素属性相对熟悉 (2) 理解动态语言的概念和运做机制,熟悉基本的PHP语法 (3) ...

  9. linux 下C语言学习路线

    UNIX/Linux下C语言的学习路线.一.工具篇“公欲善其事,必先利其器”.编程是一门实践性很强的工作,在你以后的学习或工作中,你将常常会与以下工具打交道, 下面列出学习C语言编程常常用到的软件和工 ...

随机推荐

  1. 复习0824js

    编程思想: 面向过程:凡事亲力亲为,所有事情的过程都要清楚,注重的是过程. 面向对象:提出需求,找到对象,对象解决这个问题,我们要结果,注重的是结果. 面向对象的特性:封装,继承,多态: JS: 是一 ...

  2. Beescms_v4.0 sql注入漏洞分析

    Beescms_v4.0 sql注入漏洞分析 一.漏洞描述 Beescms v4.0由于后台登录验证码设计缺陷以及代码防护缺陷导致存在bypass全局防护的SQL注入. 二.漏洞环境搭建 1.官方下载 ...

  3. WebStorm2017.3.4版本 注册码

    http://idea.singee77.com http://im.js.cn:8888

  4. lcx端口转发

    目录 0x01 正向端口转发 0x02 反向端口转发 0x03 msf正向shell 0x04 msf反向shell 注: 边界机器 win08 192.168.222.175 内网机器 win7 1 ...

  5. alpha测试和beta测试的区别

    alpha测试版,有点相当于内部测试,一般开发人员在场   ,是由用户做测试,但开发人员在场,一般是请用户到开发现场去测试  beta测试版,完全交给用户,由用户做测试,返回测试报告,相当于发行前的一 ...

  6. electron教程(二): http服务器, ws服务器, 进程管理

    我的electron教程系列 electron教程(一): electron的安装和项目的创建 electron教程(二): http服务器, ws服务器, 进程管理 electron教程(三): 使 ...

  7. springboot全局异常拦截源码解读

    在springboot中我们可以通过注解@ControllerAdvice来声明一个异常拦截类,通过@ExceptionHandler获取拦截类抛出来的具体异常类,我们可以通过阅读源码并debug去解 ...

  8. mysql uuid使用

    java中可以使用UUID类来生成uuid,使用mysql也可以使用UUID函数来获取uuid,如 select UUID(); 也可以对查询的结果做一些处理,比如说将"-"替换成 ...

  9. java 加密解密方式

    1.MD5(Message Digest Algorithm)加密算法 是一种单向加密算法,只能加密不能解密,示例 /** * MD5简单加密 * @param content 加密内容 * @ret ...

  10. Python常用端口扫描

    from socket import * import sys host=sys.argv[1] service={':'HTTP', ':'SQL_Server', ':'Remote_Destop ...