书籍详情

ARM嵌入式常用模块与综合系统设计实例精讲(第2版)

ARM嵌入式常用模块与综合系统设计实例精讲(第2版)

作者:张绮文,解书钢 编著

出版社:电子工业出版社

出版时间:2008-10-01

ISBN:9787121070358

定价:¥59.00

购买这本书可以去
内容简介
  本书是畅销书《ARM嵌入式常用模块与综合系统设计实例精讲》的第2版。全书针对目前通用流行的ARM嵌入式处理器,通过实例精讲的形式,详细介绍了ARM嵌入式常用模块与综合应用系统设计的方法及技巧。全书共分3篇33章,第一篇为基础知识篇,简要介绍了ARM 处理器及系统结构、ARM编程基础、ARM开发环境及调试系统;第二篇为常用模块设计实例篇,通过23个模块设计实例,详细介绍了ARM嵌入式的各种开发技术和使用技巧,这些模块实例基础、实用,易学易懂,全部调试通过,几乎涵盖了所有的ARM开发技术;第三篇为综合应用系统设计实例篇,通过6个综合系统实例,对前面的ARM常用模块进行了综合应用设计,经过此篇学习,读者将快速提高ARM综合系统设计的能力,步入高级工程师的行列。本书配有一张光盘,包含了全书所有实例的硬件原理图和程序源代码,方便读者学习和使用。本书适合广大计算机、自动化、电子及硬件等相关专业的大学生,以及从事ARM开发的科研人员使用。
作者简介
  张绮文,男,高级研发工程师,硕士学历,具有20年工作经验,长期从事ARM、Linux的嵌入式系统开发。现在为公司电子设备质量监督主管。其主要负责开发并投入商业应用的项目有:ARM指纹脱机模块、Vidio Capture、指纹门锁、寄包柜、指纹鼠标、保险箱、电子监管网等。座右铭:求知若饥,虚心若愚。
目录
第一篇 基础知识篇
第1章 ARM处理器及系统结构 2
1.1ARM处理器概述 2
1.1.1ARM公司简介 2
1.1.2ARM特点 3
1.1.3ARM应用领域 3
1.2ARM处理器系列 5
1.3ARM内核基本结构 9
1.3.1ARM内核 9
1.3.2ARM扩展功能块 10
1.3.3ARM启动方式 13
1.4ARM处理器运行模式 14
1.5ARM寄存器 14
1.5.1通用寄存器 14
1.5.2程序状态寄存器 16
1.5.3ARM状态下的寄存器 18
1.5.4Thumb状态下的寄存器 19
1.6ARM存储系统 20
1.6.1ARM存储方法 20
1.6.2存储空间管理单元(MMU) 21
1.7ARM流水线与时序 23
1.7.1ARM流水线 23
1.7.2ARM时序 23
1.8ARM中断与异常 24
1.8.1ARM异常类型 25
1.8.2异常的响应及返回 25
1.8.3异常的描述 26
1.8.4异常的处理 28

第2章 ARM编程基础 29
2.1ARM指令系统 29
2.1.1ARM指令介绍 29
2.1.2ARM指令寻址方式 31
2.1.3ARM指令集 34
2.2ARM汇编语言设计 46
2.2.1ARM汇编器所支持的伪指令 46
2.2.2汇编语言的语句格式 53
2.2.3汇编语言的程序结构 57
2.3ARMC语言设计 58
2.3.1优化C语言编程 58
2.3.2C语言与汇编混合编程 64
2.3.3ARMC/C++编译器 69

第3章 ARM开发环境与调试系统 76
3.1ADS开发环境 76
3.1.1CodeWarrior的使用 76
3.1.2AXD的使用 83
3.2SDT开发环境 86
3.2.1SDT开发环境及特点 86
3.2.2SDT调试环境 86
3.2.3利用SDT软件编程实例 87
3.3ARM体系中调试系统概述 90
3.4用仿真器调试系统 92
3.4.1初始化存储器 92
3.4.2在线仿真 92
3.4.3常见问题 94
3.5基于Angel的调试系统 95
3.5.1基于Angel的调试系统概述 95
3.5.2使用Angel开发应用程序 98
3.5.3Angel执行的操作 103
3.5.4将Angel移植到特定的
3.5.4目标系统 105
3.6基于JTAG的调试系统 122
3.6.1调试接口JTAG介绍 122
3.6.2基于JTAG的调试系统的
3.6.2特点 125
3.6.3基于JTAG的调试系统
3.6.3结构 126
3.6.4目标系统中的调试功能扩展
3.6.2部件 127
3.6.5基于JTAG的调试过程 128

