《ARM原理与C程序设计》是2009年西安电子科技大学出版社出版的图书,作者来自是张勇。
- 书名 ARM原理与C程序设计
- 作者 张勇
- ISBN 978-7-5606-2228-6/TP.1136
- 定价 30.6元
- 出版社 西安电子科技大学出版社
内容简介
本书针对ARM920T核S3C2410A芯片,借助RVDS和RealVeiw MDK集来自成开发环境,全面详细地介绍了ARM的体系结360百科构、硬件接口电路设计以及汇编语言与C语言程序设计。全书共分七章,内容包括ARM概述与开发环境建设、ARM体系结构与接口电路、ARM指令集、ARM存储系统及其配置、汇编语言程序设计及系统初始化、C语言程序设计、ARM接口程序设计。本书的特色在于通过完整的程序实例阐述相关的内容。
本书是作者近几年来从事ARM系统设计、开发和教学的结晶。由于ARM体系原理的统一性和ARM C程序设计的通用性,尽管本书内容偏重于ARM920T,但是,对ARM系列芯乎制片的开发,均具有一定的指导意义。
本书可作为电子技术类、通信类、软件工程类研究生和高年级本科生学习ARM芯片级嵌入式程序设计的教材,也可作为从事ARM系统开发的电子工程师和软件工程师及嵌入式爱好者的参考书。
★本书作者可以提供书中全部实例的源代码,有需要的读者可联系索取。
目录
第一章 ARM概述与开发环境 1
1.1 嵌入式系统的概念 1
1.1.1 嵌入式系统与ARM的关系 1
1.1.2 嵌入式系统与嵌入式操作系统的关系 2
1.1.3 嵌入式系统的研发特点 2
1.2 ARM发展历程及应改垂觉犯然础体会压用领域 3
1.2叶清制书答氢.1 ARM发展历程及命名规则 3
1.2.2 ARM微处理器系列 4
1.2内答块施影.3 ARM微处理器应用领域 9
1.3 ARM芯片级开发环境 9
1.3.1 仿真环境冷台治备音建设 10
1.3.2 程序仿真实例与解释 13
本章小结 17
第二章 ARM体系结构与接口电路 18
2.1 ARM微处理器工作模式 18
通来 2.2 ARM寄存器 19
2.2.1 通用寄存器 20
2.2.2 程序状态办转那酸寄存器 21
2.2.3 PC与指令流水线 23
2.3 ARM异常 23
2.3.1 复位异常 25
2.3.2 中皇搞断请求异常 25
2.3.3 快速中断请求异常 26
2.3.4 软件中断异常 27
2.3.5 数据中止异常 27
2.3.6 预取指令异常 27
2.3.7 未定义指令异常 28
2.3.8 异常返回地址 28
2.4 S3C2410体苦动陈布年存储器配置及接口电路设计 29
2.4.1 存储格式 29
2.4.2 映射存储空间 30
2.4.3 NOR型FLASH接口电路设计 35
2.4.4 NAND型衡举己殖清供司号科FLASH接口电路设计 38
2.4.5 SDRAM接口电路设计 39
2.5 S3C2410外设接船田飞她明导评口电路设计 42
2.5.1 片上外设及其映射寄存器 42
2.5.2 LED接口电路设计 44
2.5.3 LCD接口电路设计 48
2.5.4 触摸屏接口电路设计 50
境场走整坏质限钟单 2.5.5 串口接口电路设计 51
2.5.6 USB接口电路设计 52
2.5.7 SD卡接口电路设计 53
2.5.8 鼠标和键盘接口电路设计 53
本章小结 54
第三章 ARM指令表 55
3.1 ARM指令学习程渐述报映力背低杨区皮序框架 55
3.2 ARM指松鸡乙球回群执令格式 56
3.3 ARM指令寻址方式 58
3.3.1 数据处理操作数寻址 58
3.3.2 字与无符号字节存储/装入寻址 61
3.3.3 双字与半字及有符号字节存储/装入寻址 65
3.3.4 寄存器批量存储/装入寻址 67
3.3.5 协处理器存储/装入寻址 70
3破大万如奏袁法左保族茶.4 ARM指令汇总 72
众管面率九易消3.4.1 赋值指令 72
3.4.2 算术运算指令 73
3.4.3 跳转指令 80
3.4.4 比较指令 81
3.4.5 逻辑运算指令 82
3.4.6 CPSR访问指令 85
3.4.7 内存访问指令 86
3.4.8 软中断指令 95
3.4.9 协处理器指令 95
3.4.10 A调于保女RM伪指令 97
本章小结 99
第四章 ARM存储系统及其配置 100
4.1 RealView MDK仿真环境建设 100
4.1.1 开发平台建设 100
4.担么酸1.2 第一个MDK工程 101
4.1.3 硬仿真环境设置 104
4.1.4 编译配置 105
4.1.5 在线仿真 108
4.2 Nand Flash启动配置 109
4.3 SDRAM配置 112
4.3.1 MDK启动代码配置SDRAM 112
4.3.2 自定义SDRAM配置代码 117
4.3.3 堆和栈 120
4.4 CP15协处理器 125
4.4.1 CP15协处理器寄存器汇总 125
4.4.2 寄存器c0 126
4.4.3 寄存器c13 129
4.4.4 寄存器c1 130
4.4.5 寄存器c2 131
4.4.6 寄存器c3 131
4.4.7 寄存器c5 131
4.4.8 寄存器c6 131
4.4.9 寄存器c8 131
4.4.10 寄存器c10 132
4.5 MMU配置 132
4.5.1 MMU工作原理 132
4.5.2 地址转译 134
本章小结 137
第五章 汇编语言程序设计及系统初始化 138
5.1 ARM汇编语言程序框架 138
5.1.1 通用输入输出C口配置 140
5.1.2 工程ex5_1的注解及运行情况 147
5.1.3 汇编语言语法 150
5.2 浮点数据处理 152
5.2.1 计算基础 152
5.2.2 数值定标 152
5.2.3 程序代码及结果分析 153
5.3 系统初始化 159
5.3.1 启动代码S3C2410A.s 159
5.3.2 初始化代码zyboot.s 172
5.4 中断服务程序 185
5.4.1 硬件基础 185
5.4.2 EINT2外部中断及其程序设计 186
5.4.3 SWI中断及其注意事项 192
本章小结 193
第六章 C语言程序设计 194
6.1 C程序框架实例 194
6.1.1 跑马灯工程设计 194
6.1.2 跑马灯程序解释 199
6.1.3 C程序框架 201
6.2 SDRAM重定位技术 203
6.3 C语言语法 205
6.3.1 数据类型 205
6.3.2 常用运算符 207
6.3.3 程序控制语句 211
6.3.4 C语言函数 215
6.3.5 演示实例一 216
6.3.6 演示实例二 219
6.4 混合语言程序设计 223
6.4.1 C函数嵌套汇编语句 223
6.4.2 C函数调用汇编子程序 226
6.5 中断服务程序设计 236
6.5.1 异常入口配置 237
6.5.2 SWI中断 239
6.5.3 看门狗中断 244
本章小结 248
第七章 ARM接口程序设计 249
7.1 LED显示控制 249
7.1.1 看门狗定时器秒表 249
7.1.2 定时器1秒表 252
7.2 K9F1208访问技术 256
7.2.1 K9F1208U0C 256
7.2.2 K9F1208读设计 258
7.2.3 K9F1208 Boot设计 263
7.3 串口通信 282
7.3.1 串口配置 282
7.3.2 串口收发程序 283
7.3.3 串口中断编程 286
本章小结 291
附录一 S3C2410专用寄存器地址 292
附录二 S3C2410专用寄存器描述 300
附2.1 存储器配置寄存器 300
附2.2 NAND FLASH寄存器 304
附录三 S3C2410芯片管脚 306
附录四 启动代码文件S3C2410A.s 313