开发工具:
文件大小: 46mb
下载次数: 0
上传时间: 2019-02-23
详细说明:嵌入式实时操作系统架构基础,深入浅出,快速掌握操作系统原理。freertos,rtx,ucos原理大同小异。目录
第1章绪论
1.1嵌入式系统的发展历史………………
1.2嵌入式实时操作系统的特点
1.3基于嵌入式实时操作系统的程序设计技术…
第2章开发环境
dtah*.a
2.1嵌入式实时操作系统的选择……
2.2CPU芯片的选择
667
2.3嵌入式实时操作系统的移植……
2.4开发调试环境的建立
2.5工程模板的使用……
单·;··中·..甲·.:.a"·a···:·::::.a:a
2.5.1scf文件组………………
2.5.2×.h文件组
2.5.3
afm
文件组
12
2.5.4 target文件组
··:“:“.:.·
着画+画
2.5.5pC/OS-I文件组……
15
2.5.6用户文件组
第3章任务划分
.1任务的特性
…………………16
3.1.1任务的动态性
4·面·■自自由辈P血和申
·翻■善+普dd画品
3.1.2任务的独立性…
16
3.1.3任务的并发性
17
3.2任务划分的目标
「鲁曾十曾曹·曾曾曾·m!"P曹曾里量看里鲁
3.3任务划分的方法…
鲁·普肀;曹童套1着着1面看
………18
3.3.1设备依赖性任务的划分
E交」
日录
3.2.键任务的划分
3.3.3紧迫任务的划分………………
3.3,4数据处理任务的划分
功能聚合任务的划分
23
3.3.6触发条件相同任务的划分
3.3.7运行周期相同任务的划分
………………24
3.3.8顺序操作任务的划分…………
24
3.3.9任务划分小结
…………25
3.4任务的可调度性分析
晶.
25
第4章任务设计…
…∷27
4.1任务函数的结构…
27
4.1.1单次执行的任务……
………………………27
4.1.2周期性执行的仼务…………………………
4.1.3件触发执行的仟务
32
仟务优先級安排
35
4.2.1任务的优先级资源
35
4.2.2任务优先级安排原则…
………136
4.3任务的数据结构设计
1.3.1与操作系统有关的数据结构
·,鲁由4·..看翻日翻鲁血鲁甲事“·着卜唱等电.圈是
37
4.3.2与操作系统无关的数据结构
.“.“+““‘·““·…‘·:“·:···
4.4任务设计中的问题
■.■『香
8
4.1公共函数的调用
1.4.2与其他任务的协调…
………………39
4.4.3共享资源的访问
………………………………………39
1.4.4与其他任务进行数据通信
4.5任务的代码设计过程
:·“··“·····
4.5.1系统总体任务关联图
0
任务的关联分析
4.5.3红务的程序流程图……………
42
4.5.4编写任务的程序代码………
43
第5章中断服务程序设计
5.1中断优先级安排……………………………………………………………………5
5.1.1中断的优先级资源…
自·,甲申·日普:严
…………………………45
5,1.2中断优先级安排凉
目录
.2不受操作系统眢理的中断服务程序………………
罾;曹香■晋甲!噩
晋■晋m「「,P
5.3受操作系统管理的中断服务程序∴
52
5,3.1中断服务程序的结构
画画看
………………52
入
5.3.2中断句硒
…53
3配置和初始化中断源
看t自B
,···十「··
53
5..设计与关联任务的通信手段
5编写中断服务程序的功能函数
55
第6章行为同步
63
5.1用于行为同步的通信手段
63
统
.」二-值信号量
63
6,1,2计数信号量
64
6.1.3事件标志组…
曹·日
65
6.1.4消息邮箱
65
6.1.5消息队列
·d!·:+F·!":F!,t
………………………66|术
6,1,6小结
66
6.2行为同步……………
……………………66
6.2.1ISR与任务之间的同步………
66
6.2.2两个任务之间单向同步…
68
6.2.3两个任务之间的双问同步
中··鲁■申P,·身·「··中·中非
74
6.2.4两个以上任务同步一个任务……
77
6.2.5多个任务相王屙步……
83
第7章资源同步
9
7,1关中断
90
7.1.1保障数据可靠性…………
91
.1.2保障数据完整性…………
·量
-.::"-
…………99
1.3关中断小结……………………………………
106
.2关调度
……………………………………………………………………………107
.使用互斥信号量…
备画·善
111
4使用计数信号量…
115
第8章数据通信……
。非电电。看自鲁。
國看D酬
看d中由即“即看甲
117
8.1全局变量…
1
117
.2内存数据块
画画dd面■画画
S.3消息邮箱…
…121
8.4消息队列…………………………………………………………………………128
彐录
第9章时问管理
■·■翻■4曾画;音十平「F备d“■面面由
134
控制仟务的执行周期
134
9.2控制任务的运行节奏·
...+++““4“h“++“
135
9.3状态查询
……135
94终止周期性任务
曾·····和會普·4·P··面曲日量r·1f1t■d1酯D自自十日日自垂mtm■
136
时第10章采样任务设计
0.1使用延时函数控制采样周期…
…141
10.2使用定时中断控制采样周期
……………………144
10.3使用节抬钩子函数进行采样
l44
10.4使用快速定时中断进行采样
中面:
,…………∷…148
10.5被动采样
l48
第1章串行通信任务设计…
152
11.]通信协议设计…
152
11.2风险评估
曹·曹4鲁们
………………153
l1.3帧缓冲区…
··丰··上·b
∴………54
11.4数据发送
…………………∴……155
11.5数据接收
8
第12章键盘任务设计…
4‘日L上L十“4F·■riL
……………162
12.1可靠地获取键盘操作信息
…162
12.2基于菜单操作的监控流程…………………………………………………164
12.2.1系统功能分析和菜单结构设计……
……………164
12.2.2监控程序设计
64
12.3与显示任务的通信
166
第13章显示任务设计
………………167
13.1GI简介……
南『【.翻自"nb■,群
…………∷…167
13.2画面设计………
中··tt
……,…*167
13.3与其他任务的接……
……-169
13.4短消息设计…
h··-······““··+.···+····
l70
13.5显示任务设计
L?0
第14章嵌入式操作系统的剪裁
即曹
…………………………176
14.|服务功能的剪裁…
聊血。
着·中厂·,鲁∮和「,P·“,甲F·中··,自非。加由量自自翟
176
4.1.1狂务管理功能剪裁
了6
14.1.2通信服务功能的剪裁…
177
l4.1.3其他功能的剪裁
179
自录
14.2数据结构的剪裁……
179}
14.2.1与任务有关的数据结构
·中鲁······普
:··甲····自··,鲁曾
l79
1A.2.2与通信功能有关的数据结构…
180
1423其他参数…………………180式
第15章设计实例…
血当 tnnnnnattttntnndb量
18
15.1实例简介
…181
15.2硬件系统
182
]5.3仟务分枥……
…183
15.3.1实例任务划分
………………………………………183
15.3.2实例任务设计………
184
15.4程序设计详解…
垂“
………………………18
15.4.1键盘任务
186
15,4.2显示任务…………
··.:..··+···::··:.:.·:.:::··
……∴…193
15.4.3使用延时函数的采样任务
198
15.4.4使用快速中断的釆样任务………………………………………………200
15.4.5使用时钟节拍钩子函数采样任务…
………………………201
15.4.6使用定时中断的釆样任务…
音■曾曾,雪1■1曾曹千管■1·音曾曹晋會音PP
203
L5.4.7串行目发送任务
……∴:205
参考文戴
207
第章
绪论
在信息技术高度发达的今天,计算机进人了一个充满机遇和挑战的时代一后PC时代
臃着工业界对智能控制要求的不断提高,形式多样的数字化智能产品应运生,并且成为替代
通用PC机进行信息处理的主要部件。在这些部件中都嵌人了微处理器,也就成为所谓献人
式系统。嵌入式系统已经融入到人们的生活之中,而且无处不在,远远超过了通用PC机的应
用领域。嵌入式系统带来的工业年广值已超过一万亿美元,在IT产业中占有很大的比重。
嵌入式系统是一个包括硬件和软件的完整的计算机系统。根据实际应用的需要,设计者
可以选择和剪裁所用的计算机系统的硬件和软件。在一些简单的应用中,可以选择相对简单
的微处理器,不使用操作系统,所有软件由设计者自已完成;但是在一些复杂的系统中,所选的
微处理器比较复杂对时间的要求也较为苛刻,在这种情况下,为了更好地管理微处理器,设计
者可以选择实时操作系统。操作系统可以屏敲微处理器的底层硬件、使系统设计者可以在不
太了解硬件的情况下,用操作系统提供的接[函数来编写自己的应用程序;这样可以缩短开发
的周期,更方便地使用微处理器,以提高微处理器的通用件。例如,我们的个人计算机在进行
文件复制时,我们并不知道磁盘具体是怎么工作的,但我们能完成所想要的数据移动。当然,
这种通用性是以牺牲微处理器硬件的特异性为代价的。使用操作系统,我们就不能直接对硬
件进行控制,这样势必使硬件的性能受到限制。
木章主要介绍嵌入式系统的发展历史、嵌人式实时操作系统的特点和基f嵌人式实时操
作系统的程序设计技术等内容。
.1嵌入式系统的发展历史
在介绍嵌入式系统的发展历史以前,先介绍一下什么是嵌入式系统。尽管嵌入式系统的
定义在计算机领域不尽相同,但大家普遍能够认可的定义是:“嵌人式系统是以应用为中心,
以计算机技术为基础,并且软硬件河剪裁适用于应用系统对功能、可靠性、成本、体积和功耗
有严格要求的专用计算机系统。”嵌入式系统所用的计算机是嵌入到被控对象中的专用微处理
器,这与通用计·算杋不同,它必须适合被嵌入对象的工作环境,如以上提到的:休积、功耗、成
夲和稳定性等参数;嵌入式系统可以根据实际需要剪裁所用的软硬件。接下来分别从硬件和
第1章绪论
软件两个方面说明嵌入式系统的发展过程
嵌入式系统在硬件方面的发展过程指的是:嵌入式系统中内部计算机的发展过程。内部
计算机也就是指专用计算机这种专用计算机在嵌入系统中应用的历史几平与计算机自身的
历史一样长。在通信领域,20世纪60年代晚期,讦算机被用于电子电话交换机,称为“存储程
序控制”系统,“计算机”这词那时并不普遍。有储程序指内存装有程序和例程信息存储掉制
!逻料,而不是将其固化在硬件中,这在当时确实是突破性的。有了存偕程序和执行程序的能
力杋器就有了灵魂、就从普通的模拟、数字电路分离开来,有了“智力”。
197Ⅰ年, Intel公司推出了微处理器4004,这是人类历史上的第一颗集成在芯片上的计算
!机,对于讣算机的发展具有划时代的意义。至此,以微处理器为核心的徽型计算机以其体积
小,价格低,可靠性高等特点,迅速走出机房。
基于高速数值计算能力的微型计算机表现出的智能化水平,引起了控制专业人士的兴趣,
他们要求将微型机嵌人到一个对象体系中实现对象体系的智能化控制从而导致了嵌入式计
算机系统的诞生。从此,计算机进入了通用计算机系统与嵌人式计算机系统两大分支并行发
卡|展时代。通用计算机不必兼顾嵌入式系统的要求集中精力发展通用的硬件和软件,主要用于
提升计算机对海量数据的处理能力。通用微处理器从286、386、186到奔腾机,一些商业操作
系统已经把通用计算机的性能发展到了尽善尽美的程度。在通用计算机上进行开发的工程师
不需要非常了解计算机的硬件结构和工作原理,他们通过操作系统提供的接口函数即可完成
开发设计。而嵌入式计算机系统走的是一条完全不同的道路,是单芯片计算机发展道路。最
早从專嵌入式开发的人是一些电子工程师,他们成功地把专用计算机芯片作为通用部件嵌入
到传统电子产品中,从而使得这些产品具有了智能。所用的专用微处理器也经历了从4位机、
8位机、16位机、32位机的发展过程
嵌入式系统在软件方面的发展过程主要有如下几个阶段:在早期应用阶段,嵌人式系统
都是由设计者直接设计外围电路和编写应用程序,这要求设计者有高超的电路设计技术和编
程技巧;随着嵌入式微处理器的不断发展和性能的完善结构复杂的微处理器已经不能不使用
操作系统来管理了。因此,些适用于嵌人式系统的实时操作系统就应运而生
商品化操作系统在上世纪7年代后期才出现,许多是用汇编语言写成的,并其只能用于
特定的徵处理器,当微处理器被淘汰时,它的操作系统除非被新微处理器重写;否则就要被淘
汰。此时,迫切需要一种在多种徵处理器上通用的语言,这种语言既要有高级语言的能力,又
能够处理底层数据,甚至能够嵌入汇编程序。C语言正是这种语言。它的诞生伴随着UNIX
系统的发展过程,是一个为了写操作系统而产生的语言。其代码的效率和可移植性都无可挑
剔功能强大,深不可测。用¢语言编写的操作系统的效率、稳定性、可移植性都提髙了很多,
尤其是它的可移植性,为微处理器被淘汰时保护软件投资带束了一线生机。
用C语言写成的操作系统今天越来越普遍,软件也就变得可重复使用。一般说来,可重
复使用的软件已经占主导地位,而且越做越好。很多商品化的操作系统是在20世纪80年代
第1章绪论郾
出现的,发展到今天,在设计嵌人式系统时设计者有很多商业化的实时操作系统可以选择,如
VxWorks, PS()S、 Neculeus OSE、eCos和 Windows ce等;还有一些免费的实时操作系统,如
嵌入式L.inux和/(S-Ⅱl等。
嵌入式系统的发展日新月异,据专家预计,驰着嵌入式产品竞争的进一步加剧,产品更新式
周期将越来越短。残酷的竞争对产品的更新时间要求十分苛刻,且要求技术十分前沿。为了实
满足要求商家就将一块块复杂的P核堆积起米实现复杂的功能。眼下最好的例子就是手
机越是高档的手机,其内部SoC( Sestem on Che)所具有的技术含量越高。在如此复杂的系作
统中,操作系统是必不可少的;否则,软件将变得不可思议的复杂
嵌入式系統结合了微处理器或微控制器的系统电路与其专属的软件,可使产品达到最高等
的性价比
1.2嵌入式实时操作系统的特点
操作系统是计算机中最重要的软件,它有很多基本的功能,如:为应用敦什提供舞台;为
计十算机硬件和程序开发提供软件接口;最贴近硬件的软件实现。从程序员的角度看,操作系统
可以简化编程环境,并且帮助程序员有效地使用硬件。操作系统直接作用在硬件之上,它为那
些需要使用系统资源的其他软件提供接口。这就意味着操作系统可以应用于很多领域,允许3
不同的应用程序通过使用它提供的资源管理策略来共享硬件资源。资源抽象和资源共享是操
作系统的两个关键方面。资源抽象对设计者隐藏了硬件操作的细节,通过提供一些抽象模型
使应用程序员在不十分了解硬件的情况下使用计算机硬件资源。资源抽象不仅简化了设计者
对硬件资源的控制使用也限制了对硬件使用的灵活性,通用性的实现是靠牺牲特异性作为代
价的。资源共亨有两种方法:空分复用和时分复用。操作系统的设计是建立在儿种不同的基
木策略之上,以提供不同种类的服务,如批处理、分时系统、个人计算、专用计算、网络计算、过
程控制和实时计算等。本章描述的内容就是过程控制和实时计算的策略。过程控制专用于单
个应用程序,设计者叮以决定将资源管理交给应用程序来实现,这就是所谓的基于裸机编程。
实时计算基于…灬种思想,即用户要求系统在规定的时间内对多个请求做出应答,并完成预定
1作
实时操作系统的特点如下
(1)执行时间的可确定性是实时操作系统的基本特性。使用实时操作系统的目的,就是
要提高计算机的执行效率。根据实时性的不同,还可以将其分为软实时性系统和硬实时性系
统。前者要求计算机在尽可能短的时间内实现用户的请求;后者则要求用户的任务必须在限
定的时间內完成,一口时序和逻辑出现偏差将产生灾难性的后果。所有的实时系统都有自己
的实时参数,这是实时操作系统的一个重要的性能指标。组成一个系统的各个任务对于实时
性的要求是不相同的,每个任务之间可能还会有一些复杂的关联和同步关系,这为保诳系统的
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.