微信扫一扫,移动浏览光盘
简介
嵌入式系统是嵌入式硬件与嵌入式软件两者的综合体,本书系统介绍嵌入式系统软件的组成、工作原理和设计编程方法。全书分为15篇共11章,主要内容包括:嵌入式系统的基础知识,包括嵌入式系统的定义、组成、特点、发展概况、应用领域等;各种典型的嵌入工处理器和嵌入式外围设备的特点与工作原理,并且,作为嵌入式处理器的一个实例,分析了当前流行的ARM内核体结构及ARM处理器的先型和调试方法;常见的嵌入式实时操作系统和嵌入式软实时操作系统的种类及选用标准,然后以目前市占有率机排名第一的VxWorks操作系统为例,详细讲解嵌入式操作系统的级成、多任务环境的工作原理及其交叉开发环境的使用;嵌入式系统的一般设计方法、开发流程步骤、调试手段与测试工具,详细介绍嵌入式软件相对通用计算机系统一些独特的编程技术和优化方法;本书的最后为嵌入式系统的相关实验。
本书可作为高等院校计算机类、电子类、信息类和理工科其他学科本科高年级学生和研究生的教材,也可作为一些高级进修班的培训教材,同时亦可作为企业各类嵌入式产品开发人员、嵌入式技术爱好者的案头学习参考资料。
目录
目录
第一篇 引论
第1章 嵌入式系统概述
1.1 嵌入式系统的发展与应用
1.1.1 计算机系统的分类
1.1.2 嵌入式系统的应用概况
1.1.3 嵌入式系统的发展史
1.2 嵌入式系统的定义、组成与特点
1.2.1 嵌入式系统的定义
1.2.2 嵌入式系统的组成与体系结构
1.2.3 嵌入式系统的基本特征
1.3 嵌入式系统的种类
1.3.1 按实时性能分类
1.3.2 按软件结构分类
1.4 嵌入式系统应用带来的机遇
1.5 本章小结
习题
第二篇 嵌入式硬件系统
第2章 嵌入式处理器
2.1 嵌入式处理器的基本特征
2.2 嵌入式处理器的种类
2.2.1 嵌入式微处理器
2.2.2 嵌入式微控制器
2.2.3 嵌入式DSP处理器
2.2.4 嵌入式片上系统
2.3 典型嵌入式处理器
2.3.1 8051单片机
2.3.2 ARM
2.3.3 68K/Coldfire
2.3.4 PowerPC
2.3.5 MIPS
2.3.6 X86
2.4 嵌入式处理器的选型方法
2.5 嵌入式处理器的发展趋势
2.6 本章小结
习题
第3章 ARM内核与ARM微处理器
3.1 ARM简介
3.2 ARM内核体系结构
3.2.1 RISC架构
3.2.2 AMBA总线
3.2.3 运行模式
3.2.4 双指令集与工作状态
3.2.5 寄存器组
3.2.6 异常与中断处理
3.2.7 存储管理
3.2.8 存储数据类型
3.2.9 存储格式
3.2.10 存储器映射的I/O
3.2.11 JTAG调试接口
3.3 ARM内核系列及配置命名
3.3.1 ARM内核命名规则
3.3.2 ARM内核系列
3.4 ARM微处理器及其选型
3.4.1 ARM微处理器芯片
3.4.2 ARM处理器的选型
3.5 ARM开发与调试
3.5.1 ADS集成开发环境
3.5.2 ARM工程创建
3.5.3 ARM调试
3.6 本章小结
习题
第4章 嵌入式系统的外围设备
4.1 实时时钟
4.2 存储设备
4.2.1 RAM
4.2.2 SRAM
4.2.3 DRAM
4.2.4 ROM
4.2.5 Mask ROM
4.2.6 OTPROM
4.2.7 EPROM
4.2.8 EEPROM
4.2.9 NOR&NAND Flash
4.3 输入设备
4.3.1 小型键盘
4.3.2 触摸屏
4.4 输出设备
4.4.1 LED
4.4.2 LCD
4.5 外设接口
4.5.1 并行接口
4.5.2 I<'2>C
4.5.3 I<'2>S
4.5.4 USB
4.5.5 IEEE1394
4.6 通信接口
4.6.1 RS-232
4.6.2 以太网
4.6.3 红外线
4.6.4 蓝牙
4.6.5 IEEE802.11
4.6.6 GPRS
4.7 本章小结
习题
第三篇 嵌入式操作系统
第5章 嵌入式操作系统概论
5.1 嵌入式操作系统的种类
5.2 嵌入式实时操作系统
5.2.1 VxWorks
5.2.2 pSOSystem
5.2.3 μC/OS
5.3 嵌入式软实时操作系统
5.3.1 PalmOS
5.3.2 Windows CE
5.3.3 EPOC
5.3.4 Embedded Linux
5.4 嵌入式操作系统的选择标准
5.5 嵌入式操作系统的发展趋势
5.6 本章小结
习题
第6章 VxWorks与Tornado概貌
6.1 VxWorks的产品概况
6.1.1 Wind River公司简介
6.1.2 VxWorks的产品组成
6.1.3 Wind River Platform
6.1.4 VxWorks的特点
6.2 VxWorks的交叉开发环境构成
6.3 VxWorks的操作系统
6.3.1 VxWorks操作系统体系结构
6.3.2 VxWorks的内核
6.3.3 VxWorks的外挂基本模块组件
6.3.4 VxWorks的外挂附加模块组件
6.4 VxWorks的交叉开发工具Tornado
6.4.1 Tornado的基本结构
6.4.2 Tornado的功能特点
6.4.3 Tornado的工具集
6.5 目标机上的VxWorks Image
6.5.1 VxWorks Image的种类与结构
6.5.2 VxWorks Image在内存中的存放与加载
6.5.3 VxWorks Image的运行
6.6 一个简单的工程项目实例
6.6.1 创建工程项目
6.6.2 在工程项目中创建应用程序
6.6.3 将项目编译链接生成程序映像
6.6.4 将程序映像下载到目标机中
6.6.5 程序的运行调试
6.7 本章小结
习题
第7章 VxWorks操作系统的多任务环境
7.1 任务的管理与调度
7.1.1 多任务的概念
7.1.2 任务的创建与删除
7.1.3 任务的状态转换与控制
7.1.4 任务调度策略
7.1.5 任务信息的获取与设置
7.1.6 任务扩展函数
7.1.7 任务的错误状态
7.1.8 任务异常处理
7.1.9 VxWorks的系统任务
7.1.10 编写VxWorks的用户任务
7.2 任务间的通信机制
7.2.1 共享数据结构(Shared Data Structures)
7.2.2 互斥实现机制
7.2.3 信号量(Semaphores)
7.2.4 消息队列(Message Queues)
7.2.5 管道(Pipes)
7.2.6 事件(Events)
7.2.7 信号(Signals)
7.2.8 套接字(SoCkets)与远程过程调用(RPC)
7.2.9 通信机制小结
7.3 中断服务程序
7.3.1 中断的概念
7.3.2 中断服务接口函数
7.3.3 中断服务程序的连接原理
7.3.4 中断与任务的优先级比较
7.3.5 中断与任务间的通信机制
7.3.6 编写调试中断服务程序
7.4 时钟管理
7.4.1 系统时钟
7.4.2 看门狗定时器(Watchdog Timers)
7.5 综合应用示例
7.5.1 示例源代码
7.5.2 示例分析
7.6 本章小结
习题
第8章 Tornado交叉开发环境
8.1 Tornado交叉开发基本流程
8.1.1 交叉开发环境的建立
8.1.2 工程创建
8.1.3 编译链接
8.1.4 目标程序加载
8.1.5 运行调试
8.2 基于目标板的Bootable Project实例
8.2.1 交叉开发环境的建立
8.2.2 创建Bootable Project
8.2.3 编辑链接生成Bootable Image
8.2.4 将Bootable Image加载至硬件目标板中
8.2.5 应用程序的运行调试
8.3 基于目标板的Downloadable Project实例
8.3.1 交叉开发环境的建立
8.3.2 创建Downloadable Project
8.3.3 编辑链接生成Downloadable Image
8.3.4 将Downloadable Image加载至硬件目标板中
8.3.5 应用程序的运行调试
8.4 多任务调试方法
8.4.1 Tornado调试模式与断点类型
8.4.2 任务调试模式下的多任务调试
8.4.3 系统调试模式下的多任务调试
8.4.4 中断服务程序的调试
8.5 本章小结
习题
第四篇 嵌入式系统的设计与编程
第9章 嵌入式系统的设计、开发与测试
9.1 嵌入式系统的设计
9.1.1 硬件优先设计
9.1.2 软硬件协同设计
9.2 嵌入式系统的开发与运行
9.2.1 软硬件并行开发模式
9.2.2 嵌入式软件的开发与运行流程
9.3 嵌入式系统的调试
9.3.1 调试的内容
9.3.2 调试的手段与工具
9.4 嵌入式系统的测试
9.4.1 嵌入式系统测试的重要性
9.4.2 传统的测试工具
9.4.3 CodeTEST嵌入式软件测试系统
9.5 本章小结
习题
第10章 嵌入式软件的编程与优化
10.1 一般编程技术
10.1.1 寄存器的位操作
10.1.2 使用存储类限定符volatile
10.1.3 大端与小端模式
10.1.4 访问外设
10.1.5 C与汇编语言混合编程
10.2 多任务编程技术
10.2.1 任务划分原则
10.2.2 任务间通信机制的选择
10.2.3 任务的细节设计
10.2.4 多任务软件系统设计实例
10.3 嵌入式Java技术
10.3.1 Java技术与嵌入式系统
1O.3.2 J2ME
10.3.3 硬件加速Java
10.4 软件优化方法
10.4.1 高效的结构体组织
10.4.2 使用密指令集
10.4.3 代码压缩
10.4.4 使用寄存器变量
10.4.5 关于浮点运算与乘除法运算
10.4.6 避免使用printf()函数
10.4.7 多重循环的效率与流水线技术
10.4.8 预编译宏指令替代函数
10.4.9 能耗优化
10.5 本章小结
习题
第五篇 实验
第11章 实验项目
11.1 实验目标与要求
11.2 实验1——Tornado IDE与VxSim目标仿真环境
11.2.1 实验目的
11.2.2 实验内容
11.2.3 实验软硬件环境
11.2.4 实验预备知识
11.2.5 实验项目与步骤
11.2.6 思考题
11.3 实验2——VxWorks组件的裁剪与配置
11.3.1 实验目的
11.3.2 实验内容
11.3.3 实验软硬件环境
11.3.4 实验预备知识
11.3.5 实验原理
11.3.6 实验项目与步骤
11.3.7 思考题
11.4 实验3——多任务的创建与调度
11.4.1 实验目的
11.4.2 实验内容
11.4.3 实验软硬件环境
11.4.4 实验预备知识
11.4.5 实验原理
11.4.6 实验项目与步骤
11.4.7 思考题
11.5 实验4——二进制信号量与计数信号量
11.5.1 实验目的
11.5.2 实验内容
11.5.3 实验软硬件环境
11.5.4 实验预备知识
11.5.5 实验原理
11.5.6 实验项目与步骤
11.5.7 思考题
11.6 实验5——互斥信号量及优先级倒置
11.6.1 实验目的
11.6.2 实验内容
11.6.3 实验软硬件环境
11.6.4 实验预备知识
11.6.5 实验原理
11.6.6 实验项目与步骤
11.6.7 思考题
11.7 实验6——消息队列通信机制
11.7.1 实验目的
11.7.2 实验内容
11.7.3 实验软硬件环境
11.7.4 实验预备知识
11.7.5 实验原理
11.7.6 实验步骤
11.7.7 思考题
11.8 实验7——管道通信机制
11.8.1 实验目的
11.8.2 实验内容
11.8.3 实验软硬件环境
11.8.4 实验预备知识
11.8.5 实验原理
11.8.6 实验项目与步骤
11.8.7 思考题
11.9 实验8——事件通信机制
11.9.1 实验目的
11.9.2 实验内容
11.9.3 实验软硬件环境
11.9.4 实验预备知识
11.9.5 实验原理
11.9.6 实验项目与步骤
11.9.7 思考题
11.10 实验9——多任务的调试方法
11.10.1 实验目的
11.10.2 实验内容
11.10.3 实验软硬件环境
11.10.4 实验预备知识
11.10.5 实验原理
11.10.6 实验项目与步骤
11.10.7 思考题
参考文献
YS
第一篇 引论
第1章 嵌入式系统概述
1.1 嵌入式系统的发展与应用
1.1.1 计算机系统的分类
1.1.2 嵌入式系统的应用概况
1.1.3 嵌入式系统的发展史
1.2 嵌入式系统的定义、组成与特点
1.2.1 嵌入式系统的定义
1.2.2 嵌入式系统的组成与体系结构
1.2.3 嵌入式系统的基本特征
1.3 嵌入式系统的种类
1.3.1 按实时性能分类
1.3.2 按软件结构分类
1.4 嵌入式系统应用带来的机遇
1.5 本章小结
习题
第二篇 嵌入式硬件系统
第2章 嵌入式处理器
2.1 嵌入式处理器的基本特征
2.2 嵌入式处理器的种类
2.2.1 嵌入式微处理器
2.2.2 嵌入式微控制器
2.2.3 嵌入式DSP处理器
2.2.4 嵌入式片上系统
2.3 典型嵌入式处理器
2.3.1 8051单片机
2.3.2 ARM
2.3.3 68K/Coldfire
2.3.4 PowerPC
2.3.5 MIPS
2.3.6 X86
2.4 嵌入式处理器的选型方法
2.5 嵌入式处理器的发展趋势
2.6 本章小结
习题
第3章 ARM内核与ARM微处理器
3.1 ARM简介
3.2 ARM内核体系结构
3.2.1 RISC架构
3.2.2 AMBA总线
3.2.3 运行模式
3.2.4 双指令集与工作状态
3.2.5 寄存器组
3.2.6 异常与中断处理
3.2.7 存储管理
3.2.8 存储数据类型
3.2.9 存储格式
3.2.10 存储器映射的I/O
3.2.11 JTAG调试接口
3.3 ARM内核系列及配置命名
3.3.1 ARM内核命名规则
3.3.2 ARM内核系列
3.4 ARM微处理器及其选型
3.4.1 ARM微处理器芯片
3.4.2 ARM处理器的选型
3.5 ARM开发与调试
3.5.1 ADS集成开发环境
3.5.2 ARM工程创建
3.5.3 ARM调试
3.6 本章小结
习题
第4章 嵌入式系统的外围设备
4.1 实时时钟
4.2 存储设备
4.2.1 RAM
4.2.2 SRAM
4.2.3 DRAM
4.2.4 ROM
4.2.5 Mask ROM
4.2.6 OTPROM
4.2.7 EPROM
4.2.8 EEPROM
4.2.9 NOR&NAND Flash
4.3 输入设备
4.3.1 小型键盘
4.3.2 触摸屏
4.4 输出设备
4.4.1 LED
4.4.2 LCD
4.5 外设接口
4.5.1 并行接口
4.5.2 I<'2>C
4.5.3 I<'2>S
4.5.4 USB
4.5.5 IEEE1394
4.6 通信接口
4.6.1 RS-232
4.6.2 以太网
4.6.3 红外线
4.6.4 蓝牙
4.6.5 IEEE802.11
4.6.6 GPRS
4.7 本章小结
习题
第三篇 嵌入式操作系统
第5章 嵌入式操作系统概论
5.1 嵌入式操作系统的种类
5.2 嵌入式实时操作系统
5.2.1 VxWorks
5.2.2 pSOSystem
5.2.3 μC/OS
5.3 嵌入式软实时操作系统
5.3.1 PalmOS
5.3.2 Windows CE
5.3.3 EPOC
5.3.4 Embedded Linux
5.4 嵌入式操作系统的选择标准
5.5 嵌入式操作系统的发展趋势
5.6 本章小结
习题
第6章 VxWorks与Tornado概貌
6.1 VxWorks的产品概况
6.1.1 Wind River公司简介
6.1.2 VxWorks的产品组成
6.1.3 Wind River Platform
6.1.4 VxWorks的特点
6.2 VxWorks的交叉开发环境构成
6.3 VxWorks的操作系统
6.3.1 VxWorks操作系统体系结构
6.3.2 VxWorks的内核
6.3.3 VxWorks的外挂基本模块组件
6.3.4 VxWorks的外挂附加模块组件
6.4 VxWorks的交叉开发工具Tornado
6.4.1 Tornado的基本结构
6.4.2 Tornado的功能特点
6.4.3 Tornado的工具集
6.5 目标机上的VxWorks Image
6.5.1 VxWorks Image的种类与结构
6.5.2 VxWorks Image在内存中的存放与加载
6.5.3 VxWorks Image的运行
6.6 一个简单的工程项目实例
6.6.1 创建工程项目
6.6.2 在工程项目中创建应用程序
6.6.3 将项目编译链接生成程序映像
6.6.4 将程序映像下载到目标机中
6.6.5 程序的运行调试
6.7 本章小结
习题
第7章 VxWorks操作系统的多任务环境
7.1 任务的管理与调度
7.1.1 多任务的概念
7.1.2 任务的创建与删除
7.1.3 任务的状态转换与控制
7.1.4 任务调度策略
7.1.5 任务信息的获取与设置
7.1.6 任务扩展函数
7.1.7 任务的错误状态
7.1.8 任务异常处理
7.1.9 VxWorks的系统任务
7.1.10 编写VxWorks的用户任务
7.2 任务间的通信机制
7.2.1 共享数据结构(Shared Data Structures)
7.2.2 互斥实现机制
7.2.3 信号量(Semaphores)
7.2.4 消息队列(Message Queues)
7.2.5 管道(Pipes)
7.2.6 事件(Events)
7.2.7 信号(Signals)
7.2.8 套接字(SoCkets)与远程过程调用(RPC)
7.2.9 通信机制小结
7.3 中断服务程序
7.3.1 中断的概念
7.3.2 中断服务接口函数
7.3.3 中断服务程序的连接原理
7.3.4 中断与任务的优先级比较
7.3.5 中断与任务间的通信机制
7.3.6 编写调试中断服务程序
7.4 时钟管理
7.4.1 系统时钟
7.4.2 看门狗定时器(Watchdog Timers)
7.5 综合应用示例
7.5.1 示例源代码
7.5.2 示例分析
7.6 本章小结
习题
第8章 Tornado交叉开发环境
8.1 Tornado交叉开发基本流程
8.1.1 交叉开发环境的建立
8.1.2 工程创建
8.1.3 编译链接
8.1.4 目标程序加载
8.1.5 运行调试
8.2 基于目标板的Bootable Project实例
8.2.1 交叉开发环境的建立
8.2.2 创建Bootable Project
8.2.3 编辑链接生成Bootable Image
8.2.4 将Bootable Image加载至硬件目标板中
8.2.5 应用程序的运行调试
8.3 基于目标板的Downloadable Project实例
8.3.1 交叉开发环境的建立
8.3.2 创建Downloadable Project
8.3.3 编辑链接生成Downloadable Image
8.3.4 将Downloadable Image加载至硬件目标板中
8.3.5 应用程序的运行调试
8.4 多任务调试方法
8.4.1 Tornado调试模式与断点类型
8.4.2 任务调试模式下的多任务调试
8.4.3 系统调试模式下的多任务调试
8.4.4 中断服务程序的调试
8.5 本章小结
习题
第四篇 嵌入式系统的设计与编程
第9章 嵌入式系统的设计、开发与测试
9.1 嵌入式系统的设计
9.1.1 硬件优先设计
9.1.2 软硬件协同设计
9.2 嵌入式系统的开发与运行
9.2.1 软硬件并行开发模式
9.2.2 嵌入式软件的开发与运行流程
9.3 嵌入式系统的调试
9.3.1 调试的内容
9.3.2 调试的手段与工具
9.4 嵌入式系统的测试
9.4.1 嵌入式系统测试的重要性
9.4.2 传统的测试工具
9.4.3 CodeTEST嵌入式软件测试系统
9.5 本章小结
习题
第10章 嵌入式软件的编程与优化
10.1 一般编程技术
10.1.1 寄存器的位操作
10.1.2 使用存储类限定符volatile
10.1.3 大端与小端模式
10.1.4 访问外设
10.1.5 C与汇编语言混合编程
10.2 多任务编程技术
10.2.1 任务划分原则
10.2.2 任务间通信机制的选择
10.2.3 任务的细节设计
10.2.4 多任务软件系统设计实例
10.3 嵌入式Java技术
10.3.1 Java技术与嵌入式系统
1O.3.2 J2ME
10.3.3 硬件加速Java
10.4 软件优化方法
10.4.1 高效的结构体组织
10.4.2 使用密指令集
10.4.3 代码压缩
10.4.4 使用寄存器变量
10.4.5 关于浮点运算与乘除法运算
10.4.6 避免使用printf()函数
10.4.7 多重循环的效率与流水线技术
10.4.8 预编译宏指令替代函数
10.4.9 能耗优化
10.5 本章小结
习题
第五篇 实验
第11章 实验项目
11.1 实验目标与要求
11.2 实验1——Tornado IDE与VxSim目标仿真环境
11.2.1 实验目的
11.2.2 实验内容
11.2.3 实验软硬件环境
11.2.4 实验预备知识
11.2.5 实验项目与步骤
11.2.6 思考题
11.3 实验2——VxWorks组件的裁剪与配置
11.3.1 实验目的
11.3.2 实验内容
11.3.3 实验软硬件环境
11.3.4 实验预备知识
11.3.5 实验原理
11.3.6 实验项目与步骤
11.3.7 思考题
11.4 实验3——多任务的创建与调度
11.4.1 实验目的
11.4.2 实验内容
11.4.3 实验软硬件环境
11.4.4 实验预备知识
11.4.5 实验原理
11.4.6 实验项目与步骤
11.4.7 思考题
11.5 实验4——二进制信号量与计数信号量
11.5.1 实验目的
11.5.2 实验内容
11.5.3 实验软硬件环境
11.5.4 实验预备知识
11.5.5 实验原理
11.5.6 实验项目与步骤
11.5.7 思考题
11.6 实验5——互斥信号量及优先级倒置
11.6.1 实验目的
11.6.2 实验内容
11.6.3 实验软硬件环境
11.6.4 实验预备知识
11.6.5 实验原理
11.6.6 实验项目与步骤
11.6.7 思考题
11.7 实验6——消息队列通信机制
11.7.1 实验目的
11.7.2 实验内容
11.7.3 实验软硬件环境
11.7.4 实验预备知识
11.7.5 实验原理
11.7.6 实验步骤
11.7.7 思考题
11.8 实验7——管道通信机制
11.8.1 实验目的
11.8.2 实验内容
11.8.3 实验软硬件环境
11.8.4 实验预备知识
11.8.5 实验原理
11.8.6 实验项目与步骤
11.8.7 思考题
11.9 实验8——事件通信机制
11.9.1 实验目的
11.9.2 实验内容
11.9.3 实验软硬件环境
11.9.4 实验预备知识
11.9.5 实验原理
11.9.6 实验项目与步骤
11.9.7 思考题
11.10 实验9——多任务的调试方法
11.10.1 实验目的
11.10.2 实验内容
11.10.3 实验软硬件环境
11.10.4 实验预备知识
11.10.5 实验原理
11.10.6 实验项目与步骤
11.10.7 思考题
参考文献
YS
嵌入式系统——组成、原理与设计编程
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×