一、学习RTOS目的
两个目的:
一是项目需要,随着产品要实现的功能越来越多,单纯的裸机系统已经不能够完美地解决问题,反而会使编程变得更加复杂,如果想降低编程的难度,我们可以考虑引入RTOS实现多线程管理,这是使用RTOS的最大优势。
二是学习的需要,必须学习更高级的东西,实现更好的职业规划,为将来走向人生巅峰迎娶白富美做准备,而不是一味的在裸机编程上面死磕。作为一个合格的嵌入式软件工程师,学习是永远不能停歇的事,时刻都得为将来准备。(摘自:RT-Thread内核实现与应用开发实战指南)
二、如何学习RTOS
如何学习一个RTOS?最简单的就是在别人移植好的系统之上,看看RTOS里面的API使用说明,然后调用这些API实现自己想要的功能即可。完全,不用关心底层的移植,这是最简单快速的入门方法。这种方法各有利弊,如果是做产品,好处是可以快速的实现功能,将产品推向市场,赢得先机,弊端是当程序出现问题的时候,因对这个RTOS不够了解,会导致调试困难,焦头烂额,一筹莫展。如果是学习,那么只会简单的调用API,那是不可取的,我们应该深入的学习其中一款RTOS。
目前市场上现有的RTOS,它们的内核实现方式都差不多,我们只需要深入学习其中一款就行。万变不离其宗,以后换到其它型号的RTOS,使用起来,那自然是得心应手。那如何深入的学习一款RTOS?这里有一个最有效也是最难的方法,就是阅读RTOS的源码,深究内核和每个组件的实现方式,这个过程枯燥且痛苦。
市面上虽然有一些讲解相关RTOS源码的书,如果你基础不够,且先前没有使用过该款RTOS,那么源码看起来还是会非常枯燥,且并不能从全局掌握整个RTOS的构成和实现。
现在,我们采用一种全新的方法来教大家学习一款RTOS,即不是单纯的讲里面的API如何使用,也不是单纯的拿里面的源码一句句来讲解。而是,从0开始,层层叠加,不断地完善,教大家怎么把一个RTOS从0到1写出来,让你在每一个阶段都能享受到成功的喜悦。在这个RTOS实现的过程中,