嵌入式系统软件工程

嵌入式系统软件工程

(美) 奥沙纳 (Oshana,R.) , (美) 雷林 (Kraeling,M.) , 主编

出版社:清华大学出版社

年代:2016

定价:89.0

书籍简介:

本书系统论述了如下内容:一个嵌入式系统的良好架构的原则设计实践,嵌入式系统的一个组成部分的原理细节——包括数字信号处理,安全关键原则,发嵌入式系统软件性能工程策略技术、开发用户界面的策略,测试和部署嵌入式系统的开发过程,确保质量为优化性能,嵌入式软件的存储器的实用技术,开发多核嵌入式系统软件,如何开发网络,嵌入式软件存储等。

书籍目录:

序(一)1

序(二)3

译者序5

嵌入式系统软件工程——路线图7

前言15

致谢17

关于作者19

第1章嵌入式软件工程与实时系统

1.1软件工程

1.2嵌入式系统

1.3实时系统

1.3.1实时系统的类型——软实时和硬实时系统

1.3.2硬实时系统的例子

1.3.3实时事件的特点

1.3.4有效执行与执行环境

1.4实时系统设计的挑战

1.4.1响应时间

1.4.2从故障中恢复

1.4.3嵌入式系统软件的构建过程

1.5分布式和多处理器架构

1.6嵌入式系统软件

1.7嵌入式系统的硬件抽象层

1.8小结

第2章嵌入式系统软/硬件协同开发

2.1当今嵌入式系统示例

2.2HW/SW原型机用户

2.3HW/SW原型机设计选项

2.4原型设计决策标准

2.5选择正确的原型

2.6工业设计链

2.7更改设计流程的必要

2.8不同类型的虚拟原型机

2.9虚拟原型的简要历史

2.10专有产品的限制

2.11什么使得虚拟原型机变快

2.12标准化:SystemC TLM2.0的时代

2.13SystemC TLM2抽象层

2.14系统架构虚拟原型机

2.15软件虚拟原型机

2.16小结——虚拟化的重要性日益增加

第3章嵌入式系统的软件建模

3.1何时、为何要为嵌入式系统建立模型

3.2建模

3.3什么是建模语言

3.4建模语言举例

3.5V图承诺

3.6为什么要建立嵌入式系统的模型

3.7何时为嵌入式系统建立模型

3.7.1任务和安全关键型应用程序

3.7.2高度复杂的应用程序和系统

3.8操作复杂性

3.9缺陷检测时间与成本

3.10大型开发团队需要建模

3.11建模通常是唯一的选择

3.12建模是有利的,但不是说所有模型都是错的吗

3.13有了原型机——又该如何

3.14结论

3.15下一步——试用

3.15.1带有直流电动机的闭环控制

3.15.2下载套件了解更多原型机设计

3.15.3使用NI状态图模块设计应用程序

3.15.4设计和模拟电刷式直流电动机H桥电路

3.15.5使用开放源代码Modelica模型进行多域物理建模

参考文献

第4章嵌入式系统的软件设计架构与模式

4.1架构和设计综述

4.2三个层次的设计

4.3什么是设计模式

4.3.1必须要采用面向对象技术来使用设计模式吗

4.3.2一个架构实例

4.3.3使用模式

4.3.4做权衡决策

4.4软件架构的类别和视图

4.4.1主要的架构视角

4.4.2次要的视角

4.5小结

参考文献

第5章实时构件: 事件与触发器

5.1事件和触发器

5.2室温控制单元

5.3事件系统

5.4事件句柄

5.5事件方法

5.6事件数据结构

5.7可重入性

5.7.1禁用和启用中断

5.7.2进入临界区和退出临界区

5.7.3信号量

5.7.4进入/退出临界区的实现

5.8事件处理

5.9集成

5.10触发器

5.11闪烁的LED

5.12设计思想

5.13嘀嗒定时器

5.14触发器接口

5.15触发器描述符

5.16数据分配

5.17设置触发器

5.18嘀嗒计数

5.19确保可重入

5.20初始化

5.21闪烁

5.22蜂鸣器鸣响

5.23实时性

5.24小结

第6章嵌入式软件的硬件接口

6.1简介

6.2与硬件团队的合作

6.2.1主动合作

6.2.2团队代表

6.2.3注册设计工具

6.2.4共同开发

6.2.5系统集成

6.3硬件设计方面有用的知识

6.3.1硬件事件的通知

6.3.2向硬件下达任务

6.3.3位域对齐

6.3.4固定位的位置

6.3.5模块版本号

6.3.6调试钩子

6.4支持多个硬件版本

6.4.1编译开关

6.4.2构建开关

6.4.3运行开关

6.4.4自适应开关

6.5硬件交互困难

6.5.1原子寄存器访问

6.5.2同一寄存器中混合的位类型

6.5.3边沿与电平中断

6.6测试与故障排除

6.6.1临时钩子

6.6.2永久钩子

6.7小结

第7章嵌入式软件编程和实现准则

7.1简介

7.1.1高质量编程的原则

7.1.2是什么让嵌入式不同于一般编程

7.2启动嵌入式软件项目

7.2.1硬件平台输入

7.2.2工程文件和组织

7.2.3团队编程指南

7.2.4语法标准

7.2.5源代码中的安全要求

7.3变量结构

7.3.1变量声明

7.3.2数据类型

7.3.3定义

第8章嵌入式操作系统

8.1前台/后台系统

8.2实时内核

8.2.1RTOS(实时操作系统)

8.2.2临界区

8.2.3任务管理

8.2.4分配任务优先级

