嵌入式系统设计 / 普通高等教育电气工程与自动化(应用型)十二五规划教材
作者: 李秀娟
出版时间:2013年8月
出版社:机械工业出版社
- 机械工业出版社
- 9787111427957
- 1版
- 134054
- 0045156018-9
- 平装
- 16开
- 2013年8月
- 544
- 320
- 工学
- 计算机科学与技术
- TP360.21
- 电气信息类
- 本专科
《嵌入式系统设计(普通高等教育电气工程与自动化应用型十二五规划教材)》可作为自动化、电气工程及其自动化、电子信息工程、测控技术与仪器等专业的高年级本科生和研究生的参考教材,也可作为从事嵌入式系统设计、微控制系统设计和电子设计等科研人员和工程技术人员的参考读物。
前言
第1章 嵌入式系统基础1
1.1 嵌入式系统1
1.1.1 嵌入式系统简介1
1.1.2 嵌入式系统的组成2
1.1.3 嵌入式系统的特点4
1.1.4 嵌入式系统的分类5
1.1.5 嵌入式系统与PC的区别5
1.2 嵌入式系统的历史与发展6
1.2.1 嵌入式系统的历史6
1.2.2 嵌入式系统的应用领域6
1.2.3 嵌入式系统的发展趋势7
1.3 嵌入式操作系统8
1.3.1 Android9
1.3.2 Linux10
1.3.3 μC/OSⅡ10
1.3.4 WindowsCE10
1.3.5 VxWorks10
1.3.6 PalmOS11
1.4 嵌入式系统的选型原则11
1.4.1 嵌入式处理器的选型原则11
1.4.2 嵌入式操作系统的选型原则12
本章小结13
思考与练习13
第2章 嵌入式系统的硬件结构14
2.1 嵌入式系统的硬件组成14
2.2 ARM微处理器概述14
2.2.1 ARM公司简介14
2.2.2 ARM微处理器的家族15
2.2.3 ARM微处理器的结构18
2.2.4 ARM微处理器核的技术特点21
2.3 ARM的存储系统22
2.3.1 ARM的存储空间22
2.3.2 存储器的格式22
2.3.3 存储器的管理23
2.4 输入/输出设备24
2.4.1 LCD显示24
2.4.2 触摸屏24
2.4.3 键盘27
2.5 ARM的接口技术28
2.5.1 并行通信接口28
2.5.2 串行通信接口29
2.5.3 USB接口31
2.5.4 红外线接口33
2.5.5 PCMCIA和CF34
2.6 总线技术35
2.6.1 I2C总线35
2.6.2 SPI总线38
2.6.3 I2S总线40
2.6.4 CAN总线42
本章小结45
思考与练习45
第3章 基于ARM9处理器的硬件
开发平台46
3.1 ARM9处理器46
3.1.1 ARM9与ARM7处理器的比较46
3.1.2 ARM920T简介49
3.2 三星S3C2410X处理器概述53
3.2.1 S3C2410X处理器53
3.2.2 S3C2410X处理器的工作原理55
3.3 S3C2410X处理器单元电路的设计59
3.3.1 S3C2410X处理器主要引脚的
定义59
3.3.2 电源和复位电路66
3.3.3 晶体振荡器电路的设计67
3.3.4 串口和USB接口电路68
3.4 存储器的设计69
3.4.1 ROM接口电路的设计69
3.4.2 Flash接口电路的设计71
3.4.3 SDRAM接口电路的设计71
3.5 JTAG调试接口的设计72
3.6 博创UPNETARM2410S嵌入式平台
简介74
3.7 综合实训:通过JTAG烧写Flash75
本章小结77
思考与练习78
第4章 嵌入式操作系统79
4.1 嵌入式操作系统概述79
4.1.1 操作系统简介79
4.1.2 嵌入式操作系统的分类80
4.2 Linux操作系统81
4.2.1 Linux简介81
4.2.2 Linux的特点82
4.2.3 Linux的组成83
4.2.4 Linux的目录和路径84
4.2.5 Linux的常用命令85
4.2.6 Linux单操作系统的安装92
4.3 嵌入式Linux操作系统95
4.4 虚拟机简介96
4.5 综合实训:虚拟机的安装和使用97
本章小结103
思考与练习103
第5章 嵌入式开发环境的建立104
5.1 嵌入式系统的开发模式与设计
流程104
5.1.1 嵌入式系统的开发模式104
5.1.2 嵌入式系统的设计流程105
5.2 嵌入式Linux的开发流程109
5.3 嵌入式系统开发环境的建立111
5.3.1 建立开发环境111
5.3.2 开发环境的配置115
5.4 BootLoader119
5.4.1 BootLoader详解119
5.4.2 vivi123
5.4.3 UBoot131
5.5 Linux的根文件系统132
5.5.1 文件系统概述132
5.5.2 Linux根文件系统133
5.5.3 网络文件系统139
5.6 综合实训:建立嵌入式软件环境139
本章小结143
思考与练习143
第6章 嵌入式Linux系统的移植144
6.1 移植的概念144
6.2 Linux的体系结构145
6.2.1 Linux内核的结构145
6.2.2 Linux内核的配置147
6.3 Linux内核的编译与移植152
6.3.1 安装交叉编译工具153
6.3.2 修改Makefile文件153
6.3.3 设置Flash分区153
6.3.4 添加对Yaffs文件系统的
支持156
6.3.5 Linux内核的配置、编译与
移植156
6.4 综合实训:Linux内核的编译与
移植实验157
6.4.1 实验目的157
6.4.2 基础知识157
6.4.3 实验设备157
6.4.4 实验内容157
6.4.5 实验步骤157
本章小结160
思考与练习160
第7章 嵌入式Linux应用程序的开发
与调试161
7.1 开发的环境与工具161
7.1.1 交叉编译161
7.1.2 gcc编译器162
7.1.3 gdb调试器165
7.1.4 Vi编辑器的使用170
7.1.5 Makefile文件和make命令172
7.2 Linux下的C语言编程176
7.2.1 嵌入式C语言程序设计176
7.2.2 程序的编译与下载178
7.3 嵌入式系统的开发软件与调试
工具178
7.3.1 嵌入式系统调试方法概述178
7.3.2 常用调试方式179
7.3.3 ADS集成开发环境的使用180
7.3.4 用AXD进行代码调试187
7.4 ARM仿真器190
7.4.1 UArmJtag的JTAG在线仿真
调试190
7.4.2 UPICE200仿真器的使用194
本章小结196
思考与练习196
第8章 设备驱动程序的开发197
8.1 设备驱动概述197
8.1.1 驱动程序和应用程序的区别197
8.1.2 Linux的设备管理197
8.2 设备驱动程序的开发过程201
8.2.1 字符设备驱动程序的设计201
8.2.2 块设备驱动程序的设计207
8.2.3 网络设备驱动程序的设计208
8.2.4 驱动程序的注册210
8.2.5 设备驱动程序的编译212
8.2.6 驱动程序的加载213
8.2.7 驱动程序的调用213
8.3 驱动程序开发的常见问题215
8.4 综合实训:直流电动机驱动程序
的设计217
本章小结222
思考与练习223
第9章 嵌入式图形用户界面编程224
9.1 嵌入式系统GUI简介224
9.1.1 MiniGUI225
9.1.2 Microwindows/NanoX228
9.1.3 OpenGUI229
9.1.4 Qt/Embedded230
9.1.5 几种常见嵌入式GUI的对比232
9.2 基于Qt的嵌入式GUI应用开发232
9.2.1 Qt概述232
9.2.2 Qt的信号与槽机制235
9.2.3 Qt图形设计器239
9.2.4 Qt的开发流程241
9.2.5 建立Qt/Embedded开发环境244
9.3 综合实训:Qt/Embedded的编程
实例247
9.3.1 基于PC的Qt程序247
9.3.2 发布Qt/Embedded程序到目标机
开发板250
本章小结251
思考与练习251
第10章 嵌入式系统的工程开发
实例252
10.1 基于ARM的可燃气体报警系统252
10.1.1 系统设计概述252
10.1.2 硬件电路的设计252
10.1.3 驱动程序的设计260
10.1.4 应用程序的设计270
10.2 CAN总线应用实例285
10.2.1 CAN总线概述285
10.2.2 CAN智能节点的设计286
10.2.3 CAN接口电路的设计287
10.2.4 报文的发送与接收287
10.2.5 SPI接口290
10.2.6 CAN总线波特率的设置292
10.2.7 CAN总线驱动程序292
10.2.8 CAN应用程序307
本章小结309
思考与练习309
参考文献310