| 作 者: | 胥静 |
| 出版社: | 北京航空航天大学出版社 |
| 丛编项: | |
| 版权说明: | 本书为出版图书,暂不支持在线阅读,请支持正版图书 |
| 标 签: | 嵌入式计算机 |
| ISBN | 出版时间 | 包装 | 开本 | 页数 | 字数 |
|---|---|---|---|---|---|
| 未知 | 暂无 | 暂无 | 未知 | 0 | 暂无 |
实例1嵌入式系统开发实例——模拟PDA的实现
1.1 概述1
1.2 实例内容和目标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
实例2ARMSys平台开发环境及工具详解
2.1 概述13
2.2 实例内容和目标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.exe37
2.4.5USB口下载工具39
2.4.6代码固化40
实例3Flash ROM器件应用
3.1 概述42
3.2 实例内容和目标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.4 SST39VF160的擦除53
3.4.5 SST39VF160的写入53
3.5 运行结果54
实例4SDRAM器件应用
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.2 电路连接61
4.4.3 寄存器设置61
4.4.4 对IS42S16400的编程65
4.5 运行结果65
实例5Nandflash存储器器件应用
5.1 概述66
5.2 实例内容和目标66
5.3 实例分析66
5.3.1 Nandflash存储器的应用特点66
5.3.2 Nandflash存储器器件K9F5608U0B简介67
5.4 实现方法与步骤78
5.4.1 K9F5608U0B与S3C44B0X的接口设计78
5.4.2 写入指令、地址和读/ 写数据的条件79
5.4.3 读器件的ID码子程序80
5.4.4 块擦除子程序80
5.4.5 页写入子程序81
5.4.6 页读出子程序82
5.5 运行结果83
实例6通用I/O口的应用——矩阵式键盘
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.1 寄存器设置91
6.4.2 编写键盘扫描程序91
6.5 运行结果93
实例7外部中断处理程序设计
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
实例8UART异步串行接口应用
8.1 概述110
8.2 实例内容和目标110
8.3 实例分析110
8.3.1 UART操作111
8.3.2 UART寄存器114
8.4 实现方法与步骤120
8.4.1 电路接口和I/ O口设置120
8.4.2 UART初始化121
8.4.3 myUart_Send函数主体121
8.4.4 字符发送程序myUart_SendByte122
8.5 运行结果123
实例9定时器应用
9.1 概述124
9.2 实例内容和目标124
9.3 实例分析124
9.3.1 PWM定时器操作124
9.3.2 PWM定时器寄存器130
9.4 实现方法与步骤133
9.4.1 I/ O口设置133
9.4.2 定时器时钟源频率设置133
9.4.3 设置输出波形频率133
9.4.4 设置占空比133
9.4.5 设置定时器控制寄存器并启动定时器133
9.4.6 定时器中断主程序134
9.4.7 定时中断服务程序134
9.5 运行结果134
实例10实时日历时钟(RTC)应用
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
实例11LCD接口应用
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
实例12I2C接口应用
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 实现方法与步骤165
12.4.1 I/ O端口I2C功能设置165
12.4.2 I2C中断使能165
12.4.3 初始化I2C接口165
12.4.4 向24LC04B中写入数据子程序165
124.5从24LC04B中读出数据子程序166
124.6I2C中断处理子程序166
125运行结果168
实例13A/D转换器应用
13.1 概述169
13.2 实例内容和目标169
13.3 实例分析169
13.3.1 关于A/ D转换的基础知识169
13.3.2 S3C44B0X具备的ADC169
13.4 实现方法与步骤172
13.4.1 模拟信号的产生172
13.4.2 ADC控制寄存器的初始化172
13.4.3 读取A/ D转换数值子程序173
13.5 运行结果173
实例14触摸屏应用
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
实例15USB设备接口应用
15.1 概述182
15.2 实例内容和目标182
15.3 实例分析183
15.3.1 USB接口工作原理概述183
15.3.2 USB设备开发过程184
15.3.3 USB接口控制器USBN9603184
15.3.4 USB接口电路185
15.3.5 固件程序的开发185
15.4 实现方法与步骤187
15.4.1 安装USB驱动程序及进行文件下载187
15.4.2 修改固件程序187
15.5 运行结果189
实例16以太网控制器接口应用
16.1 概述191
16.2 实例内容和目标191
16.3 实例分析191
16.3.1 以太网基础知识191
16.3.2 关于以太网控制器RTL8019194
16.4 实现方法与步骤199
16.4.1 连接以太网模块与处理器的接口199
16.4.2 寄存器地址映射199
16.4.3 热复位函数200
16.4.4 初始化函数201
16.4.5 接收/ 发送函数202
16.5 运行结果205
实例17μC/OSⅡ的移植与应用
17.1 概述206
17.2 实例内容和目标207
17.3 实例分析207
17.3.1 μC/OSⅡ操作系统的移植条件207
17.3.2 移植工作的内容208
17.4 实现方法与步骤214
17.4.1 实验准备214
17.4.2 多任务应用程序的编写214
17.5 运行结果217
实例18μC/OSⅡ的多任务管理和任务间通讯
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.4.4 电压检测任务处理程序233
18.5 运行结果233
实例19μC/OSⅡ中断处理程序设计
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.2 中断处理C程序的编写240
19.4.3 中断处理任务程序的编写240
19.5 运行结果241
实例20GUI系统的移植与应用
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 实现方法与步骤247
20.4.1 实例准备247
20.4.2 定义宏247
20.4.3 编写Hello World程序247
20.5 运行结果248
实例21图形文字显示的基本应用
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汉字显示的应用
22.1 概述258
22.2 实例内容和目标258
22.3 实例分析258
22.3.1 emWin字体库的应用258
22.3.2 字体库API259
22.3.3 emWin已经提供的字符集260
22.3.4 字体转换器261
22.3.5 字体库文件结构262
22.4 实现方法与步骤264
22.4.1 得到符合emWin要求的汉字库264
22.4.2 实例准备268
22.4.3 显示汉字的示例代码268
22.5 运行结果268
实例23GUI视窗和控件的应用
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
实例24GUI中的动画显示应用
24.1 概述296
24.2 实例内容和目标296
24.3 实例分析296
24.3.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基于Nandflash的文件系统
25.1 概述308
25.2 实例内容和目标308
25.3 实例分析309
25.3.1 FAT16文件系统的结构309
25.3.2 关于Nandflash 314
25.4 实现方法与步骤315
25.4.1 FAT16的移植315
25.4.2 格式化文件系统316
25.4.3 文件系统初始化318
25.4.4 文件系统验证程序319
25.5 运行结果320
实例26ARP网络寻址
26.1 概述321
26.2 实例内容和目标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
实例27IP与ICMP应用
27.1 概述332
27.2 实例内容和目标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.4.6 连接电路并调试运行346
27.5 运行结果346
实例28UDP数据报传输应用
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
附录AS3C44B0X概述
A.1简介359
A.2特性360
A.3内部结构图362
A.4芯片引脚定义363
附录BARM处理器工作模式
B.1处理器工作状态368
B.2状态切换368
B21进入THUMB状态368
B22进入ARM状态368
B.3存储空间格式368
B.3.1大端格式368
B.3.2小端格式369
B.4指令长度369
B.4.1数据类型369
B.4.2操作模式369
B.5寄存器369
B.5.1ARM状态寄存器集369
B.5.2THUMB状态寄存器集370
B.5.3ARM状态寄存器与THUMB状态寄存器之间
的关系371
B.5.4在THUMB状态下操作寄存器高位372
B.6程序状态寄存器PSR372
B.6.1条件码标志372
B.6.2控制位373
B.6.3保留位374
B.7异常374
B.7.1进入异常处理时的行为374
B.7.2离开异常处理时的行为375
B.7.3异常进入/ 退出概要375
B.7.4FIQ(快速中断请求)375
B.7.5IRQ(中断请求)376
B.7.6Abort(异常中断)376
B.7.7SWI(软件中断)376
B.7.8未定义指令377
B.7.9异常中断向量377
B.7.10异常中断优先级377
B.7.11复位378
附录C44binit.s初始化程序研究
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