书籍详情
基于ARM的嵌入式系统开发与实例
作者:陈艳华,侯安华,刘盼盼
出版社:人民邮电出版社
出版时间:2008-02-01
ISBN:9787115172792
定价:¥45.00
购买这本书可以去
内容简介
本书以嵌入式系统中应用非常广泛的ARM体系结构处理器为基础,用带有三星公司S3C44B0X处理器的嵌入式开发板,配合各种软件系统和工具,来讲述嵌入式系统开发技术。第1章~第3章主要介绍嵌入式开发前常用平台和工具以及ARM体系结构和SkyEye模拟器原理等。第4章~第22章全部是工程案例,具有极高的参考价值,内容包括嵌入式开发中涉及的所有典型接口设计以及两种嵌入式操作系统(μC/OS和μClinux)在嵌入式系统中的应用。 本书偏重于实例运用,着重介绍了如何以C语言为工具进行嵌入式系统软件的开发,所有源代码都是分段讲解,层次分明且讲解透彻细致。 本书适合于高等院校自动化、通信、计算机及其相关专业高年级学生学习使用,也适合从事ARM嵌入式开发人员和科技人员参考。
作者简介
暂缺《基于ARM的嵌入式系统开发与实例》作者简介
目录
第1章 准备工作 1
1.1 建立开发平台 1
1.1.1 硬件平台 1
1.1.2 软件平台 3
1.1.3 Windows开发平台 13
1.2 程序的调试 18
1.2.1 JTAG调试技术介绍 18
1.2.2 调试例子 19
本章小结 22
第2章 ARM处理器结构与指令集 23
2.1 ARM处理器结构 23
2.1.1 ARM处理器介绍 23
2.1.2 ARM存储器 24
2.1.3 ARM工作模式和状态 26
2.1.4 ARM内部寄存器 27
2.1.5 ARM异常 31
2.2 ARM处理器指令系统 36
2.2.1 ARM处理器寻址方式 36
2.2.2 ARM指令集 37
2.2.3 Thumb指令 59
2.3 S3C44B0X处理器结构 60
2.3.1 S3C44B0X结构介绍 60
2.3.2 S3C44B0X片上资源 60
2.3.3 内部结构及引脚信号定义 62
2.4 S3C44B0X汇编初始化程序 64
2.4.1 BootLoader介绍 65
2.4.2 初始化代码 65
2.4.3 调试与运行 74
本章小结 76
第3章 SkyEye模拟器 77
3.1 SkyEye模拟器介绍 77
3.1.1 SkyEye简介 77
3.1.2 SkyEye模拟器结构 78
3.1.3 SkyEye的意义 78
3.2 SkyEye模拟器的安装与使用 79
3.2.1 SkyEye模拟器的安装 79
3.2.2 SkyEye模拟器的使用 80
3.2.3 编写应用程序 82
3.2.4 文件系统 83
3.2.5 运行结果 83
本章小结 84
第4章 Flash ROM存储器接口设计 85
4.1 S3C44B0X存储器控制器 85
4.1.1 概述 85
4.1.2 功能描述 86
4.1.3 特殊寄存器 90
4.2 Flash Rom原理分析 96
4.2.1 Flash器件介绍 96
4.2.2 Flash读写操作 97
4.2.3 SST39VF160芯片介绍 97
4.2.4 SST39VF160芯片操作 98
4.3 接口电路与程序设计 102
4.3.1 电路连接 102
4.3.2 硬件和寄存器设置 103
4.3.3 程序的编写 103
4.3.4 调试与运行结果 106
本章小结 107
第5章 RAM存储器接口设计 108
5.1 SDRAM芯片介绍 108
5.1.1 SDRAM介绍 108
5.1.2 HY57V641620HG的结构 109
5.2 接口电路与程序设计 109
5.2.1 电路连接 110
5.2.2 硬件和寄存器设置 110
5.2.3 程序的编写 111
5.2.4 调试与运行结果 112
本章小结 112
第6章 PWM定时器与中断 113
6.1 S3C44B0X中断机制分析 113
6.1.1 中断控制器 113
6.1.2 中断源与中断模式 116
6.1.3 中断优先级 117
6.1.4 其他特殊寄存器 119
6.2 PWM定时器 121
6.2.1 定时器结构概述 122
6.2.2 定时器操作 123
6.2.3 死区产生器 125
6.2.4 DMA请求模式 125
6.2.5 特殊寄存器 126
6.3 中断与定时器的应用 129
6.3.1 寄存器设置 129
6.3.2 程序的编写 130
6.3.3 调试与运行结果 131
本章小结 131
第7章 看门狗定时器 132
7.1 S3C44B0X看门狗定时器 132
7.1.1 看门狗定时器概述 132
7.1.2 看门狗定时器操作 132
7.1.3 特殊寄存器 133
7.2 看门狗定时器应用 134
7.2.1 寄存器设置 134
7.2.2 程序的编写 135
7.2.3 调试与运行结果 136
本章小结 136
第8章 通用I/O键盘接口设计 137
8.1 S3C44B0X通用I/O端口 137
8.1.1 I/O端口概述 137
8.1.2 I/O端口控制寄存器 140
8.2 键盘工作原理 143
8.2.1 键盘结构 143
8.2.2 按键消抖 143
8.2.3 键盘扫描 143
8.3 接口电路与程序设计 144
8.3.1 电路连接 144
8.3.2 寄存器设置 144
8.3.3 程序的编写 145
8.3.4 调试与运行结果 147
本章小结 147
第9章 串行通信接口设计 148
9.1 串行通信 148
9.1.1 异步串行通信原理 148
9.1.2 RS-232C串口规范 149
9.2 S3C44B0X异步串行通信 151
9.2.1 异步串行通信特性概述 151
9.2.2 UART的操作 151
9.2.3 特殊寄存器 155
9.3 接口电路与程序设计 159
9.3.1 电路连接 160
9.3.2 寄存器设置 160
9.3.3 程序的编写 161
9.3.4 调试与运行结果 162
本章小结 162
第10章 I2C总线接口设计 163
10.1 S3C44B0X的I2C总线模块 163
10.1.1 I2C总线介绍 163
10.1.2 I2C总线工作原理 164
10.1.3 I2C总线信号和时序 164
10.1.4 特殊寄存器 168
10.1.5 EEPROM器件 170
10.2 接口电路与程序设计 172
10.2.1 电路连接 172
10.2.2 寄存器设置 172
10.2.3 程序的编写 173
10.2.4 调试与运行结果 175
本章小结 175
第11章 实时日历时钟RTC 176
11.1 实时日历时钟RTC 176
11.1.1 实时日历时钟RTC概述 176
11.1.2 实时日历时钟RTC功能 177
11.1.3 特殊寄存器 178
11.2 RTC日历时钟的应用 181
11.2.1 寄存器设置 182
11.2.2 程序的编写 182
11.2.3 调试与运行结果 184
本章小结 184
第12章 A/D转换器 185
12.1 A/D转换器原理 185
12.1.1 A/D转换器的类别 185
12.1.2 A/D转换器的参数 186
12.2 S3C44B0X的A/D转换器 187
12.2.1 S3C44B0X的A/D转换器概述 187
12.2.2 特殊寄存器 189
12.3 A/D转换器的应用 190
12.3.1 电路连接 190
12.3.2 硬件和寄存器设置 190
12.3.3 程序的编写 190
12.3.4 调试与运行结果 191
本章小结 192
第13章 DMA控制器 193
13.1 DMA控制器 193
13.1.1 DMA控制器结构 193
13.1.2 DMA控制器操作 195
13.1.3 特殊寄存器 198
13.2 DMA数据传输的应用 203
13.2.1 寄存器 203
13.2.2 程序的编写 203
13.2.3 调试与运行结果 205
本章小结 206
第14章 LCD接口设计 207
14.1 LCD控制器 207
14.1.1 LCD控制器介绍 207
14.1.2 LCD控制器的结构 208
14.1.3 LCD控制器操作 208
14.1.4 特殊寄存器 212
14.2 接口电路与程序设计 218
14.2.1 电路连接 218
14.2.2 寄存器设置 219
14.2.3 程序的编写 220
14.2.4 调试与运行结果 223
本章小结 223
第15章 网卡接口设计 224
15.1 RTL8019AS以太网控制器 224
15.1.1 RTL8019AS介绍 224
15.1.2 NE2000兼容的寄存器 225
15.1.3 RTL8019AS操作分析 229
15.2 接口电路与程序设计 230
15.2.1 电路连接 230
15.2.2 寄存器 231
15.2.3 程序的编写 233
15.2.4 调试与运行结果 238
本章小结 238
第16章 μC/OS-Ⅱ移植与应用 239
16.1 μC/OS-Ⅱ实时操作系统 239
16.1.1 实时操作系统概念 239
16.1.2 μC/OS-Ⅱ的文件结构 240
16.1.3 μC/OS-Ⅱ的任务与中断 241
16.2 μC/OS-Ⅱ的移植 242
16.2.1 移植条件和内容分析 242
16.2.2 μC/OS-Ⅱ移植源文件 244
16.3 μC/OS-Ⅱ应用程序设计 251
16.3.1 配置OS_CFG.H文件 252
16.3.2 任务函数的编写 252
16.3.3 调试与运行结果 256
本章小结 256
第17章 μCLinux移植 257
17.1 Linux操作系统 257
17.1.1 Linux介绍 257
17.1.2 Linux内核 258
17.2 μCLinux操作系统 261
17.2.1 μClinux介绍 261
17.2.2 μClinux文件结构 262
17.3 μClinux移植过程 263
17.3.1 寄存器配置和文件修改 263
17.3.2 编译过程 266
17.3.4 下载与运行结果 272
本章小结 272
第18章 μClinux驱动程序设计 273
18.1 Linux驱动程序基本知识 273
18.1.1 Linux驱动程序 273
18.1.2 字符设备驱动 278
18.1.3 添加驱动到内核 285
18.2 I2C驱动程序设计 285
18.2.1 I2C驱动程序的编写 285
18.2.2 测试程序的编写 291
18.2.3 模块的安装 292
18.2.4 调试与运行结果 293
本章小结 293
第19章 μClinux网卡驱动程序设计 294
19.1 Linux网络协议层 294
19.1.1 网络层次总体结构 294
19.1.2 驱动程序分析 296
19.2 网卡驱动程序设计 307
19.2.1 RTL8019AS驱动的编写 307
19.2.2 调试与运行结果 312
本章小结 312
第20章 嵌入式图形用户界面工具 313
20.1 显示驱动接口 313
20.1.1 framebuffer驱动接口 313
20.1.2 qvfb虚拟驱动接口 314
20.2 MiniGUI图形用户界面工具 316
20.2.1 MiniGUI介绍 316
20.2.2 MiniGUI使用基础 320
20.2.3 MiniGUI对话框、控件、菜单与绘图 323
20.3 Qt embeded图形界面工具 333
20.3.1 Qt embeded介绍 333
20.3.2 Qt embeded使用基础 335
20.4 Qt Designer图形界面开发 339
20.4.1 Qt Designer介绍 339
20.4.2 Qt Designer的使用 339
20.4.3 添加源代码 342
20.4.4 调试与运行结果 346
本章小结 346
第21章 GPS导航终端系统设计 347
21.1 GPS全球定位系统 347
21.1.1 GPS定位原理 347
21.1.2 NMEA-0183标准 349
21.1.3 MapInfo电子地图格式 350
21.2 GSM网络系统 351
21.2.1 GSM网络简介 351
21.2.2 SMS短信息服务 351
21.3 GPS导航系统设计过程 354
21.3.1 系统分析与规划 354
21.3.2 功能模块设计 357
21.3.3 电子地图设计 367
21.3.4 BootLoader设计 371
21.3.5 μClinux操作系统 371
本章小结 375
第22章 微型嵌入式Web服务器的设计 376
22.1 网络通信技术 376
22.1.1 以太网简述 377
22.1.2 TCP/IP协议 378
22.2 系统硬件结构设计 385
22.2.1 S3C44B0X微控制器 385
22.2.2 网络控制器ENC28J0及其接口电路 386
22.3 软件程序结构设计 389
22.3.1 主程序流程 389
22.3.2 子程序的设计和实现 389
本章小结 398
参考资料 399
1.1 建立开发平台 1
1.1.1 硬件平台 1
1.1.2 软件平台 3
1.1.3 Windows开发平台 13
1.2 程序的调试 18
1.2.1 JTAG调试技术介绍 18
1.2.2 调试例子 19
本章小结 22
第2章 ARM处理器结构与指令集 23
2.1 ARM处理器结构 23
2.1.1 ARM处理器介绍 23
2.1.2 ARM存储器 24
2.1.3 ARM工作模式和状态 26
2.1.4 ARM内部寄存器 27
2.1.5 ARM异常 31
2.2 ARM处理器指令系统 36
2.2.1 ARM处理器寻址方式 36
2.2.2 ARM指令集 37
2.2.3 Thumb指令 59
2.3 S3C44B0X处理器结构 60
2.3.1 S3C44B0X结构介绍 60
2.3.2 S3C44B0X片上资源 60
2.3.3 内部结构及引脚信号定义 62
2.4 S3C44B0X汇编初始化程序 64
2.4.1 BootLoader介绍 65
2.4.2 初始化代码 65
2.4.3 调试与运行 74
本章小结 76
第3章 SkyEye模拟器 77
3.1 SkyEye模拟器介绍 77
3.1.1 SkyEye简介 77
3.1.2 SkyEye模拟器结构 78
3.1.3 SkyEye的意义 78
3.2 SkyEye模拟器的安装与使用 79
3.2.1 SkyEye模拟器的安装 79
3.2.2 SkyEye模拟器的使用 80
3.2.3 编写应用程序 82
3.2.4 文件系统 83
3.2.5 运行结果 83
本章小结 84
第4章 Flash ROM存储器接口设计 85
4.1 S3C44B0X存储器控制器 85
4.1.1 概述 85
4.1.2 功能描述 86
4.1.3 特殊寄存器 90
4.2 Flash Rom原理分析 96
4.2.1 Flash器件介绍 96
4.2.2 Flash读写操作 97
4.2.3 SST39VF160芯片介绍 97
4.2.4 SST39VF160芯片操作 98
4.3 接口电路与程序设计 102
4.3.1 电路连接 102
4.3.2 硬件和寄存器设置 103
4.3.3 程序的编写 103
4.3.4 调试与运行结果 106
本章小结 107
第5章 RAM存储器接口设计 108
5.1 SDRAM芯片介绍 108
5.1.1 SDRAM介绍 108
5.1.2 HY57V641620HG的结构 109
5.2 接口电路与程序设计 109
5.2.1 电路连接 110
5.2.2 硬件和寄存器设置 110
5.2.3 程序的编写 111
5.2.4 调试与运行结果 112
本章小结 112
第6章 PWM定时器与中断 113
6.1 S3C44B0X中断机制分析 113
6.1.1 中断控制器 113
6.1.2 中断源与中断模式 116
6.1.3 中断优先级 117
6.1.4 其他特殊寄存器 119
6.2 PWM定时器 121
6.2.1 定时器结构概述 122
6.2.2 定时器操作 123
6.2.3 死区产生器 125
6.2.4 DMA请求模式 125
6.2.5 特殊寄存器 126
6.3 中断与定时器的应用 129
6.3.1 寄存器设置 129
6.3.2 程序的编写 130
6.3.3 调试与运行结果 131
本章小结 131
第7章 看门狗定时器 132
7.1 S3C44B0X看门狗定时器 132
7.1.1 看门狗定时器概述 132
7.1.2 看门狗定时器操作 132
7.1.3 特殊寄存器 133
7.2 看门狗定时器应用 134
7.2.1 寄存器设置 134
7.2.2 程序的编写 135
7.2.3 调试与运行结果 136
本章小结 136
第8章 通用I/O键盘接口设计 137
8.1 S3C44B0X通用I/O端口 137
8.1.1 I/O端口概述 137
8.1.2 I/O端口控制寄存器 140
8.2 键盘工作原理 143
8.2.1 键盘结构 143
8.2.2 按键消抖 143
8.2.3 键盘扫描 143
8.3 接口电路与程序设计 144
8.3.1 电路连接 144
8.3.2 寄存器设置 144
8.3.3 程序的编写 145
8.3.4 调试与运行结果 147
本章小结 147
第9章 串行通信接口设计 148
9.1 串行通信 148
9.1.1 异步串行通信原理 148
9.1.2 RS-232C串口规范 149
9.2 S3C44B0X异步串行通信 151
9.2.1 异步串行通信特性概述 151
9.2.2 UART的操作 151
9.2.3 特殊寄存器 155
9.3 接口电路与程序设计 159
9.3.1 电路连接 160
9.3.2 寄存器设置 160
9.3.3 程序的编写 161
9.3.4 调试与运行结果 162
本章小结 162
第10章 I2C总线接口设计 163
10.1 S3C44B0X的I2C总线模块 163
10.1.1 I2C总线介绍 163
10.1.2 I2C总线工作原理 164
10.1.3 I2C总线信号和时序 164
10.1.4 特殊寄存器 168
10.1.5 EEPROM器件 170
10.2 接口电路与程序设计 172
10.2.1 电路连接 172
10.2.2 寄存器设置 172
10.2.3 程序的编写 173
10.2.4 调试与运行结果 175
本章小结 175
第11章 实时日历时钟RTC 176
11.1 实时日历时钟RTC 176
11.1.1 实时日历时钟RTC概述 176
11.1.2 实时日历时钟RTC功能 177
11.1.3 特殊寄存器 178
11.2 RTC日历时钟的应用 181
11.2.1 寄存器设置 182
11.2.2 程序的编写 182
11.2.3 调试与运行结果 184
本章小结 184
第12章 A/D转换器 185
12.1 A/D转换器原理 185
12.1.1 A/D转换器的类别 185
12.1.2 A/D转换器的参数 186
12.2 S3C44B0X的A/D转换器 187
12.2.1 S3C44B0X的A/D转换器概述 187
12.2.2 特殊寄存器 189
12.3 A/D转换器的应用 190
12.3.1 电路连接 190
12.3.2 硬件和寄存器设置 190
12.3.3 程序的编写 190
12.3.4 调试与运行结果 191
本章小结 192
第13章 DMA控制器 193
13.1 DMA控制器 193
13.1.1 DMA控制器结构 193
13.1.2 DMA控制器操作 195
13.1.3 特殊寄存器 198
13.2 DMA数据传输的应用 203
13.2.1 寄存器 203
13.2.2 程序的编写 203
13.2.3 调试与运行结果 205
本章小结 206
第14章 LCD接口设计 207
14.1 LCD控制器 207
14.1.1 LCD控制器介绍 207
14.1.2 LCD控制器的结构 208
14.1.3 LCD控制器操作 208
14.1.4 特殊寄存器 212
14.2 接口电路与程序设计 218
14.2.1 电路连接 218
14.2.2 寄存器设置 219
14.2.3 程序的编写 220
14.2.4 调试与运行结果 223
本章小结 223
第15章 网卡接口设计 224
15.1 RTL8019AS以太网控制器 224
15.1.1 RTL8019AS介绍 224
15.1.2 NE2000兼容的寄存器 225
15.1.3 RTL8019AS操作分析 229
15.2 接口电路与程序设计 230
15.2.1 电路连接 230
15.2.2 寄存器 231
15.2.3 程序的编写 233
15.2.4 调试与运行结果 238
本章小结 238
第16章 μC/OS-Ⅱ移植与应用 239
16.1 μC/OS-Ⅱ实时操作系统 239
16.1.1 实时操作系统概念 239
16.1.2 μC/OS-Ⅱ的文件结构 240
16.1.3 μC/OS-Ⅱ的任务与中断 241
16.2 μC/OS-Ⅱ的移植 242
16.2.1 移植条件和内容分析 242
16.2.2 μC/OS-Ⅱ移植源文件 244
16.3 μC/OS-Ⅱ应用程序设计 251
16.3.1 配置OS_CFG.H文件 252
16.3.2 任务函数的编写 252
16.3.3 调试与运行结果 256
本章小结 256
第17章 μCLinux移植 257
17.1 Linux操作系统 257
17.1.1 Linux介绍 257
17.1.2 Linux内核 258
17.2 μCLinux操作系统 261
17.2.1 μClinux介绍 261
17.2.2 μClinux文件结构 262
17.3 μClinux移植过程 263
17.3.1 寄存器配置和文件修改 263
17.3.2 编译过程 266
17.3.4 下载与运行结果 272
本章小结 272
第18章 μClinux驱动程序设计 273
18.1 Linux驱动程序基本知识 273
18.1.1 Linux驱动程序 273
18.1.2 字符设备驱动 278
18.1.3 添加驱动到内核 285
18.2 I2C驱动程序设计 285
18.2.1 I2C驱动程序的编写 285
18.2.2 测试程序的编写 291
18.2.3 模块的安装 292
18.2.4 调试与运行结果 293
本章小结 293
第19章 μClinux网卡驱动程序设计 294
19.1 Linux网络协议层 294
19.1.1 网络层次总体结构 294
19.1.2 驱动程序分析 296
19.2 网卡驱动程序设计 307
19.2.1 RTL8019AS驱动的编写 307
19.2.2 调试与运行结果 312
本章小结 312
第20章 嵌入式图形用户界面工具 313
20.1 显示驱动接口 313
20.1.1 framebuffer驱动接口 313
20.1.2 qvfb虚拟驱动接口 314
20.2 MiniGUI图形用户界面工具 316
20.2.1 MiniGUI介绍 316
20.2.2 MiniGUI使用基础 320
20.2.3 MiniGUI对话框、控件、菜单与绘图 323
20.3 Qt embeded图形界面工具 333
20.3.1 Qt embeded介绍 333
20.3.2 Qt embeded使用基础 335
20.4 Qt Designer图形界面开发 339
20.4.1 Qt Designer介绍 339
20.4.2 Qt Designer的使用 339
20.4.3 添加源代码 342
20.4.4 调试与运行结果 346
本章小结 346
第21章 GPS导航终端系统设计 347
21.1 GPS全球定位系统 347
21.1.1 GPS定位原理 347
21.1.2 NMEA-0183标准 349
21.1.3 MapInfo电子地图格式 350
21.2 GSM网络系统 351
21.2.1 GSM网络简介 351
21.2.2 SMS短信息服务 351
21.3 GPS导航系统设计过程 354
21.3.1 系统分析与规划 354
21.3.2 功能模块设计 357
21.3.3 电子地图设计 367
21.3.4 BootLoader设计 371
21.3.5 μClinux操作系统 371
本章小结 375
第22章 微型嵌入式Web服务器的设计 376
22.1 网络通信技术 376
22.1.1 以太网简述 377
22.1.2 TCP/IP协议 378
22.2 系统硬件结构设计 385
22.2.1 S3C44B0X微控制器 385
22.2.2 网络控制器ENC28J0及其接口电路 386
22.3 软件程序结构设计 389
22.3.1 主程序流程 389
22.3.2 子程序的设计和实现 389
本章小结 398
参考资料 399
猜您喜欢