📄 arm应用系统开发详解全集.txt
字号:
----------------------- 页面 1-----------------------
内容简介
作为一种16/32 位的高性能、低成本、低功耗的嵌入式RISC 微处理器,ARM 微处理器
目前已经成为应用最为广泛的嵌入式微处理器。
本书在全面介绍ARM 处理器的体系结构、编程模型、指令系统和开发工具的同时,以
Samsung 公司的一款基于以太网系统的ARM 处理器-S3C4510B 为核心,详细讲解系统的
设计、调试,以及相关的软件设计和嵌入式操作系统的移植过程。通过阅读本书,可以使具
备一定的系统设计能力的读者全面掌握开发基于ARM 微处理器系统的多方面知识,从而具
备设计开发基于ARM 微处理器的特定应用系统的能力。
本书可作为基于ARM 的软件编程和硬件系统设计的参考手册,也可作为16/32 位微处
理器教学用书,以及嵌入式系统应用设计人员的参考用书。
----------------------- 页面 2-----------------------
前 言
嵌入式系统是指以应用为核心,以计算机技术为基础,软硬件可裁剪,适应应用系统对
功能、可靠性、成本、体积和功耗严格要求的专用计算机系统。作为嵌入式系统的核心,嵌
入式微处理器,目前常采用8位或16位的微处理器。但由于这些微处理器系统的运行速度、
寻址能力和功耗等问题,已较难满足很多相对较复杂的嵌入式应用场合。
ARM公司自90年代初正式成立以来,在32位RISC (ReducedInstructionSet Computer)
CPU 开发领域不断取得突破,其结构已经从V3 发展到V6。由于ARM 公司自成立以来,一直
以IP(Intelligence Property)提供者的身份向各大半导体制造商出售知识产权,而自己从
不介入芯片的生产销售,加上其设计的芯核具有功耗低、成本低等显著优点,因此获得众多
的半导体厂家和整机厂商的大力支持,在32位嵌入式应用领域获得了巨大的成功,目前已
经占有75%以上的32位RISC 嵌入式产品市场。在低功耗、低成本的嵌入式应用领域确立了
市场领导地位。现在设计、生产ARM 芯片的国际大公司已经超过50 多家,国内多家大公司
也已经购买ARM 公司的芯核用于通讯专用芯片的设计。鉴于目前ARM 微处理器的国内的逐步
推广应用,已有部分工科大学开设了基于ARM 的32位微处理器的相关课程。
在所有ARM 微处理器系列中,ARM7TDMI 微处理器系列应用最广,采用ARM7TDMI 微处理
器作为内核生产芯片的公司最多,同时其性能价格比也是最高的。因此,本书主要对
ARM7TDMI 微处理器的结构原理进行介绍,并以此为基础详细介绍了应用系统的设计与调试
方法。
本书的各章节内容安排如下:
第1章 简要介绍目前ARM 微处理器的种类及主要结构特征。通过对本章的阅读,可使
读者对ARM 技术、ARM 微处理器及应用有一个总体的认识。
第2章 介绍ARM编程模型的基本知识,包括寄存器的组织和ARM微处理器的工作模式,
ARM 体系结构中异常及处理等基本概念。通过本章的阅读,可使读者了解ARM 编程模型的基
本知识,为进一步的开发做准备。
第3章 详细介绍ARM 体系的指令系统和寻址方式,着重介绍32位的ARM 指令集。16
位的Thumb 指令集为32位ARM 指令集的一个子集,在了解了ARM 指令集的基础上,就很容
易理解Thumb 指令。本章所介绍的内容适用于所有具有ARM7TDMI 内核的ARM 微处理器。
第4章 介绍ARM 汇编语言程序设计的基本知识。通过阅读本章,读者可以掌握ARM
汇编语言的设计方法。
第5章 本章是全书的重点,详细介绍基于S3C4510B 的系统的设计全过程,包括存储
器及外围芯片的选型,各单元电路的设计、调试等。通过对本章的阅读,具有一定系统设计
知识的读者应该可以掌握基于S3C4510B 的系统设计,同时由于ARM 体系结构的一致性和系
统外围电路的通用性,本章所描述的设计方法也同样适合于其他ARM 芯片。
第6章 详细介绍基于S3C4510B 的系统的各功能模块工作原理与应用编程示例,包括
通用I/O 口、串行接口、定时器、中断控制器、GDMA 控制器、MAC 控制器等的工作原理与编
程示例,Flash 存储器的编程与擦除等。通过本章的阅读,可使读者了解S3C4510B 各功能
模块的编程方法,并在自己设计的系统中加以充分利用。
第7章 详细介绍嵌入式操作系统的基本概念、操作系统在S3C4510B 上的编译、运行
过程,以及在uClinux 操作系统上的简单应用程序的设计。通过本章的阅读,可使读者了解
uClinux 操作系统及在S3C4510B 的运行,并能进行进一步的应用程序的开发。
第8章 详细介绍ADS 集成开发环境的使用方法,这也是进行应用程序开发的基本工
具。
由于编者的水平有限,同时也由于ARM 及相关技术进入国内的时间还不太长,可供参考
----------------------- 页面 3-----------------------
的资料也不多,书中的错误在所难免,恳请读者批评指正。
李驹光
于中国科学院自动化研究所
E_mail: LJG_express@263.net
谨以此书献给我的母校:
西南科技大学
----------------------- 页面 4-----------------------
ARM 应用系统开发详解──基于S3C4510B 的系统设计
目 录
第1 章 ARM 微处理器概述
1.1 ARM-Advanced RISC Machines
1.2 ARM 微处理器的应用领域及特点
1.2.1 ARM 微处理器的应用领域
1.2.2 ARM 微处理器的特点
1.3 ARM 微处理器系列
1.3.1 ARM7 微处理器系列
1.3.2 ARM9 微处理器系列
1.3.3 ARM9E 微处理器系列
1.3.4 ARM10E 微处理器系列
1.3.5 SecurCore 微处理器系列
1.3.6 StrongARM 微处理器系列
1.3.7 Xscale 处理器
1.4 ARM 微处理器结构
1.4.1 RISC 体系结构
1.4.2 ARM 微处理器的寄存器结构
1.4.3 ARM 微处理器的指令结构
1.5 ARM 微处理器的应用选型
1.6 本章小节
第2 章 ARM 微处理器的编程模型
2.1 ARM 微处理器的工作状态
2.2 ARM 体系结构的存储器格式
2.3 指令长度及数据类型
2.4 处理器模式
2.5 寄存器组织
2.5.1 ARM 状态下的寄存器组织
2.5.2 Thumb 状态下的寄存器组织
2.5.3 程序状态寄存器
2.6 异常(Exceptions)
2.6.1 ARM 体系结构所支持的异常类型
2.6.2 对异常的响应
2.6.3 从异常返回
2.6.4 各类异常的具体描述
2.6.5 异常进入/退出小节
2.6.6 异常向量(Exception Vectors)
2.6.7 异常优先级(Exception Priorities)
2.6.8 应用程序中的异常处理
2.7 本章小节
第3 章 ARM 微处理器的指令系统
3.1 ARM 微处理器的指令集概述
3.1.1 ARM 微处理器的指令的分类与格式
3.1.2 指令的条件域
3.2 ARM 指令的寻址方式
----------------------- 页面 5-----------------------
ARM 应用系统开发详解──基于S3C4510B 的系统设计
3.2.1 立即寻址
3.2.2 寄存器寻址
3.2.2 寄存器间接寻址
3.2.3 基址变址寻址
3.2.4 多寄存器寻址
3.2.5 相对寻址
3.2.6 堆栈寻址
3.3 ARM 指令集
3.3.1 跳转指令
3.3.2 数据处理指令
3.3.3 乘法指令与乘加指令
3.3.4 程序状态寄存器访问指令
3.3.5 加载/存储指令
3.3.6 批量数据加载/存储指令
3.3.7 数据交换指令
3.3.8 移位指令(操作)
3.3.9 协处理器指令
3.3.10 异常产生指令
3.4 Thumb 指令及应用
3.5 本章小节
第4 章 ARM 程序设计基础
4.1 ARM 汇编器所支持的伪指令
4.1.1 符号定义(Symbol Definition)伪指令
4.1.2 数据定义(Data Definition )伪指令
4.1.3 汇编控制(Assembly Control )伪指令
4.1.4 其他常用的伪指令
4.2 汇编语言的语句格式
4.2.1 在汇编语言程序中常用的符号
4.2.2 汇编语言程序中的表达式和运算符
4.3 汇编语言的程序结构
4.3.1 汇编语言的程序结构
4.3.2 汇编语言的子程序调用
4.3.3 汇编语言程序示例
4.3.4 汇编语言与C/C++的混合编程
4.4 本章小节
第5 章应用系统设计与调试
5.1 系统设计概述
5.2 S3C4510B 概述
5.2.1 S3C4510B 及片内外围简介
5.2.2 S3C4510B 的引脚分布及信号描述
5.2.3 CPU 内核概述及特殊功能寄存器(Special Registers)
5.2.4 S3C4510B 的系统管理器(System Manager)
5.3 系统的硬件选型与单元电路设计
5.3.1 S3C4510B 芯片及引脚分析
----------------------- 页面 6-----------------------
ARM 应用系统开发详解──基于S3C4510B 的系统设计
5.3.2 电源电路
5.3.3 晶振电路与复位电路
5.3.4 Flash 存储器接口电路
5.3.5 SDRAM 接口电路
5.3.6 串行接口电路
5.3.7 IIC 接口电路
5.3.8 JTAG 接口电路
5.3.9 10M/100M 以太网接口电路
5.3.10 通用I/O 接口电路
5.4 硬件系统的调试
5.4.1 电源、晶振及复位电路
5.4.2 S3C4510B 及JTAG 接口电路
5.4.3 SDRAM 接口电路的调试
5.4.4 Flash 接口电路的调试
5.4.5 10M/100M 以太网接口电路
5.5 印刷电路板的设计注意事项
5.5.1 电源质量与分配
5.5.2 同类型信号线的分布
5.6 本章小节
第6 章部件工作原理与编程示例
6.1 嵌入式系统的程序设计方法
6.2 应用程序编程示例
6.2.1 通用I/O 口工作原理与编程示例
6.2.2 串行通讯工作原理与编程示例
6.2.3 中断控制器工作原理与编程示例
6.2.4 定时器工作原理与编程示例
6.2.5 GDMA 工作原理与编程示例
6.2.5 IIC 总线控制器工作原理
6.2.5 以太网控制器工作原理
6.2.6 Flash 存储器工作原理与编程示例
6.3 BootLoader 简介
6.4 本章小节
第7 章嵌入式uClinux 及其应用开发
7.1 嵌入式uClinux 系统概况
7.2 开发工具GNU 的使用
7.2.1 GCC 编译器
7.2.2 GNU Make
7.2.3 使用GDB 调试程序
7.3 建立uClinux 开发环境
7.3.1 建立交叉编译器
7.3.2 uClinux 针对硬件的改动
7.3.3 编译uClinux 内核
7.3.4 内核的加载运行
7.4 在uClinux 下开发应用程序
----------------------- 页面 7-----------------------
ARM 应用系统开发详解──基于S3C4510B 的系统设计
7.4.1 串行通信
7.4.2 socket 编程
7.4.3 添加用户应用程序到uClinux
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -