内容介绍
《嵌入式系统设计大学教程》以嵌入式系统开发为主线,以Linux操作系统为软件平台,系统介绍了嵌入式系统开发的基本知识、基本流程和基本方法。全书共分9章,分别对嵌入式系统基础知识、嵌入式硬件开发技术、嵌入式系统软件程序设计内容进行详细介绍,并附以一个完整的嵌入式系统设计案例。
《嵌入式系统设计大学教程》内容丰富,结构合理,概念清晰,既可作为高等院校计算机及相关专业嵌入式课程的教材,也可供工程技术人员自学参考。
目录
- 第1部分 嵌入式系统
- 第1章 嵌入式系统概述
- 1.1 什么是嵌入式系统
- 1.2 嵌入式系统的特点
- 1.3 嵌入式系统的体系结构
- 1.3.1 硬件平台
- 1.3.2 硬件抽象层
- 1.3.3 实时操作系统
- 1.3.4 实时应用程序
- 1.4 嵌入式系统的分类
- 1.5 嵌入式系统的应用
- 本章 小结
- 思考与练习题
- 第2章 嵌入式系统设计基本概念
- 2.1 嵌入式硬件系统
- 2.1.1 嵌入式处理器
- 2.1.2 存储器
- 2.1.3 外围设备
- 2.2 嵌入式操作系统
- 2.2.1 嵌入式操作系统的发展
- 2.2.2 嵌入式实时操作系统的分类
- 2.2.3 嵌入式实时操作系统的可裁剪性及其实现
- 2.2.4 常用的实时操作系统
- 2.3 嵌入式系统的基本设计过程
- 2.3.1 需求分析
- 2.3.2 规格说明
- 2.3.3 体系结构设计
- 2.3.4 设计硬件构件和软件构件
- 2.3.5 系统调试与集成
- 2.4 本教程选择的软硬件平台
- 2.4.1 教学硬件平台——ARM
- 2.4.2 教学软件平台——Linux
- 第2部分 嵌入式系统硬件开发技术
- 第3章 基于ARM的处理器体系结构
- 3.1 ARM体系结构
- 3.1.1 ARM微处理器结构
- 3.1.2 ARM工作状态
- 3.1.3 ARM微处理器的寄存器组织
- 3.1.4 ARM微处理器的指令结构
- 3.2 ARM9处理器简介
- 3.2.1 与ARM7处理器比较
- 3.2.2 OMAP5912处理器介绍
- 第4章 ARM微处理器的编程模型与指令系统
- 4.1 ARM微处理器的工作状态
- 4.2 ARM微处理器的运行模式
- 4.3 ARM体系结构的存储器格式
- 4.3.1 大端格式
- 4.3.2 小端格式
- 4.4 寄存器组织
- 4.4.1 ARM状态下的寄存器组织
- 4.4.2 Thumb状态下的寄存器组织
- 4.5 ARM的异常
- 4.5.1 ARM体系结构所支持的异常类型
- 4.5.2 异常向量(ExceptionVectors)
- 4.5.3 对异常的响应
- 4.5.4 从异常返回
- 4.5.5 各类异常的具体描述
- 4.5.6 异常的进入/退出
- 4.5.7 异常优先级(ExceptionPriorities)
- 4.6 ARM微处理器的指令系统基础
- 4.6.1 指令长度及数据类型
- 4.6.2 ARM微处理器的指令的分类与格式
- 4.6.3 指令的条件域
- 4.7 ARM指令的寻址方式
- 4.7.1 立即寻址
- 4.7.2 寄存器寻址
- 4.7.3 寄存器间接寻址
- 4.7.4 基址变址寻址
- 4.7.5 多寄存器寻址
- 4.7.6 堆栈寻址
- 4.7.7 相对寻址
- 4.8 ARM指令集
- 4.8.1 数据处理指令
- 4.8.2 乘法指令与乘加指令
- 4.8.3 程序状态寄存器访问指令
- 4.8.4 加载/存储指令
- 4.8.5 批量数据加载/存储指令
- 4.8.6 跳转指令
- 4.8.7 数据交换指令
- 4.8.8 移位指令(操作)
- 4.8.9 协处理器指令
- 4.8.10 异常产生指令
- 4.9 Thumb指令及应用
- 4.9.1 Thumb编程模型
- 4.9.2 Thumb状态切换
- 4.9.3 Thumb指令集特点
- 第3部分 嵌入式系统软件程序设计
- 第5章 嵌入式操作系统
- 5.1 嵌入式系统的进程
- 5.1.1 进程的概念
- 5.1.2 上下文切换
- 5.1.3 进程状态
- 5.1.4 进程调度
- 5.1.5 进程间通信机制
- 5.2 嵌入式操作系统的中断和时钟管理
- 5.2.1 中断管理
- 5.2.2 时钟管理
- 5.3 嵌入式操作系统的内存管理
- 5.3.1 内存管理的主要功能
- 5.3.2 虚拟内存的概念
- 5.4 常用嵌入式操作系统
- 5.4.1 mC/OS-II
- 5.4.2 Linux操作系统
- 第6章 嵌入式Linux开发环境及其在ARM上的移植
- 6.1 嵌入式Linux开发环境
- 6.1.1 交叉编译工具介绍
- 6.1.2 交叉编译环境的建立
- 6.2 嵌入式Linux在ARM平台上的移植
- 6.2.1 Linux内核源代码的基本组织情况
- 6.2.2 嵌入式Linux内核裁剪方法
- 6.2.3 嵌入式Linux内核定制过程
- 6.2.4 内核编译及装载
- 6.2.5 文件系统及其实现
- 第7章 设备驱动程序
- 7.1 概述
- 7.1.1 设备驱动原理
- 7.1.2 模块化编程
- 7.1.3 设备类型
- 7.1.4 设备号
- 7.2 设备文件接口
- 7.2.1 用户访问接口
- 7.2.2 一些重要数据结构
- 7.2.3 I/O操作
- 7.3 中断处理
- 7.3.1 注册中断处理程序
- 7.3.2 中断处理程序实现
- 7.4 应用实例
- 7.4.1 字符设备——按键驱动程序
- 7.4.2 网络设备——CS8900A芯片驱动程序
- 7.4.3 CAN总线驱动开发
- 第8章 用户图形接口GUI
- 8.1 嵌入式系统中的GUI
- 8.1.1 嵌入式GUI的发展需求
- 8.1.2 嵌入式GUI的功能特点
- 8.1.3 目前流行的嵌入式GUI系统
- 8.2 Qt/Embedded基础
- 8.2.1 Qt/Embedded简介
- 8.2.2 Qt/Embedded特点
- 8.2.3 Qt/Embedded体系架构
- 8.3 Qt/Embedded开发环境
- 8.3.1 Qt/E2.x系列
- 8.3.2 Qt/E3.x系列
- 8.4 Qt/Embedded开发实例
- 8.4.1 Qt/Embedded应用系统基本开发流程
- 8.4.2 Qt/Embedded下触摸屏驱动的设计
- 第4部分 嵌入式系统开发应用实例
- 第9章 基于OMAP5912的开发应用实例
- 9.1 MAP5912的结构和特点
- 9.1.1 ARM926EJ-S内核
- 9.1.2 TMS320C55x内核
- 9.1.3 存储器管理
- 9.1.4 直接存储器访问控制器(DMA)
- 9.1.5 时钟和电源管理
- 9.1.6 外围控制模块
- 9.2 基于OMAP5912的硬件平台设计
- 9.2.1 电源管理模块
- 9.2.2 存储模块
- 9.2.3 音频处理模块
- 9.2.4 外围接口
- 9.3 基于OMAP5912的软件系统设计
- 9.3.1 OMAP5912系统的软件架构
- 9.3.2 嵌入式Linux系统的启动流程
- 9.3.3 Bootloader及其移植
- 9.3.4 MontaVistaLinux内核的移植
- 9.3.5 文件系统的移植
- 9.3.6 基于OMAP5912平台的Linux设备驱动程序
- 缩略语
- 参考文献