首页 论坛 嵌入式软件专区 操作系统 如何学习RTOS:《RT-Thread 内核实现与应用开发实战—基于STM32》

发帖 回复

[原创] 如何学习RTOS:《RT-Thread 内核实现与应用开发实战—基于STM32》
2406 查看
10 回复
 楼主 | 发布于 2018-11-22 | 只看楼主
分享到:
[野火®]《RT-Thread 内核实现与应用开发实战—基于STM32》—已写完,即日起,将在此进行连载,需要学习的同学可以多多关注。

另,完整的电子版已经放在野火公众号后台,回复RTTRT-Thread即可获得完整的电子版。


纸质版也已经在野火的淘宝官方旗舰店上线,有需要的朋友可以自行购买,好书不贵,现在仅售38元!淘宝链接

https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-10310241583.21.646f6b46Ot9nax&id=578022367772

为什么要学习RTOS
当我们进入嵌入式这个领域的时候,往往首先接触的都是单片机编程,单片机编程又首选51单片机来入门。这里面说的单片机编程通常都是指裸机编程,即不加入任何RTOS(Real Time Operation System 实时操作系统)的程序。常用的RTOS有国外的FreeRTOS、μC/OS、RTX和国内的RT-Thread、Huawei LiteOS和AliOS-Things等,其中尤以国外开源且免费的FreeRTOS的市场占有率最高。如今国产的RT-Thread经过10来年的发展,声势迅猛,在国产RTOS中占据鳌头。
在裸机系统中,所有的程序基本都是自己写的,所有的操作都是在一个无限的大循环里面实现。现实生活中的很多中小型的电子产品用的都是裸机系统,而且也能够满足需求。但是为什么还要学习RTOS编程,偏偏还要整个操作系统进来。一是项目需要,随着产品要实现的功能越来越多,单纯的裸机系统已经不能够完美地解决问题,反而会使编程变得更加复杂,如果想降低编程的难度,我们可以考虑引入RTOS实现多线程管理,这是使用RTOS的最大优势。二是学习的需要,必须学习更高级的东西,实现更好的职业规划,为将来走向人生巅峰迎娶白富美做准备,而不是一味的在裸机编程上面死磕。作为一个合格的嵌入式软件工程师,学习是永远不能停歇的事,时刻都得为将来准备。书到用时方恨少,我希望机会来临时你不要有这种感觉。
为了帮大家理清RTOS编程的套路,我们会在“裸机系统与多线程系统”章节简单的分析下这两种编程方式的区别,这个区别我称它为学习RTOS的命门,只要打通这个任督二脉,以后的RTOS学习可以说是易如反掌。在讲解这两种编程方法的区别的时候,我们主要讲方法论,不会涉及到具体的代码编程,主要还是通过伪代码来讲解。
如何学习RTOS
裸机编程和RTOS编程的风格有些不一样,而且有很多人说RTOS的学习很难,这就导致学习的人一听到RTOS编程就在心理面忌惮三分,结果就是出师未捷身先死。
那么到底如何学习一个RTOS?最简单的就是在别人移植好的系统之上,看看RTOS里面的API使用说明,然后调用这些API实现自己想要的功能即可。完全,不用关心底层的移植,这是最简单快速的入门方法。这种方法各有利弊,如果是做产品,好处是可以快速的实现功能,将产品推向市场,赢得先机,弊端是当程序出现问题的时候,因对这个RTOS不够了解,会导致调试困难,焦头烂额,一筹莫展。如果是学习,那么只会简单的调用API,那是不可取的,我们应该深入的学习其中一款RTOS。
目前市场上现有的RTOS,它们的内核实现方式都差不多,我们只需要深入学习其中一款就行。万变不离其宗,以后换到其它型号的RTOS,使用起来,那自然是得心应手。那如何深入的学习一款RTOS?这里有一个最有效也是最难的方法,就是阅读RTOS的源码,深究内核和每个组件的实现方式,这个过程枯燥且痛苦。但为了能够学到RTOS的精华,你不入地狱谁入地狱?
市面上虽然有一些讲解相关RTOS源码的书,如果你基础不够,且先前没有使用过该款RTOS,那么源码看起来还是会非常枯燥,且并不能从全局掌握整个RTOS的构成和实现。
现在,我们采用一种全新的方法来教大家学习一款RTOS,即不是单纯的讲里面的API如何使用,也不是单纯的拿里面的源码一句句来讲解。而是,从0开始,层层叠加,不断地完善,教大家怎么把一个RTOS从0到1写出来,让你在每一个阶段都能享受到成功的喜悦。在这个RTOS实现的过程中,只需要你具备C语言的基础就行,然后就是跟着野火这个教程笃定前行,最后定有所成。
选择什么RTOS
这个用来教学的RTOS,我们不会完全自己写一个,不会再重复的造轮子,而是选取目前国内最红火的国产RT-Thread为蓝本,将其抽丝剥茧,层层叠加,从0到1写出来。在实现的过程中,数据类型、变量名、函数名称、文件类型等都完全按照RT-Thread里面的写法,不会自己再重新命名。这样学完我们这个课程之后,就可以无缝地过度到RT-Thread的使用。


(1 ) (0 )
回复 举报

回复于 2018-11-22 沙发

感谢分享,有需要机械臂,机器人,AGV小车的请联系我哦,均可定制。微信:Y816151
(0 )
评论 (0) 举报

回复于 2018-11-22 2#

支持下,买本书看看。
(0 )
评论 (0) 举报

回复于 2018-11-22 3#

支持火哥;
(0 )
评论 (0) 举报

回复于 2018-11-23 4#

谢谢分享!
(0 )
评论 (0) 举报

回复于 2018-11-28 5#

感谢分享,开源共享!
(0 )
评论 (0) 举报

回复于 2018-11-29 6#

支持下,谢谢分享!
(0 )
评论 (0) 举报

回复于 2018-11-29 7#

谢谢分享支持一下
(0 )
评论 (0) 举报

回复于 2018-11-30 8#

感谢分享!
(0 )
评论 (0) 举报

回复于 2019-04-20 9#

感谢分享;
(0 )
评论 (0) 举报

回复于 2019-04-27 10#

谢谢分享!!
(0 )
评论 (0) 举报
  • 发表回复
    0/3000





    举报

    请选择举报类别

    • 广告垃圾
    • 违规内容
    • 恶意灌水
    • 重复发帖

    全部板块

    返回顶部