第1章 ARM、嵌入式系统介绍 1
1.1 ARM微处理器概述 1
1.2 嵌入式系统的概念 7
1.3 嵌入式操作系统 10
第2章 ARM外围硬件、实验平台硬件详解 19
2.1 S3C2440系列芯片介绍 19
2.2 S3C2440系列芯片的应用领域 23
2.3 S3C2440系列芯片的器件信息 23
2.4 S3C2440系列芯片的引脚图 24
2.5 S3C2440系列芯片的结构框图 25
2.6 S3C2440系列芯片的引脚说明 26
2.7 S3C2440系列芯片的开发板硬件设计说明 26
第3章 ARM体系架构 39
3.1 ARM9TDMI介绍 39
3.2 ARM体系结构的特点 39
3.3 各ARM体系结构版本 39
3.4 ARM处理器内核简介 41
3.5 存储控制器 50
3.6 协处理器接口 52
3.7 调试接口简介 52
3.8 ETM接口简介 53
第4章 ARM指令集介绍 54
4.1 ARM指令集简介 54
4.2 ARM处理器寻址方式 54
4.3 ARM指令集 58
4.4 ARM伪指令 75
4.5 Thumb指令集 78
第5章 ARM启动代码详解 79
5.1 启动代码综述 79
5.2 S3C2440初始化说明 83
第6章 GPIO实验 96
6.1 GPIO原理分析 96
6.2 硬件连接 98
6.3 程序范例 99
6.4 GPIO作业 99
第7章 UART实验 101
7.1 UART原理分析 101
7.2 S3C2440的UART介绍 102
7.3 UART查询方式串行通信过程 108
7.4 UART应用编程示例 109
第8章 TFTLCD实验 114
8.1 常用显示器件类别 114
8.2 LCD介绍 115
8.3 S3C2440 LCD控制器的特性 119
8.4 LCD控制器主要寄存器功能详解 122
8.5 LCD程序流程 129
8.6 程序实现 131
8.7 取模软件使用 136
第9章 中断 139
9.1 S3C2440中断介绍 139
9.2 中断范例:硬件设计——键盘的硬件实现 142
9.3 软件实现 143
第10章 ADC模数转换 151
10.1 AD原理 151
10.2 S3C2440 ADC介绍 152
10.3 S3C2440 ADC控制寄存器 153
10.4 实验电路图 155
10.5 程序范例:程序设计实现 155
第11章 触摸屏实验 160
11.1 触摸屏 160
11.2 S3C2440触摸屏控制器 166
11.3 触摸屏电路图 170
11.4 实验程序 171
11.5 触摸屏校正 177
第12章 RTC实验 181
12.1 简单介绍 181
12.2 相关寄存器 181
12.3 程序实现 184
第13章 定时器实验 190
13.1 S3C2440定时器介绍 190
13.2 程序执行过程 193
13.3 程序范例 194
13.4 程序运行结果 196
第14章 PWM实验 197
14.1 S3C2440定时器介绍 197
14.2 脉宽调制PWM介绍 197
14.3 相关PWM寄存器介绍 197
14.4 程序执行过程 198
14.5 程序代码 199
第15章 SDRAM模块 202
15.1 SDRAM概述 202
15.2 存储控制器 202
15.3 硬件连接 203
15.4 软件设计流程 204
第16章 Nor Flash模块 205
16.1 Flash(闪存)的特点 205
16.2 NorFlash简介 205
16.3 S29AL016J Nor Flash简介 206
16.4 硬件连接 210
16.5 S29AL016J的程序 210
16.6 S29AL016J的编程实现 215
第17章 Nand Flash模块 219
17.1 Nand Flash的特点 219
17.2 K9F1G08U0B芯片介绍(128M×8b Nand Flash) 219
17.3 Nand Flash寄存器 222
17.4 硬件连接介绍 229
17.5 程序流程 230
17.6 Nand Flash编程实现 235
第18章 IIC模块 252
18.1 IIC介绍 252
18.2 IIC总线特点 252
18.3 总线工作原理 252
18.4 S3C2440X的IIC控制器 254
18.5 AT24C02 EEPROM 258
18.6 硬件电路图 259
18.7 程序实现 260
第19章 SPI模块 271
19.1 SPI介绍 271
19.2 SPI硬件连接 271
19.3 程序操作过程 272
19.4 SPI模式选择和寄存器介绍 272
第20章 看门狗实验 275
20.1 看门狗功能简述 275
20.2 看门狗的工作原理 275
20.3 S3C2440的看门狗 275
20.4 S3C2440相关寄存器 276
20.5 看门狗应用编程实现 278
20.6 程序范例 279
20.7 看门狗程序运行结果 281
第21章 内存管理单元MMU 282
21.1 内存管理单元MMU概述 282
21.2 Cache——协处理指令 282
21.3 DMA含义 285
第22章 音频AC97/IIS、视频、USB接口、SD卡原理 286
22.1 音频AC97/IIS 286
22.2 视频 287
22.3 USB接口 288
22.4 SD卡原理 289
第23章 KEIL集成开发环境介绍及应用 297
23.1 第一步:新建工程 297
23.2 第二步:新建文件,自己写c程序(用户程序) 298
23.3 第三步:添加c文件到工程 298
23.4 第四步:COPY 2~4个配置文件 299
23.5 第五步:配置 299
23.6 仿真、调试、运行 302
第24章 Cisco TFTP Server下载指南 304
24.1 软件简介 304
24.2 TFTP简介 304
24.3 操作步骤 304
24.4 思科服务器常见问题 308
第25章 H-JTAG仿真调试器的使用 309
25.1 安装软件 309
25.2 打开H-JTAG Server软件 309
25.3 打开H-Flasher软件 310
25.4 运行下载完程序 311
25.5 H-JTAG擦除Nor Flash操作 311
第26章 JLINK仿真调试器的使用 313
第27章 μC/OS操作系统简介 317
27.1 嵌入式操作系统简介 317
27.2 μC/OS——微控制器操作系统 318
27.3 μC/OS-Ⅱ图书 319
27.4 μC/OS-Ⅱ提供的系统服务 319
第28章 μC/OS操作系统移植实例 320
28.1 μC/OS Ⅱ成功移植的条件 320
28.2 μC/OS Ⅱ移植的相关工作 320
28.3 用户实时任务编写 320
第29章 嵌入式系统工程设计、ARM电子项目开发实战案例1 322
29.1 项目管理知识 322
29.2 ARM项目范例讲解 324
第30章 嵌入式系统工程设计、ARM电子项目开发实战案例2 325
30.1 ARM9项目功能介绍——可视触摸屏门禁机项目 325
30.2 可视门禁机主界面 325
30.3 ARM9项目功能介绍——裸机计算器项目 326
30.4 ARM9项目功能介绍——手写板项目 326
30.5 ARM9项目功能介绍——RTC实时时钟项目 327
第31章 ARM11硬件介绍 328
31.1 ARMv6体系结构 328
31.2 目标应用 328
31.3 特点 328
31.4 性能 329
31.5 ARM11处理器的内核特点 329
31.6 S3C6410硬件开发指南 330
第32章 ModBus RTU模式CRC16校验 337
32.1 CRC概念 337
32.2 工业总线ModBus 338
参考文献 350