野火《RT-Thread内核实现与应用开发实战指南》PDF版免费下载

资料大小: 5.17 MB

所需积分: 0

下载次数:

用户评论: 0条评论,查看

上传日期: 2019-01-11

上 传 者: sundaysleep他上传的所有资料

资料介绍

标签:Thread(22)rtos(164)内核(201)

  本书是首本系统讲解 RT-Thread 的中文书籍,共分为两个部分,第一部分为“从 0 到 1 教你写 RT-Thread 内核?#20445;?#21363;重点讲解 RT-Thread 的原理实现,从 0 开始,?#27426;系?#20195;,教你怎么把 RTT 的内核写出来,让你彻底学会线程是如何定义?#27169;?#31995;统是如何调度?#27169;?#21253;括底层的汇编代码讲解),多优先级是如何实现的等等操作系统最深层次的知识。当你拿到本书开始学习的时候你?#27426;?#20250;惊讶,原来 RTOS 的学习并没有那么复杂,反而是那么的有趣,原来自己?#37096;?#20197;写 OS,成就感立马爆棚。

  当第一部?#31181;?#35782;你彻底掌握好之后,再切换到其它 RTOS 的学习,那简?#26412;?#26159;易如反掌,纵观现在市面上流?#26800;?#38598;中 RTOS,它们的内核的实现基本都差?#27426;啵?#21482;需要深入研?#31185;?#20013;一种即可,没有必要每一种 RTOS 都深入的研究源码,如果你时间?#24066;恚?#30475;看那也无所谓。第二部分是“RT-Thread 内核应用开发?#20445;?#37325;点讲解 RT-Thread 的移植,内核每个组件的应用,比起第一部分,这部分内容掌?#25484;?#26469;比?#20808;?#26131;。

  全书内容循序渐进,?#27426;系?#20195;,前一章都是后一章的基础,必须从头开始阅读,不能进行跳跃式的阅读。在学习的时候务必做到两点:一是不能一味地看书,要把代码和书本结合起来学习,一边看书,一边调?#28304;?#30721;。看书倒是很简单,那如何调?#28304;?#30721;?即单步执行每一条程序,看看程序的执行流程和执?#26800;?#25928;果与自己大脑所想是不是一样?#27426;?#26159;在每学完一章之后,必须将配套的例程重写一遍(切记不要复制,哪怕是一个分号,但可以抄),做到举一反三,确保真正理解。在自己写的时候肯定会错漏百出,这个时候要珍惜这些错误,好好调试,这是你提高编程能力的最好的机会。记住,程序不是写出来?#27169;?#32780;是调试出来的。

  本书第一部分以 RT-Thread Nano 3.0.3 官方源码为蓝本,抽丝剥茧,?#27426;系?#20195;,教你怎么从 0 开?#21450;?RT-Thread 内核写出来。书中涉及到的数据类型,变量名称、函数名称,文件名称,文件存放的位置都完全按照 RT-Thread 官方的方式来实现,当你学完这本书之后可以无缝地切换到原版的 RT-Thread 的使用。要注意的是,在实现的过程中,某些函数?#19968;?#21435;掉一些形参和一些冗余的代码,只保留核心的功能,但这并不会影响我们学习。

  本书第二部?#31181;?#35201;讲 RT-Thread 的移植和内核组件的使用,不会再去深入讲解源码,着重讲应用,如果对第一部分不感兴趣的朋友,可以跳过第一部分,直接进入第二部分的学习,两者之间没有必然的联系。

  为什幺要学习 RTOS

  当我们进入嵌入式这个领域的时候,往往首先接触的都是单片机编程,单片机编程又首选 51 单片机来入门。这里面说的单片机编程通常都是指裸机编程,即不加入任何 RTOS (Real Time OperaTIon System 实时操作系统)的程序。常用的 RTOS 有国外的 FreeRTOS、 μC/OS、RTX 和国内的 RT-Thread、Huawei LiteOSAliOS-Things 等,其中尤以国外开源且免费的 FreeRTOS 的市场?#21152;新首?#39640;。如今国产的 RT-Thread 经过 10 来年的发展,声势迅勐,在国产 RTOS 中占据鳌头。

  在裸机系统中,所?#26800;?#31243;序基本都是自己写?#27169;?#25152;?#26800;?#25805;作都是在一个无限的大循环里面实现。现实生活中的很多中小型的电子产品用的都是裸机系统,而且?#26448;?#22815;满足需求。但是为什幺还要学习 RTOS 编程,偏偏还要整个操作系统进来。一是项目需要,随着产品要实现的功能越来越多,单纯的裸机系统已经不能够完美地解决问题,反而会使编程变得更加复杂,如果想降低编程的难度,我们可以考?#19988;?#20837; RTOS 实现多线程管理,这是使用 RTOS 的最大优势。二是学习的需要,必须学习更高级的东西,实现更好的职业规划,为将来走向人生巅峰迎娶白富美做准备,而不是一味的在裸机编程上面死磕。作为一个合格的嵌入式软件工程师,学习是永远不能停止的事,时刻都在为将来准备。书到用时方恨少,我希望机会来临时你不要有这?#25351;?#35273;。

  为了帮大家理清 RTOS 编程的套路,下面我们简单的分析下这两种编程方式的区别,这个区别?#39029;?#23427;为学习 RTOS 的命门,只要打通这个?#21619;?#20108;脉,以后的 RTOS 学习可以说是易如反掌。在讲解这两种编程方法的区别的时候,我们主要讲方法论,不会涉及到具体的代码编程,主要还是通过伪代码来讲解。

  如何学习 RTOS

  裸机编程和 RTOS 编程的风格有些不一样,而且有很多人说 RTOS 的学习很难,这就导致学习的人一听到 RTOS 编程就在心理面忌惮三分,结果就是出师未捷身先死。

  那么到底如何学习一个 RTOS?最简单的就是在别人移植好?#21335;?#32479;之上,看看 RTOS 里面的 API 使用说明,然后调用这些 API 实现自己想要的功能即可。完全,不用关心底层的移植,这是最简单快速的入门方法。这种方法各有利弊,如果是做产品,?#20040;?#26159;可以快速的实现功能,将产品推向市场,赢得先机,弊端是当程序出现问题的时候,因对这个 RTOS 不够了解,会导致调试困难,焦头烂额,一筹莫展。如果是学习,那么只会简单的调用 API,那是不可取?#27169;?#25105;们应该深入的学习其中一款 RTOS。

  目前市场上现?#26800;?RTOS,它们的内核实现方式都差?#27426;啵?#25105;们只需要深入学习其中一款就?#23567;?#19975;变不离其宗,以后换到其它型号的 RTOS,使用起来,那自然是得心应手。那如何深入的学习一款 RTOS?这里有一个最有效也是最难的方法,就是阅读 RTOS 的源码,深究内核和每个组件的实现方式,这个过程枯燥且?#32431;唷?#20294;为了能够学到 RTOS 的精华,你不入地狱谁入地狱?

用户评论

查看全部 条评论

发表评论请先 , 还没有账号?免费注册

发表评论

用户评论
技术交流、我要发言! 发表评论可获取积分! 请遵守相关规定。
上传电子资料
pk10一天稳赚5000图片