前言

如何学习本书

本书与市面上的任何一本uC/OS-III相关的书都不一样,它们要么是翻译官方的参考手册,要么是讲如何使用uC/OS-III,要么是讲uC/OS-III的源码,而本书是教你怎么从0开始把uC/OS- III写出来,既讲了源码实现,也讲了API如何使用。当你拿到本书开始学习的时候你一定会惊讶,原来RTOS的学习并没有那么复杂,反而是那么的有趣,原来自己也可以写OS,成就感立马爆棚。

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

本书的参考资料

  1. uC/OS-III官方源代码

  2. uCOS-III中文翻译(电子版)

  3. 嵌入式操作系统uCOS-II(第二版)(电子版)

  4. 嵌入式实时操作系统μCOS-II原理及应用任哲编著(电子版)

  5. CM3权威指南CnR2(电子版)

  6. 《I.MX RT库开发实战指南》(电子版)

本书的编写风格

本书以uC/OS-III官方源码为蓝本,抽丝剥茧,不断迭代,教你怎么从0开始把uC/OS-III写出来。书中涉及到的数据类型,变量名称、函数名称,文件名称,文件存放的位置都完全按照uC/OS-III官方的方式来实现,当你学完这本书之后可以无缝地切换到原版的uC/OS- III的使用。要注意的是,在实现的过程中,某些函数我会去掉一些形参和一些冗余的代码,只保留核心的功能,但这并不会影响我们学习。注意:本书并不是教你怎么写一个自己的OS,而是教你ucos-iii是怎么写出来的,着重讲解原理实现,当你看完这本书之后,再学习其它RTOS将会跟玩一样。

本书的配套硬件

本书支持野火i.MX RT开发板全套系列,具体型号见下表,具体图片见 图1-1图1-2图1-3图1-4。 学习的时候如果配套这些硬件平台做实验,学习必会达到事半功倍的效果,可以省去中间硬件不一样时移植遇到的各种问题。

表格:野火STM32开发板型号汇总

型号

内核

引脚

RT1021

Cortex-M7

144

RT1052

Cortex-M7

196

图片找不到 图片找不到 图片找不到 图片找不到

本书的技术论坛

如果在学习过程中遇到问题,可以到野火电子论坛:www.firebbs.cn发帖交流,开源共享,共同进步。

鉴于水平有限,本书难免有纰漏,热心的读者也可把勘误发到论坛好让我们改进做得更好,祝您学习愉快,uC/OS-III的世界,野火与您同行。