嵌入式软件设计

嵌入式软件设计
作 者: 康一梅
出版社: 机械工业出版社
丛编项: 嵌入式系统系列教材
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 嵌入式计系统/单片机
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  康一梅,博士,目前是北京航空航天大学软件学院嵌入式软件专业主任。1994年她于中国科学院自动化研究所获得工学博士学位,曾任北京首创前锋信息科技有限公司技术总监、北京成康科技发展有限公司总经理、亚讯数码电子有限公司研发部经理、北京金益康新技术术有限公司技术总监兼研发中心总经理等职,负责设计开发过二十多个产品,还参与了多个大中型软件项目的研发,拥有两项软件知识产权。

内容简介

《嵌入式软件设计》重点讨论复杂嵌入式系统的软件分析设计问题。首先本书从系统的角度出发,介绍在系统分析设计中的系统思想,以及嵌入式系统的软硬件协同设计方法。然后,针对嵌入式软件开发,按照软件开发的过程介绍嵌入式软件需求分析、系统设计和详细设计。书中全面介绍了嵌入式软件设计可能涉及的各种问题及解决方法,如BSP、可靠性、资源管理、界面等的设计以及开发环境选择等。本书力图结合嵌入式系统的特点,将软件工程领域成熟的分析设计方法引入到嵌入式软件的分析设计中。由于嵌入式软件设计领域现有的研究成果较少,因而本书希望向读者传授一种能够全面考虑问题,尽可能利用各个学科已有的设计思想解决问题的思维方式。《嵌入式软件设计》可作为与嵌入式软件开发相关的硕士研究生与高年级本科生的教材。同时,本书还可作为有志于从事嵌入式软件开发、维护的专业技术人员的参考书。

图书目录

第1章嵌入式系统基础知识1

1.1嵌入式系统概述1

1.1.1嵌入式系统的组成2

1.1.2嵌入式系统的特点4

1.1.3嵌入式系统的分类5

1.1.4学习嵌入式系统应具备哪些

基础知识6

1.2嵌入式系统硬件基础知识6

1.2.1输入/输出端口6

1.2.2时钟振荡电路和时钟单元7

1.2.3存储器7

1.2.4中断控制器8

1.2.5嵌入式微处理器8

1.2.6总线12

1.3嵌入式系统软件基础知识15

1.3.1嵌入式软件的分类15

1.3.2嵌入式操作系统17

1.3.3嵌入式软件的开发22

第2章系统基础知识25

2.1系统思想25

2.1.1系统的定义及组成26

2.1.2系统分析中重要的系统概念27

2.1.3系统工程思想27

2.2系统生存周期28

2.2.1系统分析30

2.2.2系统设计31

2.2.3系统评价32

2.3工程系统建模33

第3章嵌入式系统软硬件协同设计34

3.1软硬件分开设计34

3.1.1先硬件后软件设计34

3.1.2先软件后硬件设计36

3.2软硬件协同设计36

3.2.1软硬件协同设计模型37

3.2.2协同设计的系统分析与

系统设计38

3.2.3软硬件任务划分与软硬件

接口40

3.2.4仿真验证45

3.2.5集成调试与综合实现46

3.3开发平台选择47

3.4嵌入式系统设计应注意的问题49

第4章嵌入式系统软件需求分析51

4.1需求概述51

4.2UML简介52

4.2.1常见的模型元素52

4.2.2图53

4.2.3视图58

4.3嵌入式系统问题定义58

4.4嵌入式系统需求定义61

4.4.1需求定义的概念61

4.4.2与客户协商的需求定义方法:

联合应用设计62

4.4.3嵌入式系统需求定义常见的

问题63

4.4.4面向对象需求定义64

4.5需求分析72

4.5.1需求分析技术发展72

4.5.2结构化需求分析:数据流分析73

4.5.3面向对象需求分析78

4.6需求规格说明书87