8.2.5决定堆栈的大小

8.2.6空闲任务

8.3优先级

8.4就绪队列

8.5调度点

8.6上下文切换

8.7中断管理

8.7.1处理CPU中断

8.7.2非内核感知的中断服务程序

8.7.3拥有多种中断优先级的处理器

8.7.4所有的中断向量的共同地址

8.7.5每个中断向量对应唯一的地址

8.8时钟周期(或系统时钟周期)

8.9等待队列

8.10时间管理

8.11资源管理

8.11.1资源管理: 禁用/启用中断

8.11.2资源管理: 信号量

8.11.3资源管理: 优先级反转

8.11.4资源管理: 互斥信号量

8.11.5资源管理: 僵局(死锁)

8.12同步

8.12.1同步: 信号量

8.12.2同步: 信用跟踪

8.12.3双方相约

8.13消息传递

8.13.1消息

8.13.2消息队列

8.13.3流控制

8.13.4客户端和服务器端

8.14内存管理

8.15小结

第9章嵌入式系统设计的软件复用

9.1为什么软件复用如此重要

9.2什么限制了软件复用

9.3各种软件复用

9.4通过层实现复用

9.5进入到下一个级别

9.6引入元件厂

9.7工厂硬件配置

9.8工厂软件配置

9.9工厂对可复用性的作用

9.10RTOS不可知论

9.11任意扩展性

9.12结论

参考文献

第10章嵌入式系统的软件性能工程

10.1示例: eNodeB应用程序的延迟时间与吞吐量对比

10.2性能模式和反模式

参考文献

第11章嵌入式软件的性能优化

11.1代码优化过程

11.2使用开发工具

11.2.1编译器的优化

11.2.2基本的编译器配置

11.2.3启用优化

11.2.4附加的优化配置

11.2.5使用分析器

11.3背景——理解嵌入式架构

11.4基本的C优化技术

11.4.1选择正确的数据类型

11.4.2函数的调用规范

11.4.3指针和内存访问

11.4.4限制和指针别名

11.4.5循环

11.4.6额外的提示和技巧

11.5一般循环转换

11.5.1循环展开

11.5.2多采样技术

11.5.3部分求和

11.5.4软件流水线

11.6优化技术的实例应用: 互相关

11.6.1设置

11.6.2原始实例

第12章嵌入式软件的内存优化

12.1简介

12.2代码大小的优化

12.2.1编译标志位和标志位挖掘

12.2.2目标ISA的大小和性能的折中

12.2.3为代码大小调整ABI

12.2.4买者自负: 编译器优化正交码的大小

12.3内存布局优化

12.3.1内存优化简介

12.3.2重点优化

12.3.3向量化和动态代码: 计算比率

12.3.4C语言指针别名

12.4数据结构、数据结构的数组及其添加

12.5内存性能的循环优化

12.5.1数据对齐的连锁效应

12.5.2选择数据类型的益处

第13章嵌入式软件的功耗优化

13.1简介

13.2理解功耗

13.2.1功耗的基本概念

13.2.2静态与动态功率消耗

13.2.3最大功率、平均功率、最坏情况功率和典型功率

13.3测量功耗

13.3.1使用电流表测量功率

13.3.2使用霍尔传感器芯片测量功率

13.3.3VRMs(电压调整模块的电源芯片)

13.3.4静态功率测量

内容摘要:

嵌入式系统在最近几年中得到了迅速发展和广泛应用。这对嵌入式软件的可靠性、稳定性、鲁棒性和性能都提出了更高的要求,对嵌入式软件的开发也提出了新的挑战。本书讲述了嵌入式软件的重要特性和软件工程方法,例如软件设计、基于组件的开发、软件架构、系统集成和测试,以及与之配套的方法论、语言、工具和流程等。它几乎涵盖了嵌入式软件开发的所有方面,包括建模、软/硬件协同设计、操作系统、编程规范、性能与优化、集成测试、质量控制、多核软件、知识产权与项目管理等主要问题。书中列举了存储与I/O、Linux与开源软件,以及面向网络和汽车的应用,最后的实例研究更可以帮助读者加深对嵌入式软件的理解。书中各章所描述的问题都是在嵌入式软件开发过程中常见的问题,每章都有对各自问题的背景介绍、问题求解以及实例和总结。这些章节各自独立,层次分明,既自成体系又互相联系。本书力求理论与实践紧密结合,内容翔实、实例丰富。本书可以作为高等院校“嵌入式软件”课程的教材,也可供从事嵌入式系统开发与应用的工程技术人员自学与参考。

编辑推荐:

《嵌入式系统软件工程》是NEWNES之“专家指南”,该书为读者提供了嵌入式软件工程的方法和技术,以优化嵌入式系统的设计和实践。在处理嵌入式系统开发过程中遇到的问题时,使用软件工程的方法,将事半功倍,极大提高效率,这部由16位业界知名专家联合撰写的嵌入式软件开发著作超过120万字,是一部真正意义上的嵌入式百科全书,适合作为嵌入式系统开发者的案头工具。Elsevier出版公司官网提供配套材料和教师资源。

书籍规格:

书籍详细信息
书名嵌入式系统软件工程站内查询相似图书
丛书名清华开发者书库
9787302425311
如需购买下载《嵌入式系统软件工程》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位清华大学出版社
版次1版印次1
定价(元)89.0语种简体中文
尺寸26 × 19装帧平装
页数印数 3000

书籍信息归属:

嵌入式系统软件工程是清华大学出版社于2016.出版的中图分类号为 TP360.21 的主题关于 微型计算机-系统设计 的书籍。