μC-OS-III源码分析笔记.html.pdfVIP

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多

前言

不少学习μC/OS的读者都会面临一种尴尬,就是想阅读μC/OS-III的源码却因资料过少而转去阅读μC/OS-II的源码。如果拿着μC/OS-II的书来

理解μC/OS-III的源码,多半也会感到淡淡的忧伤,因两者的源码相差实在太大。了更加规范,μC/OS-III不仅对很多变量进行了修改,而且在很

多处理问题的机制上也有很大的突破,比如引入时间片、取消任务数量限制等,如下表所示。实际上,2009年就已推出μC/OS-III,但是直到现在市

面上μC/OS-III的资料依然很少,介绍源码的资料更是少之又少,即使官方手册也只是介绍使用方法而不是介绍原理。笔者在阅读源码的过程中也遇

到了一些问题,要是有足够的资料,很多疑惑就能够比较快地得到解答。所以,笔者在阅读源码时将μC/OS-III的原理、应用等记录下来,希望能

对μC/OS-III或者嵌入式实时操作系统有兴趣的读者提供帮助。

各版本μC/OS的主要区别

笔者认,阅读μC/OS-III源码的主要理由如下。

1)查看优秀的源码可以让自己的编程技巧更完善,μC/OS-III源码的风格比较好,有借鉴意义。

2)了解嵌入式内核的一些“内幕”,如在多个任务中从一个任务向另一个任务发送消息的机制,这让我很好奇!

3)学习μC/OS-III源码的过程也可以作一个学习数据结构的机会。μC/OS-III涉及的数据结构主要是线性表,源码中的很多数据结构都设计得

非常好。

4)更好地利用μC/OS-III做开发工作。μC/OS官方有这么一句话:“熟悉了μC/OS-III这样的实时系统多任务内核后,读者将不会再回到传统的前

后台系统的设计方法中去。”笔者觉得这必须建立在你真正懂μC/OS的基础上。μC/OS有时会出现莫名的问题,这时就会令人感到很头痛。当然,这

主要跟使用者配置μC/OS出错或者错误使用某些系统函数有关,这也是强调要在会用的基础上学习μC/OS的原因。另外,网络协议LwIP、蓝牙协议等

应用也都结合了嵌入式实时操作系统。如果已经学习过嵌入式操作系统,则会对这些知识有更好的掌握。也许在查找问题的过程中,你还能帮μC/OS

找到几个bug,欢迎大家一起来“找茬”。

本书与其他书籍的编排方式不一样:其他书籍是按照官方文件的框架或者组件的方式编排的;本书更强调循序渐进,并结合了笔者在阅读

μC/OS-III源码过程中的一些想法。比如一个结构体变量可能会有多个元素,工具书一般会把它们放在一起讲解,而本书了易于读者更好地理解,

只在某些源码涉及这个元素时才会介绍其作用和含义。如果你有时要将本书当作工具书来查询,则可结合这些相关内容涉及的源码进行查找。

在数据结构方面,笔者会通过很多自己制作的图片来介绍数据结构之间的关系,以便大家更好地理解μC/OS-III中的数据结构。事实上,这是一

种非常好的理解方式。

本书是基于μC/OS的V3.02.00版本的源码编写而成的。另外,了让大家更好地理解μC/OS-III,本书基于市面上流行的STM32野火开发板ISO-V2

编写例程,该开发板使用的芯片是STM32F103ZET6,该芯片是基于Cortex-M3内核的。本书例程使用的IDE是版本的MDK。

本书的读者定位是那些不满足于停留在使用嵌入式系统层面上,而是想深入理解嵌入式系统工作原理的学生、老师或者技术人员。因此,对读者

的要求主要是有使用μC/OS-III的经验,这样会对μC/OS-III有所把握;当然,也可以边阅读本书边使用μC/OS-III,这样看书就不会被动。另外,要对

嵌入式系统的具体工作原理有比较浓厚的兴趣,就像笔者使用μC/OS-III一样,一直想研究清楚它内部的原理,于是浓厚的兴趣帮笔者在阅读μC/OS-

III源码的路上克服了很多困难。据说μC/OS-III代码量有三四万行(网上流传,未经考证),要想真正了解μC/OS-III的运行机制,就更需要兴趣。当

然,对数据结构和Cortex-M3内核比较熟悉的读者也会更好地理解本书。建议读者在阅读本书的时候对上述的数据结构和Cortex-M3内核进行一定的了

解,或者边读本书边学习这两方面的内容。

希望读者先看书中给出的程序,加些自己的注解,如果不懂再看书中讲解源码的文字,这样可以做到独立思考。本书比较适合采用这种阅读方

式,因本书在解析某个函数源码时会将相关知识糅合起来,而不是从头到尾逐行讲解。本书也用了一定的篇幅收纳介绍到的大部分代码,目

文档评论(0)

科幻小说家鞋子其 + 关注
实名认证
服务提供商

喜欢文学创作和诗歌散文小说

1亿VIP精品文档

相关文档