第5章嵌入式软件架构设计89

5.1确定系统设计目标90

5.2将系统分解为子系统93

5.2.1系统分解93

5.2.2软件体系结构95

5.3并发104

5.4开发环境和已有组件的选择105

5.4.1开发环境选择105

5.4.2组件设计106

5.5子系统到软硬件的映射109

5.6持续数据管理基础设施的选择111

5.7完整性控制策略的选择111

5.8全局控制流机制的选择111

5.9边界条件的处理112

5.10人机界面设计112

5.11应对预期变化的设计114

5.12架构设计中应注意的问题114

第6章实时软件分析设计方法

DARTS115

6.1实时软件分析设计概述116

6.1.1实时系统的性能要求116

6.1.2实时系统的设计要素117

6.1.3嵌入式实时软件系统的

生存周期118

6.2需求分析与说明119

6.2.1人员进出房间系统实例介绍119

6.2.2人员进出房间系统实例需求

分析与说明119

6.3DARTS系统设计120

6.3.1数据流分析121

6.3.2划分任务121

6.3.3定义任务接口123

6.3.4人员进出房间系统实例

系统设计124

6.4任务设计129

6.4.1任务设计概念129

6.4.2人员进出房间系统实例

任务设计129

6.5模块构筑134

6.5.1模块设计134

6.5.2人员进出房间系统实例

模块设计134

6.6任务与系统集成135

6.7CODARTS实时软件分析设计方法136

第7章板级支持包技术138

7.1BSP技术概述138

7.1.1什么是BSP138

7.1.2BSP的作用与功能139

7.1.3常见的BSP实现方式和

开发方法140

7.1.4主流嵌入式操作系统及其

BSP技术141

7.2嵌入式系统的硬件初始化技术144

7.2.1嵌入式系统的硬件初始化144

7.2.2BSP与PC机中BIOS硬件

初始化的比较145

7.3嵌入式系统的引导技术146

7.3.1Boot Loader简介146

7.3.2嵌入式Linux的Boot Loader

设计思想147

7.4嵌入式系统的设备驱动程序149

7.4.1驱动程序的重要性149

7.4.2机制与策略的问题150

7.4.3设备驱动的分层管理150

7.4.4设备类型和设备号151

7.4.5模块化编程152

7.4.6设备文件接口152

7.4.7字符驱动程序编写实例153

第8章嵌入式软件图形用户界面设计158

8.1人机交互界面设计概述158

8.1.1人机交互技术158

8.1.2用户界面设计原则159

8.1.3界面设计活动160

8.1.4界面评价160

8.2图形用户界面概述160

8.2.1图形用户界面的基本特征161

8.2.2图形用户界面的结构模型161

8.2.3图形用户界面实现162

8.3图形用户界面与嵌入式系统163

8.3.1嵌入式图形用户界面的特点163

8.3.2嵌入式系统的图形界面

开发方案163

8.3.3嵌入式GUI的体系结构层次164

8.3.4嵌入式GUI主要技术分析166

8.3.5几种嵌入式GUI简介169

8.4MiniGUI的安装和使用170

8.4.1MiniGUI的组成170

8.4.2MiniGUI使用环境的建立171

8.4.3MiniGUI程序的编写172

第9章嵌入式数据库175

9.1概述175

9.1.1嵌入式数据库的特点175

9.1.2嵌入式数据库的体系结构176

9.1.3嵌入式数据库系统发展现状178

9.2嵌入式数据库的分类178

9.2.1基于内存方式178

9.2.2基于文件方式179

9.2.3基于网络的嵌入式数据库179

9.3嵌入式数据库系统设计技术指标180

9.3.1嵌入式数据库设计的

数据模型180

9.3.2实时性182

9.3.3可靠性183

9.3.4并发控制183

9.3.5数据索引183

9.3.6查询优化184

9.3.7备份与恢复185

9.4嵌入式数据库管理系统设计185

