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语言编程常常用到的软件和工 ...
随机推荐
- 微信小程序全局变量的设置、使用、修改
1. 全局变量的设置 在miniprogram > app.js 文件中设置,globalData对象就是存储全局变量的. App({ globalData: { hasLogin: false ...
- java枚举的应用
最近的项目中,看前辈们用到的枚举比较多,由于自己之前对枚举这种类型不是很了解,遂花费心机看了下,整理记录下. 1.枚举常量 系统中定义的状态字段,用的比较多: public enum orderTyp ...
- SpringBoot起飞系列-配置文件(三)
一.SpringBoot中的配置文件 说起到配置文件,大家并不陌生,早在springboot之前,我们用ssh,ssm框架开发的时候整天都要接触配置文件,那时候的配置文件基本上都是.propertie ...
- 配置Redis(远程访问及授权设置)
配置Redis(远程访问及授权设置) 1.将redis.conf里面的bind 127.0.0.1这一行注释掉,添加自己服务器的IP 2. 还有,找到protected-mode这行, 将改为yes. ...
- redis-分片(转)
转:https://www.cnblogs.com/houziwty/p/5167075.html 分片(partitioning)就是将你的数据拆分到多个 Redis 实例的过程,这样每个实例将只包 ...
- 转 Oracle中关于处理小数点位数的几个函数,取小数位数,Oracle查询函数
关于处理小数点位数的几个oracle函数() 1. 取四舍五入的几位小数 select round(1.2345, 3) from dual; 结果:1.235 2. 保留两位小数,只舍 select ...
- Disruptor—核心概念及体验
本文基于最新的3.4.2的版本文档进行翻译,翻译自: https://github.com/LMAX-Exchange/disruptor/wiki/Introduction https://gith ...
- 一文读懂Java GC原理和调优
概述 本文介绍GC基础原理和理论,GC调优方法思路和方法,基于Hotspot jdk1.8,学习之后将了解如何对生产系统出现的GC问题进行排查解决 阅读时长约30分钟,内容主要如下: GC基础原理,涉 ...
- 快学Scala 第六课 (类getter和setter)
类getter和setter 如果字段定义是private[this], 字段是私有的,但不生成getter和setter方法. class Counter { private[this] var v ...
- Windows和Mac系统下安装Docker
在windows和mac系统中使用Docker Desktop安装Docker对系统的要求是很高的. 对于 Windows 系统来说,安装 Docker for Windows 需要符合以下条件: 必 ...