嵌入式软件设计(第2版高等院校软件工程学科系列教材)
- ISBN:9787111704577
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:295
- 出版时间:2022-03-01
- 条形码:9787111704577 ; 978-7-111-70457-7
本书特色
北航软件学院嵌入式软件专业主任编写,北京市高等高等教育精品教材,讲解复杂嵌入式系统的软件分析设计。
内容简介
本书在第1版的基础上做了一些调整和修订,系统且完整地介绍了实时软件与复杂嵌入式软件的分析建模方法与软件设计方法,井分别以开源实时操作系统FreeRTOS、嵌人式Linux作为实时软件与复杂嵌人式软件的系统软件平台介绍相关软件开发实例。本书共11章,内容涵盖を人式系统基础知识、嵌人式系统软硬件协同设计、实时软件和复杂嵌入式软件分析设计、嵌人式操作系统与移植、板级支持包与设备驱动、嵌入式数据库、嵌人式软件图形用户界面设计、嵌人式软件可靠性设计、资源管理,井介绍了依入式软件开发环境。 本书主要面向软件工程专业高年级本科生与研究生的嵌入式软件设计课程,对电工电子类专业、通信专业、机械专业开设的嵌入式系统相关课程也有所帮助,还可供嵌入式软件相关技术人员参考使用。
目录
前言
第1章 嵌入式系统的基础知识1
1.1 嵌入式系统概述1
1.1.1 嵌入式系统的组成2
1.1.2 嵌入式系统的特点4
1.1.3 嵌入式系统的分类5
1.1.4 学习嵌入式系统应具备的基础知识6
1.2 嵌入式系统硬件基础知识7
1.2.1 输入/输出接口7
1.2.2 时钟振荡电路和时钟单元8
1.2.3 存储器8
1.2.4 中断控制器9
1.2.5 嵌入式微处理器10
1.3 嵌入式系统总线13
1.3.1 片级总线13
1.3.2 板级总线19
1.3.3 系统级总线22
1.3.4 实例:UART串口通信开发25
1.4 分布式嵌入式系统33
1.4.1 分布式嵌入式系统结构33
1.4.2 嵌入式系统广域网络的无线接入方式34
1.4.3 分布式工业控制嵌入式系统结构35
1.4.4 无线传感器网络技术40
1.4.5 边缘计算43
第2章 嵌入式系统软硬件协同设计46
2.1 系统思想46
2.1.1 系统的定义及组成47
2.1.2 重要的系统概念48
2.2 系统工程思想49
2.2.1 系统分析49
2.2.2 系统设计50
2.2.3 系统评价52
2.2.4 工程系统建模52
2.2.5 系统生存周期建模与优化53
2.3 系统需求定义54
2.3.1 嵌入式系统问题定义55
2.3.2 需求定义的概念57
2.3.3 联合应用设计58
2.3.4 嵌入式系统需求定义中常见的问题58
2.4 软硬件协同设计60
2.4.1 软硬件分开设计60
2.4.2 软硬件协同设计模型62
2.4.3 软硬件协同的嵌入式系统分析与设计63
2.4.4 软硬件任务划分与软硬件接口设计66
2.4.5 仿真验证69
2.4.6 集成调试与综合实现69
第3章 实时软件分析设计方法72
3.1 实时软件分析设计概述72
3.1.1 实时系统的性能要求73
3.1.2 实时系统的设计要素73
3.1.3 嵌入式实时软件系统的生存周期74
3.2 结构化需求分析建模75
3.2.1 数据流分析76
3.2.2 控制流分析80
3.2.3 状态迁移动态模型82
3.2.4 实例83
3.3 DARTS系统设计85
3.3.1 划分任务86
3.3.2 定义任务接口88
3.3.3 人员进出房间系统设计实例89
3.4 简单嵌入式软件架构设计93
3.4.1 单线程系统93
3.4.2 事件驱动系统95
3.5 任务设计98
3.5.1 任务设计概述98
3.5.2 人员进出房间系统任务设计实例99
3.6 模块设计103
3.6.1 模块设计概述103
3.6.2 人员进出房间系统模块设计实例104
3.7 任务与系统集成104
3.8 实时软件分析设计方法—CODARTS104
第4章 复杂嵌入式软件分析设计106
4.1 面向对象需求分析106
4.1.1 面向对象需求定义106
4.1.2 面向对象需求分析建模113
4.1.3 面向对象需求规格说明书122
4.2 确定系统设计目标124
4.3 复杂嵌入式软件架构设计127
4.3.1 系统分解127
4.3.2 子系统到软硬件的映射130
4.3.3 开发环境和已有组件的选择131
4.3.4 并发134
4.3.5 持续数据管理136
4.3.6 访问控制策略136
4.3.7 全局控制流机制136
4.3.8 边界条件的处理137
4.4 人机交互设计137
4.5 预期变化139
4.5.1 设计模式概述140
4.5.2 适配器设计模式141
4.5.3 中断设计模式143
4.5.4 设计模式的应用146
4.6 嵌入式软件设计中应注意的问题148
第5章 嵌入式操作系统与移植149
5.1 嵌入式操作系统的特点149
5.2 嵌入式操作系统的分类150
5.3 几种代表性的嵌入式操作系统151
5.4 常见的嵌入式操作系统结构154
5.4.1 单块结构154
5.4.2 层次结构154
5.4.3 客户/服务器结构(微内核结构)155
5.5 FreeRTOS移植156
5.5.1 FreeRTOS简介156
5.5.2 FreeRTOS源码目录结构157
5.5.3 FreeRTOS移植实例158
第6章 板级支持包与设备驱动161
6.1 BSP技术概述161
6.1.1 什么是BSP161
6.1.2 BSP的作用与功能162
6.1.3 常见的BSP实现方式和开发方法162
6.1.4 主流嵌入式操作系统及其BSP技术164
6.2 嵌入式系统的硬件初始化技术167
6.2.1 嵌入式系统的硬件初始化167
6.2.2 BSP与PC中BIOS硬件初始化的比较168
6.3 嵌入式系统的引导技术169
6.3.1 Boot Loader概述169
6.3.2 嵌入式Linux的Boot Loader设计思想170
6.4 嵌入式系统的设备驱动程序171
6.4.1 驱动程序的重要性171
6.4.2 机制与策略的问题172
6.4.3 设备驱动的分层管理173
6.4.4 设备类型和设备号173
6.4.5 模块化编程174
6.4.6 设备文件接口175
6.4.7 字符驱动程序编写实例175
6.5 实例:STM32设备驱动程序179
6.5.1 时钟系统179
6.5.2 GPIO180
6.5.3 中断182
6.5.4 定时器186
6.5.5 ADC189
第7章 嵌入式数据库192
7.1 嵌入式数据库概述192
7.1.1 嵌入式数据库的特点192
7.1.2 嵌入式数据库的体系结构193
7.2 嵌入式数据库的分类195
7.3 数据库应用设计196
7.4 基于SQLite的嵌入式软件持续数据管理 198
7.4.1 SQLite简介198
7.4.2 SQLite应用201
7.4.3 SQLite开发环境移植207
第8章 嵌入式软件图形用户界面设计211
8.1 人机交互界面设计概述211
8.1.1 人机交互技术211
8.1.2 用户界面设计原则212
8.1.3 界面设计活动212
8.1.4 界面评价213
8.2 图形用户界面概述213
8.2.1 图形用户界面的基本特征214
8.2.2 图形用户界面的结构模型214
8.2.3 图形用户界面的实现215
8.3 图形用户界面与嵌入式系统216
8.3.1 嵌入式图形用户界面的特点216
8.3.2 嵌入式系统的图形用户界面开发方案216
8.3.3 嵌入式图形用户界面的体系结构层次217
8.3.4 嵌入式图形用户界面主要技术分析219
8.4 使用Qt/Embedded实现图形化界面设计222
8.4.1 Qt/Embedded的架构222
8.4.2 搭建Qt/Embedded开发环境223
8.4.3 编写Qt/Embedded程序225
8.5 C语言图形界面编程227
8.5.1 帧缓冲区227
8.5.2 Framebuffer227
8.5.3 Framebuffer核心函数229
8.5.4 Framebuffer编程230
第9章 嵌入式软件可靠性设计232
9.1 可靠性概述232
9.2 可靠性涉及的性能指标233
9.3 嵌入式系统的可靠性设计234
9.3.1 嵌入式系统硬件可靠性设计235
9.3.2 常用元器件的可靠性分析236
9.3.3 提高嵌入式系统可靠性的具体措施237
9.4 嵌入式软件的可靠性设计238
9.4.1 软件可靠性与硬件可靠性的区别238
9.4.2 影响软件可靠性的因素 239
9.4.3 提高软件可靠性的方法和技术239
9.4.4 软件产品可靠性的评估242
9.4.5 嵌入式软件的可靠性设计243
9.5 可靠性的管理245
第10章 资源管理247
10.1 功耗247
10.1.1 功耗简介247
10.1.2 基于硬件的低功耗设计249
10.1.3 基于软件的低功耗设计251
10.1.4 嵌入式低功耗的软硬件协同设计254
10.2 电源254
10.2.1 电源基础知识254
10.2.2 电源管理技术255
10.2.3 常用的节电方法258
10.3 内存管理259
10.3.1 内存管理概述259
10.3.2 基本内存管理方案262
10.3.3 常见实时系统的内存管理模式263
10.3.4 内存泄漏268
10.3.5 内存保护269
第11章 嵌入式软件开发环境270
11.1 嵌入式软件开发环境概述270
11.2 嵌入式软件调试方法概述272
11.2.1 驻留监控软件调试方法272
11.2.2 基于JTAG方式的调试代理273
11.2.3 指令集模拟器273
11.2.4 在线仿真器 273
11.2.5 ARM中基于JTAG的调试系统 274
11.3 Linux 嵌入式系统开发环境275
11.3.1 嵌入式Linux概述275
11.3.2 嵌入式Linux开发环境架构276
11.3.3 Linux开发工具278
11.3.4 实例:建立嵌入式Linux-ARM开发环境285
11.3.5 实例:实现“Hello World”程序286
11.4 FreeRTOS嵌入式系统开发环境287
参考文献293
作者简介
康一梅,博士,目前任北京航空航天大学软件学院嵌入式软件专业主任。1994年于中国科学院自动化研究所获得工学博士学位,曾任北京首创前锋信息科技有限公司技术总监、北京成康科技发展有限公司总经理、亚讯数码电子有限公司研发部经理、北京金益康新技术术有限公司技术总监兼研发中心总经理等职务,负责设计开发过二十多个产品,还参与了多个大中型软件项目的研发,拥有两项软件知识产权。
-
深度学习的数学
¥43.5¥69.0 -
全图解零基础word excel ppt 应用教程
¥19.0¥48.0 -
机器学习
¥59.4¥108.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥31.9¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥22.1¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥83.3¥119.0 -
Visual Basic 语言程序设计基础(第6版)
¥32.0¥45.0 -
贝叶斯推理与机器学习
¥139.3¥199.0