您好,欢迎来到聚文网。 登录 免费注册
实时嵌入式系统

实时嵌入式系统

  • 字数: 834千字
  • 装帧: 平装
  • 出版社: 清华大学出版社
  • 作者: (美)樊晓聪 著;林赐 译
  • 出版日期: 2017-01-01
  • 商品条码: 9787302455592
  • 版次: 1
  • 开本: 16开
  • 页数: 530
  • 出版年份: 2017
定价:¥79.8 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
内容简介
本书融入了实时系统、嵌入式系统和软件工程的新概念和新主题,为开发实时嵌入式应用软件描绘了一幅完整的图像。在本书中,你不仅可以全面地理解与微处理器、中断和系统引导过程相关的概念,领略到实时建模和调度的重要性,而且也将学习建模文档、建模分析、设计模式和标准的一致性等软件工程实践。
本书分为四个部分,帮助你学习嵌入式系统的关键概念;第Ⅰ部分介绍了开发过程,包括微处理器和中断章节——这是软件工程师的基本主题;第Ⅱ部分专门介绍了实时系统的建模技术;第Ⅲ部分讨论了软件体系架构的设计;第Ⅳ部分检验了软件的实现,并重点关注POSIX兼容的操作系统。
作者简介
樊晓聪,是宾夕法尼亚州立大学计算机和软件工程学院的副教授。他的研究领域包括软件工程中的多智能体系统和形式化方法,以及优选的决策支持系统。他是一些智能代理系统(如RCAST和SMMall)的主要设计师。
目录
第Ⅰ部分引言
第1章嵌入式系统和实时系统导论1
1.1嵌入式系统3
1.2实时系统4
1.2.1软实时系统4
1.2.2硬实时系统5
1.2.3实时系统的范围6
1.3案例分析:雷达系统7
1.4习题10
第2章跨平台开发11
2.1跨平台开发流程11
2.2硬件架构12
2.3软件开发13
2.3.1软件设计13
2.3.2系统编程语言C/C13
2.3.3测试硬件无关模块18
2.4生成目标映像18
2.4.1交叉开发工具链18
2.4.2可执行和链接格式21
2.4.3内存映射26
2.4.4案例研究:制作QNX映像28
2.5转移可执行文件对象到目标平台29
2.6在目标系统上的集成测试30
2.7系统生产30
2.8习题31
第3章微处理器入门33
3.1微处理器简介33
3.1.1常用的微处理器33
3.1.2微处理器特性35
3.2PIC18F8720微型芯片38
3.2.1存储器组织39
3.2.2字写模式41
3.2.3字节选择模式43
3.2.4字节写模式45
3.3Intel808646
3.3.1存储器组织47
3.3.2独立的I/O地址空间48
3.3.3存储器地址空间50
3.3.4等待状态52
3.4IntelPentium53
3.4.1总线状态转换56
3.4.2存储器组织60
3.5ARM926EJ-S61
3.6习题64
第4章中断67
4.1中断导论67
4.2外部中断67
4.2.1非向量中断68
4.2.2PIC和向量中断69
4.3软件中断74
4.4内部中断75
4.5ISR的设计模式75
4.5.1一般的ISR设计模式75
4.5.2具有服务器任务的ISR76
4.5.3ISR链77
4.5.4ISR级联78
4.5.5与ISR进行数据共享79
4.6中断响应时间81
4.7案例分析:x8682
4.7.1硬件中断84
4.7.2综合汇总85
4.8案例研究:ARM处理器86
4.8.1硬件中断87
4.8.2综合汇总90
4.9习题91
第5章嵌入式系统的引导过程93
5.1系统引导加载程序93
5.2系统的引导过程94
5.2.1加载嵌入式软件94
5.2.2准备执行嵌入式软件95
5.3案例研究:AT91SAM9G45引导过程96
5.4加载嵌入在操作系统映像中的ELF目标文件96
5.5案例研究:基于QNX嵌入式系统的引导过程97
5.6习题99
第Ⅱ部分实时系统建模
第6章UML结构建模基础103
6.1统一建模语言103
6.2类图和类建模104
6.2.1类106
6.2.2实例层次的关系109
6.2.3依赖关系121
6.2.4泛化关系125
6.3类建模原则128
6.3.1模型演化128
6.3.2子类化130
6.3.3最小信息冗余131
6.3.4重构134
6.4对象图137
6.5包图138
6.5.1包引入138
6.5.2包合并139
6.6习题141
第7章UML体系架构建模143
7.1体系架构的抽象层次143
7.2UML结构图144
7.3建模组件148
7.4子系统建模150
7.5完整系统建模153
7.6部署图154
7.7习题155
第8章UML行为建模的基础157
8.1用例图和用例建模157
8.1.1用例图157
8.1.2用例描述160
8.1.3用例层次161
8.2序列图162
8.3活动图167
8.4习题171
第9章UML中有状态行为的建模173
9.1状态机图的基础173
9.1.1状态173
9.1.2转移和事件174
9.1.3伪状态175
9.1.4用状态机对网络协议建模176
9.2复合状态178
9.2.1进入点、退出点与历史179
9.2.2并发180
9.3状态行为的继承181
9.4有状态对象时序图183
9.5举例:雷达系统有状态行为的建模184
9.5.1收发机建模185
9.5.2链路驱动器的建模186
9.5.3指挥消息器的建模188
9.6习题189
第10章实时UML:通用资源建模191
10.1实时UML配置文件191
10.2资源建模194
10.2.1UML核心资源模型195
10.2.2动作和动作执行196
10.2.3受保护资源的UML构造型197
10.2.4资源使用199
10.2.5资源-客户图200
10.3时间建模201
10.3.1时间观念201
10.3.2定时装置202
10.3.3时间建模构造型204
10.4并发建模206
10.5习题209
第11章实时UML:模型分析211
11.1时序约束的启发211
11.2RT-UML配置文件可调度性建模子配置文件214
11.2.1RT-UML配置文件中的可调度性分析的元概念214
11.2.2可调度性构造型219
11.2.3使用可调度性子配置文件221
11.3RT-UML配置文件性能建模子配置文件223
11.3.1RT-UML配置文件中的性能分析的元概念223
11.3.2性能构造型225
11.3.3使用性能子配置文件227
11.4习题231
第Ⅲ部分实时系统设计
第12章实时嵌入式系统软件架构237
12.1实时任务237
12.1.1最坏情况下的任务执行时间238
12.1.2任务规范239
12.1.3任务时序图239
12.1.4最坏情况下的响应时间241
12.1.5任务实现242
12.2轮询架构242
12.2.1案例研究:体温计242
12.2.2通用轮询架构250
12.2.3最坏情况下的事件响应时间253
12.3带有中断的轮询254
12.3.1案例研究:西蒙游戏254
12.3.2通用架构257
12.3.3最坏情况下的事件响应时间259
12.4基于队列的架构260
12.4.1非抢占式FIFO队列261
12.4.2非抢占式优先队列262
12.5习题264
第13章POSIX和RTOS267
13.1POSIX简介267
13.1.1POSIX进程和线程268
13.1.2POSIX实时扩展269
13.1.3POSIX的兼容性和一致性275
13.2任务的静态结构和动态行为276
13.2.1一般任务结构276
13.2.2任务状态转移278
13.3实时操作系统279
13.4POSIX实时调度策略282
13.4.1FIFO调度策略282
13.4.2轮询调度策略283
13.4.3偶发服务器调度策略284
13.5其他实时调度策略286
13.5.1最小松弛度优先286
13.5.2最早截止期限优先287
13.5.3截止期限单调分配的调度288
13.5.4速率单调分配的调度288
13.6习题289
第14章多任务291
14.1多任务简介291
14.2多任务设计292
14.2.1任务标识292
14.2.2任务转换295
14.2.3任务参数估计299
14.3多任务资源共享301
14.3.1资源死锁301
14.3.2优先级反转302
14.4解决资源死锁304
14.4.1死锁预防304
14.4.2死锁检测304
14.4.3死锁避免305
14.5解决优先级反转307
14.5.1优先级继承协议307
14.5.2最高锁协议309
14.5.3优先级天花板协议310
14.6习题312
第15章实时调度:时钟驱动方式315
15.1周期性调度简介315
15.1.1若干假设315
15.1.2可抢占的非周期作业316
15.2点对点时钟驱动调度317
15.2.1点对点时钟驱动调度程序318
15.2.2执行开销319
15.3基于帧的调度320
15.3.1帧尺寸的约束320
15.3.2健壮的基于帧的调度323
15.3.3基于帧的调度程序324
15.4调度非周期作业325
15.5拆分任务328
15.6习题330
第16章实时调度:速率单调方式331
16.1优先级分配331
16.2RMA原则332
16.3速率单调分析335
16.4完成时间测试336
16.5周期变换339
16.6通用的可调度性分析342
16.6.1具有阻塞时间项的任务342
16.6.2具有更早截止时间的任务346
16.6.3示例347
16.6.4优先级相同的任务350
16.7习题351
第17章实时调度:偶发服务器程序355
17.1偶发任务355
17.2偶发服务器程序356
17.2.1偶发服务器程序的相关
任务设计356
17.2.2验收测试358
17.3朴素偶发服务器程序360
17.3.1任务设计361
17.3.2验收测试361
17.4固定优先级的偶发服务器程序362
17.5具有动态优先级的偶发服务器程序368
17.6习题371
第IV部分实现模式
第18章资源共享375
18.1共享变量375
18.2共享的内存378
18.2.1映射文件对象380
18.2.2共享的内存对象382
18.3信号量384
18.3.1任务同步385
18.3.2流控制387
18.3.3资源保护387
18.3.4信号量相关的POSIX函数389
18.3.5信号量示例390
18.4互斥体397
18.4.1互斥体使用模式398
18.4.2互斥体相关的POSIX函数400
18.4.3使用互斥体的例子401
18.5条件变量404
18.5.1栅栏同步405
18.5.2生产者-消费者模式410
18.5.3读-写锁414
18.6习题418
第19章任务间通信:消息队列421
19.1消息队列简介421
19.2消息队列静态结构和动态转移421
19.3消息队列使用模式424
19.3.1单向通信424
19.3.2确认-单向通信425
19.3.3双向通信426
19.3.4客户端-服务器之间的通信427
19.4与消息队列相关的POSIX函数430
19.5使用消息队列的例子432
19.6习题437
第20章任务间通信:管道439
20.1管道简介439
20.2管道的静态结构和动态状态转移439
20.3管道使用模式442
20.4与管道相关的POSIX函数442
20.4.1多个作者和读者444
20.4.2在管道上POSIX的选择操作445
20.5使用管道的示例446
20.6习题451
第21章任务间通信:发送信号453
21.1POSIX信号简介453
21.2信号处理455
21.3信号向量表和处理程序455
21.4POSIX信号函数456
21.5POSIX信号的QNX实现457
21.5.1示例:在不同进程中处理信号457
21.5.2示例:控制任务服务器460
21.6来自ISR的自旋锁和中断事件463
21.6.1POSIX自旋锁463
21.6.2QNX事件结构464
21.6.3QNX应用程序的中断处理465
21.6.4示例:来自ISR的中断事件466
21.7QNX脉冲473
21.7.1QNX同步消息传递473
21.7.2QNX异步脉冲发生机制476
21.7.3分层消息传递模式478
21.7.4消息接收者的优先级继承478
21.7.5示例:简单的计时管理器479
21.8习题488
第22章软件计时器管理489
22.1硬件计时器和软件计时器489
22.2软件计时管理器491
22.2.1链接到专用计时器ISR492
22.2.2使用OS计时器492
22.3计时轮493
22.3.1精度误差495
22.3.2宽范围计时器497
22.4分层计时轮497
22.4.1计时轮参考上下文和计时器管理498
22.4.2实现500
22.5习题502
第23章QNX资源管理505
23.1QNX资源管理简介505
23.2资源管理器体系架构506
23.2.1控制结构507
23.2.2关键数据结构508
23.3示例1:作为资源管理器的计算器508
23.3.1上层结构509
23.3.2处理来自客户端的消息510
23.3.3注册到进程管理器517
23.3.4使用资源管理器518
23.4示例2:设备驱动程序520
23.4.1操纵杆520
23.4.2LED指示灯521
23.4.3基于轮询的输入事件检测523
23.5习题526
参考文献527
缩略语531

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网