9.5嵌入式数据库应用设计187

9.6几种嵌入式数据库189

9.6.1非开源嵌入式数据库189

9.6.2开源嵌入式数据库Berkeley DB

与SQLite189

9.6.3SQLite开发环境移植与

应用示例191

第10章设计模式195

10.1设计模式概述196

10.1.1什么是设计模式196

10.1.2设计模式的基本要素197

10.1.3如何描述设计模式198

10.2设计模式举例198

10.3中断设计模式200

10.4设计模式的应用204

第11章嵌入式软件可靠性设计207

11.1概述207

11.2可靠性涉及的性能指标208

11.3嵌入式系统可靠性设计方法209

11.3.1嵌入式系统硬件可靠性设计210

11.3.2常用元器件的可靠性分析211

11.3.3提高嵌入式系统可靠性的

具体措施212

11.4嵌入式软件的可靠性设计213

11.4.1软件可靠性与硬件可靠性的

区别214

11.4.2影响软件可靠性的因素214

11.4.3提高软件可靠性的方法

和技术215

11.4.4软件产品可靠性的评估217

11.4.5嵌入式软件的可靠性设计219

11.5可靠性的管理221

第12章资源管理222

12.1功耗222

12.1.1功耗简介222

12.1.2基于硬件的低功耗设计224

12.1.3基于软件的低功耗设计226

12.1.4嵌入式低功耗的软硬件

协同设计230

12.2电源230

12.2.1电源基础知识230

12.2.2电源管理技术231

12.2.3常用节电方法234

12.3内存管理235

12.3.1概述235

12.3.2基本内存管理方案238

12.3.3常见实时系统内存管理模式239

12.3.4内存泄露245

12.3.5内存保护246

第13章嵌入式系统与分布式应用247

13.1什么是嵌入式分布式系统247

13.1.1分布式系统的定义247

13.1.2分布式系统与单处理器系统的

比较248

13.1.3分布式嵌入式系统相关技术248

13.2分布式嵌入式系统体系结构249

13.2.1企业网络系统的层次结构249

13.2.2移动网络的层次结构251

13.2.3分布式嵌入式系统结构251

13.3嵌入式系统的广域网络接入261

13.3.1嵌入式系统的局域网与

网络互连261

13.3.2嵌入式系统的无线局域网263

13.3.3嵌入式系统的广域网接入266

13.3.4无线传感器网络技术270

第14章嵌入式软件开发环境277

14.1嵌入式软件开发环境概述277

14.2嵌入式调试方法概述279

14.2.1驻留监控软件279

14.2.2基于JTAG方式的调试代理280

14.2.3指令集模拟器280

14.2.4在线仿真器281

14.2.5ARM中基于JTAG的

调试系统281

14.3Linux嵌入式系统开发环境282

14.3.1嵌入式Linux概述282

14.3.2嵌入式Linux开发环境架构283

14.3.3Linux开发工具286

14.3.4实例:建立嵌入式Linux-Arm

开发环境292

14.3.5实例:实现“hello world”

程序293

14.4Windows CE应用开发环境295

14.4.1Windows CE内核定制工具

Platform Builder296

14.4.2Visual Studio .NET简介297

14.4.3Embedded Visual C++简介297

第15章嵌入式无线应用开发平台

BREW301

15.1应用开发平台301

15.2BREW平台概述302

15.3BREW体系架构302

15.3.1BREW编程环境303

15.3.2BREW应用运行环境303

15.3.3BREW的分发环境304

15.4BREW开发环境305

15.4.1搭建BREW开发环境305

15.4.2BREW SDK306

15.4.3常用的BREW配套工具309

15.5BREW开发指导原则312

15.6基于BREW平台开发实例314

15.6.1开发BREW程序前的准备314

15.6.2在PC上开发一个BREW

应用程序315

15.6.3将BREW应用移植到手机上319

参考文献322