第二篇 常用模块设计实例篇
第4章 ARM嵌入式开发平台的
第4章 构建 130
4.1实例说明 130
4.2ARM系统体系结构 130
4.2.1硬件体系结构 131
4.2.2软件体系结构 133
4.3硬件平台实现方法 134
4.3.1硬件电路板设计 134
4.3.2ARM硬件设计原则 136
4.4软件开发方法 137
4.4.1软件开发流程 137
4.4.2软件开发环境构建 138
4.5实例总结 139

第5章 DMA模块应用设计 140
5.1实例内容和目标 140
5.2DMA数据传输原理 140
5.2.1DMA操作原理 141
5.2.2外部DMA请求/应答协议 142
5.2.3DMA传送方式 143
5.2.4DMA的寄存器介绍 144
5.3软件设计 145
5.4实例总结 148

第6章 RTC模块应用设计 149
6.1实例内容和目标 149
6.2RTC工作原理 149
6.2.1RTC的特性 149
6.2.2RTC相关寄存器 150
6.3硬件设计 153
6.4软件设计 153
6.4.1RTC初始化 154
6.4.2RTC显示控制程序 154
6.5实例总结 156

第7章 PWM模块应用设计 157
7.1实例内容和目标 157
7.2PWM工作原理 158
7.2.1PWM的特性 158
7.2.2PWM的工作原理 158
7.2.3PWM的定时操作 159
7.2.4PWM的特殊寄存器 160
7.3实例软件设计 163
7.3.1PWM启动 163
7.3.2调制PWM 164
7.3.3程序代码 164
7.4实例总结 165

第8章 看门狗定时器模块设计 166
8.1实例说明 166
8.2看门狗工作原理 166
8.2.1看门狗定时器操作 166
8.2.2看门狗定时器特殊功能
8.2.2寄存器 167
8.3实例软件设计 168
8.4实例总结 169

第9章 中断处理模块设计 170
9.1实例说明 170
9.2中断处理与寄存器设置 171
9.2.1ARM中断处理类型 171
9.2.2ARM中断及相关寄存器 172
9.3中断硬件模块图 173
9.4软件程序设计 174
9.4.1中断处理流程 174
9.4.2中断程序设计 174
9.4.3中断处理程序优化 175
9.5实例总结 176

第10章 复位模块设计 177
10.1实例说明 177
10.2ARM复位原理 177
10.2.1ARM复位源类型 177
10.2.2复位工作原理 178
10.3硬件电路设计 179
10.3.1复位电路原理图 179
10.3.2复位电路的调试 180
10.4看门狗软件复位 181
10.5实例总结 183

第11章 A/D变换模块设计 184
11.1实例说明 184
11.2A/D变换原理 185
11.2.1A/D变换类型 185
11.2.2A/D转换过程 187
11.3硬件电路设计 188
11.3.1A/D模块 188
11.3.2D/A模块 189
11.4A/D采样软件设计 190
11.5实例总结 192

第12章 电源模块设计 193
12.1实例说明 193
12.2电源工作原理 193
12.2.1系统工作状态 193
12.2.2外设耗电考虑 194
12.3电源线与地线设计 196
12.4硬件电路设计 198
12.4.1直流电压产生方法 198
12.4.2电源模块电路原理图 198
12.5电源的软件管理 200
12.6实例总结 201

第13章 SDRAM模块设计 202
13.1实例说明 202
13.2SDRAM特点 202
13.2.1SDRAM状态 202
13.2.2SDRAM控制 203
13.2.3SDRAM时序特点 204
13.2.4地址空间分配 205
13.3硬件电路设计 206
13.3.1SDRAM芯片 206
13.3.2SDRAM模块原理图 207
13.4软件设计 208
13.4.1SDRAM读写 208
13.4.2SDRAM软件测试 209
13.5实例总结 216

第14章 Nand-Flash/Nor-Flash
第14章 存储模块设计 217
14.1实例说明 217
14.2Flash原理 218
14.2.1Nand-Flash与Nor-Flash
14.3.3区别 218
14.2.2Flash驱动 220
14.3硬件电路设计 220
14.3.1Nor-Flash的设计 220
14.3.2Nand-Flash的设计.. 222
14.3.3Nor-Flash/Nand-Flash
14.3.3跳线选择 223
14.4软件设计 224
14.4.1Flash数据存储操作流程 224
14.4.2程序代码说明 224
14.5实例总结 228

