020 - FreeRTOS学习路线总结
零.为什么写?
在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学习路线总结的更多相关文章
- Android学习路线总结,绝对干货
title: Android学习路线总结,绝对干货 tags: Android学习路线,Android学习资料,怎么学习android grammar_cjkRuby: true --- 一.前言 不 ...
- 从啥也不会到可以胜任最基本的JavaWeb工作,推荐给新人的学习路线(二)
在上一节中,主要阐述了JavaScript方面的学习路线.先列举一下我朋友的经历,他去过培训机构,说是4个月后月薪过万,虽然他现在还未达到这个指标. 培训机构一般的套路是这样:先教JavaSE,什么都 ...
- 《C#微信开发系列(Top)-微信开发完整学习路线》
年前就答应要将微信开发的学习路线整理给到大家,但是因为年后回来这段时间学校还有公司那边有很多事情需要兼顾,所以没能及时更新文章.今天特地花时间整理了下,话不多说,上图,希望对大家的学习有所帮助哈. 如 ...
- 一位资深程序员大牛给予Java初学者的学习路线建议
java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈 ...
- 分享篇——我的Java学习路线
虽然之前我是开发出身,但是我学习的语言是Objective-c,这个语言使用起来范围比较窄,对于自动化学习来说也是无用武之地,所以我自己学习了Java,对于一个有开发经验的人来说学习一门新语言相对来说 ...
- Java Web 学习路线
实际上,如果时间安排合理的话,大概需要六个月左右,有些基础好,自学能力强的朋友,甚至在四个月左右就开始找工作了.大三的时候,我萌生了放弃本专业的念头,断断续续学 Java Web 累计一年半左右,总算 ...
- Java Web学习路线
2016-08-22的早上,本是一个很平静的早上,坐在去往公司的公交车上想到了很多之前上学时的点点滴滴,回想起来还真的是耐人寻味啊,当初青春的懵懂,当初的冲动,当初的做事不考虑后果! 也正是这耐人寻味 ...
- 适合PHP学习者的学习路线 10个PHP优化技巧
适合PHP学习者的学习路线: (1) 熟悉HTML/CSS/JS..网页基本元素,完成阶段可自行制作简单的网页,对元素属性相对熟悉 (2) 理解动态语言的概念和运做机制,熟悉基本的PHP语法 (3) ...
- linux 下C语言学习路线
UNIX/Linux下C语言的学习路线.一.工具篇“公欲善其事,必先利其器”.编程是一门实践性很强的工作,在你以后的学习或工作中,你将常常会与以下工具打交道, 下面列出学习C语言编程常常用到的软件和工 ...
随机推荐
- Django中自定义模型管理器(Manager)及方法
1.自定义管理器(Manager) 在语句Book.objects.all()中,objects是一个特殊的属性,通过它来查询数据库,它就是模型的一个Manager.每个Django模型至少有一个ma ...
- 报错:ORA-25150:不允许对区参数执行ALERING
alter table 表名 MOVE storage ( next 128 ) ; -- Add/modify columns alter table 表名 add 列名 var ...
- 【面试题】Java集合部分面试题
集合与数组? 数组:(可以存储基本数据类型)是用来存储对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用 集合:(只能存储对象,对象类型可以不一样)集合的长度可变,可在多数情况下使用 ...
- 【面试题】Java基础部分面试题
Java基础面试题 Equals与==的区别 使用==比较原生类型如:boolean,,int,char等等, 使用equals()比较对象. 1. ==是判断两个变量或类型是不是指向同一个内存空 ...
- 品Spring:SpringBoot发起bean定义注册的“二次攻坚战”
上一篇文章整体非常轻松,因为在容器启动前,只注册了一个bean定义,就是SpringBoot的主类. OK,今天接着从容器的启动入手,找出剩余所有的bean定义的注册过程. 具体细节肯定会颇为复杂,同 ...
- vue-router路由元信息及keep-alive组件级缓存
路由元信息?(黑人问号脸???)是不是这么官方的解释很多人都会一脸懵?那么我们说meta,是不是很多人恍然大悟,因为在项目中用到或者看到过呢? 是的,路由元信息就是我们定义路由时配置的meta字段:那 ...
- SSH Config 管理多主机
使用 一般我们使用ssh连接远程主机的时候,使用命令是: ssh root@ip ssh –i [identity-file] -p [port] user@hostname 但是如果ip地址过多,其 ...
- webservice传输文件的三种方式
1, 在接口中不定义,直接以附件形式传输. 2, 在接口参数中定义byte[]类型,文件在xml中以base64编码传输. 3, 在接口参数中定义DataHandler类型,然后使用MTOM形式来进行 ...
- Linux 文件或文件夹重命名命令mv
使用命令mv既可以重命名,又可以移动文件或文件夹.例如: 1.将目录A重命名为B mv A B 2.将/a目录移动到/b下,并重命名为c mv /a /b/c 3.将一个名为abc的文件重命名为123 ...
- 使用.NET Core中创建Windows服务(一) - 使用官方推荐方式
原文:Creating Windows Services In .NET Core – Part 1 – The "Microsoft" Way 作者:Dotnet Core Tu ...