图书介绍
嵌入式系统设计与开发实例详解 基于ARM的应用pdf电子书版本下载
- 胥静主编 著
- 出版社: 北京:北京航空航天大学出版社
- ISBN:7810775588
- 出版时间:2005
- 标注页数:392页
- 文件大小:26MB
- 文件页数:407页
- 主题词:微型计算机-系统设计;微型计算机-系统开发
PDF下载
下载说明
嵌入式系统设计与开发实例详解 基于ARM的应用PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
1.1 概述 1
1.2 实例内容和目标 1
实例1 嵌入式系统开发实例——模拟PDA的实现 1
1.3 实例分析 2
1 3 1 系统构成的元素 2
1 3 2 硬件部分 3
1 3 3 软件部分 5
1 4 实现方法与步骤 10
1.4 1 连接硬件电路 11
1 4 2 程序目录和内容说明 11
1 4 3 下载并运行程序 12
实例2 ARMSys平台开发环境及工具详解 12
2.2 实例内容和目标 13
2.1 概述 13
2.3 实例分析 14
2 3 1 ARMSys的组成结构 14
2 3 2 ARMSys的启动程序和地址空间分配 16
2 3 3 ARMSys提供的开发环境 18
2 3 4 应用开发步骤 19
2.3 5 SDT2 5的介绍 19
2.4 实现方法与步骤 20
2 4 1 编写或修改源程序代码 21
2 4 2 使用APM对工程进行编译 22
2 4 3 使用ADW进行仿真调试 30
2 4 4 在Windows 2000/XP下使用JTAG exe 37
2 4 5 USB口下载工具 39
2 4 6 代码固化 40
3.1 概述 42
3.2 实例内容和目标 42
实例3 Flash ROM器件应用 42
3.3 实例分析 43
3 3 1 读操作 44
3 3 2 字写入操作 45
3 3 3 扇区/块/整片擦除操作 47
3 3 4 内部操作状态检测 49
3.4 实现方法与步骤 49
3.4 1 接口电路 49
3.4 2 硬件上的设置 50
3 4 3 寄存器的说明 51
3 4 5 SST39VF160的写入 53
3 4 4 SST39VF160的擦除 53
3.5 运行结果 54
实例4 SDRAM器件应用 55
4.1 概述 55
4.2 实例内容和目标 55
4.3 实例分析 55
4 3 1 SRAM器件的结构特点 55
4 3 2 DRAM器件的结构特点 56
4 3 3 SDRAM器件的构成原理和应用特点 57
4 3 4 SDRAM器件IS42S16400简介 57
4.4 实现方法与步骤 59
4 4 1 地址分配 59
4 4 3 寄存器设置 61
4 4 2 电路连接 61
4 4 4 对IS42S16400的编程 65
4.5 运行结果 65
实例5 Nand-flash存储器器件应用 66
5.1 概述 66
5.2 实例内容和目标 66
5.3 实例分析 66
5 3 1 Nand-flash存储器的应用特点 66
5 3 2 Nand-flash存储器器件K9F5608U0B简介 67
5.4 实现方法与步骤 78
5 4 1 K9F5608U0B与S3C44B0X的接口设计 78
5 4 2 写入指令、地址和读/写数据的条件 79
5 4 4 块擦除子程序 80
5 4 3 读器件的ID码子程序 80
5 4 5 页写入子程序 81
5 4 6 页读出子程序 82
5.5 运行结果 83
实例6 通用I/O口的应用——矩阵式键盘 83
6.1 概述 84
6.2 实例内容和目标 84
6.3 实例分析 84
6 3 1 S3C44B0X的多功能I/O口 84
6 3 2 端口选择 88
6 3 3 端口控制寄存器 88
6 3 4 键盘的循环扫描检测法 90
6.4 实现方法与步骤 90
6 4 2 编写键盘扫描程序 91
6 4 1 寄存器设置 91
6.5 运行结果 93
实例7 外部中断处理程序设计 94
7 1 概述 94
7.2 实例内容和目标 94
7.3 实例分析 94
7 3 1 概述 94
7 3 2 中断控制器 94
7.3 3 中断源 95
7 3 4 中断优先级产生模块 96
7 3 5 中断优先级 97
7 3.6 中断矢量地址表 97
7.3.7 控制中断的寄存器 98
7.4 实现方法与步骤 106
7 4.1 I/O口设置 106
7 4.2 外部中断触发模式设置 107
7 4.3 中断寄存器设置 107
7 4 4 主程序编写 107
7 4.5 中断处理程序编写 109
7.5 运行结果 109
实例8 UART异步串行接口应用 110
8.1 概述 110
8.2 实例内容和目标 110
8.3 实例分析 110
8.3 1 UART操作 111
8 3 2 UART寄存器 114
8.4 1 电路接口和I/O口设置 120
8.4 实现方法与步骤 120
8 4.2 UART初始化 121
8.4 3 myUart_Send函数主体 121
8 4.4 字符发送程序myUart_SendByte 122
8.5 运行结果 123
实例9 定时器应用 124
9.1 概述 124
9.2 实例内容和目标 124
9.3 实例分析 124
9.3 1 PWM定时器操作 124
9 3 2 PWM定时器寄存器 130
9 4 3 设置输出波形频率 133
9 4 5 设置定时器控制寄存器并启动定时器 133
9.4 4 设置占空比 133
9.4 实现方法与步骤 133
9.4 2 定时器时钟源频率设置 133
9.4 1 I/O口设置 133
9.4 6 定时器中断主程序 134
9 4 7 定时中断服务程序 134
9.5 运行结果 134
实例10 实时日历时钟(RTC)应用 136
10 1 概述 136
10.2 实例内容和目标 136
10.3 实例分析 136
10 3 1 实时时钟特性 136
10 3 2 实时时钟寄存器 137
10.4 实现方法与步骤 139
10 4 1 实时时钟初始化 139
10 4 2 显示当前时间 140
10.5 运行结果 140
实例11 LCD接口应用 142
11.1 概述 142
11.2 实例内容和目标 142
11 3 实例分析 142
11 3 1 STN型彩色LCD模块介绍 142
11 3 2 S3C44B0X的内部LCD控制器介绍 144
11.4 实现方法与步骤 150
11 4 1 I/O口LCD功能设置 150
11 4 2 LCD初始化程序 151
11 4 3 图像数据 153
11 4 4 全屏显示参考程序 153
11 4 5 正方形的绘制 154
11.5 运行结果 154
实例12 I2C接口应用 156
12.1 概述 156
12.2 实例内容和目标 156
12.3 实例分析 156
12 3 1 I2C总线的基本知识 156
12 3 2 I2C总线通用传输格式 156
12 3 3 I2C串行EEPROM的相关知识 158
12 3 4 S3C44B0X的I2C接口 160
12 4 4 向24LC04B中写入数据子程序 165
12 4 3 初始化I2C接口 165
12.4 实现方法与步骤 165
12 4 1 I/O端口I2C功能设置 165
12 4 2 I2C中断使能 165
12 4 5 从24LC04B中读出数据子程序 166
12 4 6 I2C中断处理子程序 166
12.5 运行结果 168
实例13 A/D转换器应用 169
13.1 概述 169
13.2 实例内容和目标 169
13.3 实例分析 169
13 3 1 关于A/D转换的基础知识 169
13 3 2 S3C44B0X具备的ADC 169
13 4 2 ADC控制寄存器的初始化 172
13.4 实现方法与步骤 172
13 4 1 模拟信号的产生 172
13 4 3 读取A/D转换数值子程序 173
13.5 运行结果 173
实例14 触摸屏应用 174
14.1 概述 174
14.2 实例内容和目标 174
14.3 实例分析 174
14.3 1 触摸屏的基本原理 174
14 3 2 触摸屏的控制实现 175
14 3 3 ADS7843引脚配置 175
14 3.4 ADS7843的典型电路 176
14 3 5 ADS7843的控制字 177
14.3.6 ADS7843的工作过程 178
14.4 实现方法与步骤 179
14.4 1 接口电路的连接和I/O口设置 179
14.4 2 读取触摸点坐标程序设计 179
14.5 运行结果 180
实例15 USB设备接口应用 182
15.1 概述 182
15.2 实例内容和目标 182
15.3 实例分析 183
15 3 1 USB接口工作原理概述 183
15.3 2 USB设备开发过程 184
15 3 3 USB接口控制器USBN9603 184
15 3 5 固件程序的开发 185
15 3.4 USB接口电路 185
15.4 实现方法与步骤 187
15.4 1 安装USB驱动程序及进行文件下载 187
15.4 2 修改固件程序 187
15.5 运行结果 189
实例16 以太网控制器接口应用 191
16.1 概述 191
16.2 实例内容和目标 191
16.3 实例分析 191
16.3 1 以太网基础知识 191
16.3 2 关于以太网控制器RTL8019 194
16 4 2 寄存器地址映射 199
16.4 实现方法与步骤 199
16.4 1 连接以太网模块与处理器的接口 199
16 4 3 热复位函数 200
16 4 4 初始化函数 201
16 4 5 接收/发送函数 202
16.5 运行结果 205
实例17 μC/OS-Ⅱ的移植与应用 206
17.1 概述 206
17.2 实例内容和目标 207
17.3 实例分析 207
17.3.1 μC/OS-Ⅱ操作系统的移植条件 207
17.3.2 移植工作的内容 208
17 4.2 多任务应用程序的编写 214
17.4.1 实验准备 214
17.4 实现方法与步骤 214
17.5 运行结果 217
实例18 μC/OS-Ⅱ的多任务管理和任务间通讯 217
18.1 概述 218
18.2 实例内容和目标 218
18.3 实例分析 219
18.3.1 任务管理函数 219
18.3 2 任务间的通讯与同步 224
18.4 实现方法与步骤 230
18 4.1 连接电路 230
18.4 2 主任务处理程序 230
18 4 3 键盘检测任务处理程序 232
18.5 运行结果 233
18.4 4 电压检测任务处理程序 233
实例19 μC/OS-Ⅱ中断处理程序设计 235
19.1 概述 235
19.2 实例内容和目标 236
19.3 实例分析 236
19 3.1 中断服务子程序 236
19.3 2 中断延迟 237
19.3 3 中断响应 237
19.3.4 中断恢复时间 237
19.3.5 中断延迟、响应和恢复 238
19.4 实现方法与步骤 238
19.4 1 中断处理汇编程序的编写 238
19.4.3 中断处理任务程序的编写 240
19.4.2 中断处理C程序的编写 240
19.5 运行结果 241
实例20 GUI系统的移植与应用 242
20.1 概述 242
20.2 实例内容和目标 242
20.3 实例分析 243
20 3 1 emWin的介绍 243
20 3 2 emWin对目标系统的要求 244
20 3.3 屏幕和坐标 244
20 3 4 应用emWin的步骤 245
20 3 5 emWin的移植 245
20 4.3 编写Hello World程序 247
20 4 2 定义宏 247
20 4.1 实例准备 247
20.4 实现方法与步骤 247
20.5 运行结果 248
实例21 图形文字显示的基本应用 249
21.1 概述 249
21.2 实例内容和目标 249
21.3 实例分析 249
21 3 1 文字显示 249
21 3 2 图形显示 253
21.4 实现方法与步骤 256
21.4 1 实例准备 256
21 4.2 绘制表盘的示例代码 256
21.5 运行结果 257
实例22 汉字显示的应用 258
22.1 概述 258
22.2 实例内容和目标 258
22.3 实例分析 258
22 3 1 emWin字体库的应用 258
22 3 2 字体库API 259
22.3.3 emWin已经提供的字符集 260
22 3 4 字体转换器 261
22 3.5 字体库文件结构 262
22.4 实现方法与步骤 264
22 4.1 得到符合emWin要求的汉字库 264
22 4 3 显示汉字的示例代码 268
22.5 运行结果 268
22.4.2 实例准备 268
实例23 GUI视窗和控件的应用 269
23.1 概述 269
23.2 实例内容和目标 269
23.3 实例分析 269
23 3.1 视窗管理器(WM) 269
23 3.2 视窗控件(Widgets) 275
23 3 3 对话框(Dialog) 287
23 4 实现方法与步骤 294
23 4 1 实例准备 294
23 4 2 编写主程序 294
23.5 运行结果 294
24.3 实例分析 296
24 3 1 使用存储器设备驱动的说明 296
实例24 GUI中的动画显示应用 296
24.2 实例内容和目标 296
24.1 概述 296
24 3 2 存储器设备驱动的绘图步骤 297
24 3 3 起用存储器设备驱动 297
24 3 4 与存储器设备驱动相关的API函数 298
24.4 实现方法与步骤 304
24 4 1 回调函数的参数 305
24 4.2 回调函数的编写 305
24 4.3 主程序编写 306
24.5 运行结果 307
25.2 实例内容和目标 308
25.1 概述 308
实例25 基于Nand-flash的文件系统 308
25.3 实例分析 309
25 3 1 FAT16文件系统的结构 309
25 3 2 关于Nand-flash 314
25 4 实现方法与步骤 315
25 4 1 FAT16的移植 315
25 4 2 格式化文件系统 316
25 4 3 文件系统初始化 318
25 4 4 文件系统验证程序 319
25.5 运行结果 320
26.2 实例内容和目标 321
26.1 概述 321
实例26 ARP网络寻址 321
26.3 实例分析 323
26 3 1 IP地址 323
26 3 2 IP地址解析 323
26 3 3 ARP数据包 324
26 3 4 ARP扫描器 325
26.4 实现方法与步骤 326
26 4 1 主程序处理 326
26 4 2 ARP数据包的检测和创建 329
26 4 3 连接电路并调试运行 330
26.5 运行结果 330
27.1 概述 332
27.2 实例内容和目标 332
实例27 IP与ICMP应用 332
27.3 实例分析 334
27 3 1 IP数据报 334
27 3 2 ICMP消息 336
27 3 3 PING工具的工作步骤 337
27.4 实现方法与步骤 338
27 4 1 主程序处理 338
27 4 2 报文发送 340
27 4 3 报文接收 341
27 4 4 ICMP消息函数 343
27.4.5 IP数据报函数 344
27.5 运行结果 346
27 4 6 连接电路并调试运行 346
实例28 UDP数据报传输应用 348
28.1 概述 348
28.2 实例内容和目标 348
28.3 实例分析 349
28 3 1 UDP数据报 349
28.3 2 端口和套接字 350
28.3 3 UDP数据包格式 351
28.4 实现方法与步骤 351
28 4 1 主程序处理 352
28 4.2 接收处理 353
28 4 3 创建和发送UDP数据报 356
28 4 4 连接电路并调试运行 357
28.5 运行结果 357
A.1 简介 359
附录A S3C44B0X概述 359
A.2 特性 360
A.3 内部结构图 362
A.4 芯片引脚定义 363
附录B ARM处理器工作模式 368
B.1 处理器工作状态 368
B.2 状态切换 368
B.2 1 进入THUMB状态 368
B.2 2 进入ARM状态 368
B.3 存储空间格式 368
B.3 1 大端格式 368
B.4 2 操作模式 369
B.5 1 ARM状态寄存器集 369
B.5 寄存器 369
B.4 1 数据类型 369
B.4 指令长度 369
B 3 2 小端格式 369
B 5.2 THUMB状态寄存器集 370
B 5.3 ARM状态寄存器与THUMB状态寄存器之间的关系 371
B 5 4 在THUMB状态下操作寄存器高位 372
B.6 程序状态寄存器PSR 372
B 6 1 条件码标志 372
B 6 2 控制位 373
B.6 3 保留位 374
B.7 异常 374
B.7 1 进入异常处理时的行为 374
B 7 4 FIQ(快速中断请求) 375
B.7 2 离开异常处理时的行为 375
B.7 3 异常进入/退出概要 375
B 7 5 IRQ(中断请求) 376
B 7 6 Abort(异常中断) 376
B 7 7 SWI(软件中断) 376
B 7.8 未定义指令 377
B 7 9 异常中断向量 377
B 7 10 异常中断优先级 377
B 7 11 复位 378
附录C 44binit.s初始化程序研究 379
C.1 定义入口地址 379
C.2 建立异常中断处理向量 379
C 2 1 向量中断模式(只针对IRQ) 380
C 2 2 非向量中断模式 382
C 3 初始化外部存储器 385
C.4 初始化堆栈指针 386
C.5 初始化I/O设备 387
C.6 初始化中断系统所需要的RAM变量 387
C.7 初始化C程序所要求的存储空间 388
C 7 1 关于映像文件及区域 388
C 7 2 与区域相关的符号 388
C 7 3 加载时的映像文件 389
C 7 4 执行时的映像文件 389
C 7 5 初始化范例程序 390
C.8 进入C语言程序的运行 391
参考文献 392