第15章 通用I/O模块设计 229
15.1实例说明 229
15.2GPIO原理 229
15.2.1GPIO设备驱动原理 229
15.2.2如何驱动GPIO及对应
14.3.3设备 231
15.3GPIO应用举例 231
15.4GPIO设备程序开发 232
15.4.1开发步骤 232
15.4.2GPIO端口编程 233
15.5实例总结 234

第16章 键盘模块设计 235
16.1实例说明 235
16.2键盘工作原理 235
16.2.1常用键盘接口 235
16.2.2行列式键盘工作原理 236
16.2.3键盘扫描流程 237
16.3硬件电路设计 237
16.3.1ARM键盘接口 237
16.3.2键盘电路原理图 237
16.4软件设计 238
16.4.1键盘扫描程序 238
16.4.2键盘测试程序 242
16.4.3键盘驱动 243
16.5实例总结 244

第17章 LCD模块设计 245
17.1实例说明 245
17.2LCD工作原理 246
17.2.1LCD显示模式 246
17.2.2LCD显示地址 247
17.2.3LCD读写时序 247
17.3硬件电路设计 249
17.3.1LCD显示电路 249
17.3.2电路原理图 250
17.4软件设计 251
17.4.1LCD显示定位.结构与
14.3.3驱动 251
17.4.2LCD显示流程 253
17.4.3LCD显示与测试 253
17.4.4LCD字模显示程序 257
17.5实例总结 259

第18章 USB设备模块设计 260
18.1实例说明 260
18.2设计思路分析 260
18.2.1USB工作原理 260
18.2.2USB特点 262
18.2.3USB传输方式 263
18.3硬件电路设计 263
18.3.1USB接口内部结构 263
18.3.2端口描述 265
18.3.3USB硬件原理图 266
18.4软件设计 267
18.4.1固件程序的设计 268
18.4.2驱动程序设计 268
18.5实例总结 271

第19章 以太网控制器模块设计 272
19.1实例说明 272
19.2以太网口工作原理 273
19.3硬件电路设计 274

19.3.1电路原理图 274
19.3.2网卡芯片调试 275
19.4软件设计 276
19.4.1以太网口存储及初始化 276
19.4.2发送数据包 277
19.4.3接收数据包 278
19.4.4程序代码 279
19.5实例总结 286
第20章I2C总线串行接口应用
第20章设计 287
20.1实例说明 287
20.2I2C设计原理 287
20.2.1I2C主从模式 287
20.2.2I2C工作原理 288
20.3I2C硬件电路设计 289
20.3.1I2C串口存储器 289
20.3.2电路原理图 290
20.4软件设计 290
20.4.1I2C读写过程设计 290
20.4.2程序代码说明 292
20.5实例总结 300
第21章UART异步串行接口模块
第21章设计 301
21.1实例说明 301
21.2串行通信原理 301
21.2.1异步串行通信 301
21.2.2同步串行通信 302
21.2.3RS-232-C接口 302
21.3硬件电路设计 304
21.4软件设计 305
21.4.1串口中断程序 305
21.4.2串口调试程序代码 306
21.5实例总结 308
第22章ARP网络寻址模块设计 309
22.1实例说明 309
22.2ARP设计 310
22.2.1ARP协议工作原理 310
22.2.2硬件ARP实现 311
22.3软件设计 311
22.3.1ARP实现流程 311
22.3.2ARP程序设计 313
22.4实例总结 317
第23章Boot-loader模块设计 318
23.1实例说明 318
23.2设计思路分析 319
23.2.1Boot-loader原理 320
23.2.2Boot-loader的stage1 322
23.2.3Boot-loader的stage2 323
23.3实现方法 326
23.3.1Boot-loader的设置 326
23.3.2Boot-loader程序设计 327
23.3.3Boot-loader程序烧写 330
23.4实例总结 331
第24章基于Nand-Flash的文件
第24章系统设计 332
24.1实例说明 332
24.2根文件系统原理 332
24.2.1Linux源文件的组织结构 332
24.2.2文件系统指标 334
24.2.3文件系统分类 334
24.3根文件创建过程 336
24.3.1配置NFS 336
24.3.2创建根文件系统 336
24.3.3文件系统的页面管理 340
24.4实例总结 342
第25章GUI系统的移植与应用
第25章设计 343
25.1实例说明 343
25.2GUI系统原理 343
25.2.1常用的GUI系统 343
25.2.2GUI设计要求 346
25.3不同GUI平台的移植配置 347
25.3.1MicroWindows的移植配置 347
25.3.2MiniGUI的移植配置 348
25.3.3Qt/Embedded的移植配置 348
25.4GUI图形显示的实现 349
25.4.1GUI系统的移植过程 349
25.4.2基于Frame-buffer的GUI
25.4.2图形显示 350
25.5实例总结 352
第26章ARMLinux的移植与应用
第26章设计 353
26.1实例说明 353
26.2Linux系统移植原理 354
26.2.1系统移植类型 354
26.2.2系统移植的启动阶段 354
26.3ARMLinux的移植过程 355
26.3.1建立Linux交叉编译环境 355
26.3.2剪裁和配置ARMLinux
25.4.2内核 357
26.3.3引导内核启动流程 362
26.3.4编写嵌入式Linux的设备
25.4.2驱动程序 364
26.4实例总结 367
第27章?C/OS-Ⅱ移植与应用设计 368
27.1?C/OS-Ⅱ实例内容 368
27.2?C/OS-Ⅱ概述 368
27.2.1?C/OS-II简介 368
27.2.2?C/OS-II的特点 369
27.3?C/OS-Ⅱ移植 371
27.3.1?C/OS-II文件体系结构 371
27.3.2?C/OS-II移植条件 371
27.3.3?C/OS-II在S3C44B0X
25.4.2上的移植 372
27.4?C/OS-Ⅱ实例软件设计 373
27.5实例总结 375

第三篇综合应用系统设计实例篇
第28章餐厅手持电子点菜系统
第28章设计 378
28.1实例说明 378
28.2设计思路分析 378
28.2.1系统工作原理 378
28.2.2系统功能模块 379
28.3系统硬件设计 379
28.4系统软件设计 380
28.4.1系统初始化程序代码 380
28.4.2主程序部分 385
28.5实例总结 390
第29章UDP数据报与TCP传输
第29章应用系统设计 391
29.1实例说明 391
29.2UDP与TCP数据传输原理 391
29.2.1UDP工作原理 391
29.2.2TCP工作原理 392
29.3层间接口设计 393
29.4软件设计 396
29.4.1UDP数据报传输 396
29.4.2TCP数据传输的实现 401
29.5实例总结 409
第30章音频编解码应用系统设计 410
30.1实例说明 410
30.2音频编解码原理 411
30.2.1音频编解码框图 411
30.2.2音频编码过程 412
30.2.3IIS音频总线 414
30.2.4IIS音频时钟与传输方式 415
30.3硬件电路设计 416
30.3.1音频A/D单元 416
30.3.2与ARM音频接口 417
30.4软件设计 417
30.5实例总结 421
第31章数字视频监控应用系统
第31章设计 422
31.1实例说明 422
31.2设计思路分析 422
31.2.1监控系统实现方案 422
31.2.2监控系统应用举例 424
31.3硬件电路设计 425
31.3.1ARM视频监控平台 425
31.3.2VGA接口与权电阻网络 426
31.3.3CMOS图像采集模块 427
31.4软件设计 429
31.4.1监控主程序流程 429
31.4.2程序代码说明 430
31.5实例总结 447
第32章指纹识别应用系统设计 448
32.1实例说明 448
32.2指纹识别 448
32.2.1基本概念 449
32.2.2指纹识别的基本原理 449
32.2.3指纹识别的方法 450
32.3硬件电路设计 454
32.3.1指纹硬件电路 454
32.3.2电路原理图 455
32.4软件设计 456
32.4.1指纹识别驱动 456
32.4.2指纹处理程序设计 456
32.5实例总结 464
第33章车载信息系统设计 466
33.1实例说明 466
33.2设计思路分析 467
33.2.1车载系统的结构 467
33.2.2车载系统的基本原理 468
33.2.3车载系统开发平台 468
33.2.4系统软件体系结构 469
33.3硬件电路设计 469
33.3.1硬件电路 470
33.3.2硬件模块说明 470
33.4软件设计 472
33.4.1相关驱动说明 473
33.4.2模块程序设计 474
33.4.3整体设计 476
33.4.4部分源程序 476
33.5实例总结 485
猜您喜欢

读书导航