logo资料库

ARM汇编.pdf

第1页 / 共234页
第2页 / 共234页
第3页 / 共234页
第4页 / 共234页
第5页 / 共234页
第6页 / 共234页
第7页 / 共234页
第8页 / 共234页
资料共234页,剩余部分请下载后查看
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 本章小节 1 5 5 5 5 6 6 6 7 7 7 8 8 8 8 8 9 9 10 10 11 11 11 12 12 13 13 15 16 18 18 18 19 19 20 20 21 21 21
ARM 应用系统开发详解──基于 S3C4510B 的系统设计 第 3 章 ARM 微处理器的指令系统 3.1 ARM 微处理器的指令集概述 3.1.1 ARM 微处理器的指令的分类与格式 3.1.2 指令的条件域 3.2 ARM 指令的寻址方式 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 章 应用系统设计与调试 2 22 22 22 23 23 24 24 24 24 25 25 25 25 25 26 30 32 32 34 35 35 36 38 38 39 40 40 40 41 43 45 48 49 49 52 52 52 53 55 56 57
ARM 应用系统开发详解──基于 S3C4510B 的系统设计 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 芯片及引脚分析 5.3.2 电源电路 5.3.3 晶振电路与复位电路 5.3.4 Flash 存储器接口电路 5.3.5 SDRAM 接口电路 5.3.6 串行接口电路 5.3.7 5.3.8 JTAG 接口电路 5.3.9 10M/100M 以太网接口电路 5.3.10 通用 I/O 接口电路 IIC 接口电路 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.6 IIC 总线控制器工作原理 6.2.7 以太网控制器工作原理 主要特性 MAC 功能模块 带缓冲 DMA 接口(Buffered DMA Interface) 以太网控制器特殊功能寄存器(Ethernet Controller Special Registers) MAC 寄存器(Media Access Control(MAC)Register) 以太网控制器的操作(Ethernet Controller Operation) 发送一个帧(Transmitting a Frame) 3 57 58 58 61 67 72 82 82 83 83 85 89 93 94 95 96 100 101 101 102 103 105 105 105 105 106 106 107 107 108 108 111 120 123 127 133 138 139 140 144 147 154 160 162
ARM 应用系统开发详解──基于 S3C4510B 的系统设计 接收一个帧(Receiving a Frame) 6.2.8 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.4.1 串行通信 7.4.2 socket 编程 7.4 7.4.4 通过网络添加应用程序到目标系统 .3 添加用户应用程序到 uClinux 7.5 本章小结 第 8 章 ARM ADS 集成开发环境的使用 8.1 ADS 集成开发环境组成介绍 8.1.1 命令行开发工具 8.1.2 ARM 运行时库 8.1.3 GUI 开发环境(Code Warrior 和 AXD) 8.1.4 实用程序 8.1.5 支持的软件 8.2 使用 ADS 创建工程 8.2.1 建立一个工程 8.2.2 编译和链接工程 8.2.3 使用命令行工具编译应用程序 8.3 用 AXD 进行代码调试 8.4 本章小结 4 162 162 167 167 168 168 170 170 172 177 180 181 184 185 187 188 190 195 202 205 207 209 209 209 218 219 221 221 222 222 225 229 230 233
ARM 应用系统开发详解──基于 S3C4510B 的系统设计 5 第 1 章 ARM 微处理器概述 本章简介 ARM 微处理器的一些基本概念、应用领域及特点,引导读者进入 ARM 技术的殿堂。 本章主要内容: - ARM 及相关技术简介 - ARM 微处理器的应用领域及特点 - ARM 微处理器系列 - ARM 微处理器的体系结构 - ARM 微处理器的应用选型 1.1 ARM-Advanced RISC Machines ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处 理器的通称,还可以认为是一种技术的名字。 1991 年 ARM 公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用 ARM 技术知 识产权(IP)核的微处理器,即我们通常所说的 ARM 微处理器,已遍及工业控制、消费类电子产 品、通信系统、网络系统、无线系统等各类产品市场,基于 ARM 技术的微处理器应用约占据了 32 位 RISC 微处理器 75%以上的市场份额,ARM 技术正在逐步渗入到我们生活的各个方面。 ARM 公司是专门从事基于 RISC 技术芯片设计开发的公司,作为知识产权供应商,本身不直接 从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从 ARM 公司购买其设计的 ARM 微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成 自己的 ARM 微处理器芯片进入市场。目前,全世界有几十家大的半导体公司都使用 ARM 公司的 授权,因此既使得 ARM 技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低, 使产品更容易进入市场被消费者所接受,更具有竞争力。 1.2 ARM 微处理器的应用领域及特点 1.2.1 ARM 微处理器的应用领域 到目前为止,ARM 微处理器及技术的应用几乎已经深入到各个领域: 1、工业控制领域:作为 32 的 RISC 架构,基于 ARM 核的微控制器芯片不但占据了高端微控 制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,ARM 微控制器的低功耗、 高性价比,向传统的 8 位/16 位微控制器提出了挑战。 2、无线通讯领域:目前已有超过 85%的无线通讯设备采用了 ARM 技术, ARM 以其高性能和 低成本,在该领域的地位日益巩固。 3、网络应用:随着宽带技术的推广,采用 ARM 技术的 ADSL 芯片正逐步获得竞争优势。此外, ARM 在语音及视频处理上行了优化,并获得广泛支持,也对 DSP 的应用领域提出了挑战。 4、消费类电子产品:ARM 技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广 泛采用。 5、成像和安全产品:现在流行的数码相机和打印机中绝大部分采用 ARM 技术。手机中的 32 位 SIM 智能卡也采用了 ARM 技术。 除此以外,ARM 微处理器及技术还应用到许多不同的领域,并会在将来取得更加广泛的应用。
ARM 应用系统开发详解──基于 S3C4510B 的系统设计 6 1.2.2 ARM 微处理器的特点 采用 RISC 架构的 ARM 微处理器一般具有如下特点: 1、体积小、低功耗、低成本、高性能; 2、支持 Thumb(16 位)/ARM(32 位)双指令集,能很好的兼容 8 位/16 位器件; 3、大量使用寄存器,指令执行速度更快; 4、大多数数据操作都在寄存器中完成; 5、寻址方式灵活简单,执行效率高; 6、指令长度固定; 1.3 ARM 微处理器系列 ARM 微处理器目前包括下面几个系列,以及其它厂商基于 ARM 体系结构的处理器,除了具有 ARM 体系结构的共同特点以外,每一个系列的 ARM 微处理器都有各自的特点和应用领域。 - ARM7 系列 - ARM9 系列 - ARM9E 系列 - ARM10E 系列 - SecurCore 系列 - Inter 的 Xscale - Inter 的 StrongARM 其中,ARM7、ARM9、ARM9E 和 ARM10 为 4 个通用处理器系列,每一个系列提供一套相对 独特的性能来满足不同应用领域的需求。SecurCore 系列专门为安全要求较高的应用而设计。 以下我们来详细了解一下各种处理器的特点及应用领域。 1.3.1 ARM7 微处理器系列 ARM7 系列微处理器为低功耗的 32 位 RISC 处理器,最适合用于对价位和功耗要求较高的消费 类应用。ARM7 微处理器系列具有如下特点: - 具有嵌入式 ICE-RT 逻辑,调试开发方便。 - 极低的功耗,适合对功耗要求较高的应用,如便携式产品。 - 能够提供 0.9MIPS/MHz 的三级流水线结构。 - 代码密度高并兼容 16 位的 Thumb 指令集。 - 对操作系统的支持广泛,包括 Windows CE、Linux、Palm OS 等。 - 指令系统与 ARM9 系列、ARM9E 系列和 ARM10E 系列兼容,便于用户的产品升级换代。 - 主频最高可达 130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。 ARM7 系列微处理器的主要应用领域为:工业控制、Internet 设备、网络和调制解调器设备、移 动电话等多种多媒体和嵌入式应用。 ARM7 系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、 ARM720T、ARM7EJ。其中,ARM7TMDI 是目前使用最广泛的 32 位嵌入式 RISC 处理器,属低端 ARM 处理器核。TDMI 的基本含义为: T: 支持 16 为压缩指令集 Thumb; D: 支持片上 Debug; M:内嵌硬件乘法器(Multiplier) I: 嵌入式 ICE,支持片上断点和调试点;
ARM 应用系统开发详解──基于 S3C4510B 的系统设计 7 本书所介绍的 Samsung 公司的 S3C4510B 即属于该系列的处理器。 1.3.2 ARM9 微处理器系列 ARM9 系列微处理器在高性能和低功耗特性方面提供最佳的性能。具有以下特点: - 5 级整数流水线,指令执行效率更高。 - 提供 1.1MIPS/MHz 的哈佛结构。 - 支持 32 位 ARM 指令集和 16 位 Thumb 指令集。 - 支持 32 位的高速 AMBA 总线接口。 - 全性能的 MMU,支持 Windows CE、Linux、Palm OS 等多种主流嵌入式操作系统。 - MPU 支持实时操作系统。 - 支持数据 Cache 和指令 Cache,具有更高的指令和数据处理能力。 ARM9 系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字 照相机和数字摄像机等。 ARM9 系列微处理器包含 ARM920T、ARM922T 和 ARM940T 三种类型,以适用于不同的应用 场合。 1.3.3 ARM9E 微处理器系列 ARM9E 系列微处理器为可综合处理器,使用单一的处理器内核提供了微控制器、DSP、Java 应用系统的解决方案,极大的减少了芯片的面积和系统的复杂程度。ARM9E 系列微处理器提供了 增强的 DSP 处理能力,很适合于那些需要同时使用 DSP 和微控制器的应用场合。 ARM9E 系列微处理器的主要特点如下: - 支持 DSP 指令集,适合于需要高速数字信号处理的场合。 - 5 级整数流水线,指令执行效率更高。 - 支持 32 位 ARM 指令集和 16 位 Thumb 指令集。 - 支持 32 位的高速 AMBA 总线接口。 - 支持 VFP9 浮点处理协处理器。 - 全性能的 MMU,支持 Windows CE、Linux、Palm OS 等多种主流嵌入式操作系统。 - MPU 支持实时操作系统。 - 支持数据 Cache 和指令 Cache,具有更高的指令和数据处理能力。 - 主频最高可达 300MIPS。 ARM9 系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设 备和网络设备等领域。 ARM9E 系列微处理器包含 ARM926EJ-S、ARM946E-S 和 ARM966E-S 三种类型,以适用于不 同的应用场合。 1.3.4 ARM10E 微处理器系列 ARM10E 系列微处理器具有高性能、低功耗的特点,由于采用了新的体系结构,与同等的 ARM9 器件相比较,在同样的时钟频率下,性能提高了近 50%,同时,ARM10E 系列微处理器采用了两种 先进的节能方式,使其功耗极低。 ARM10E 系列微处理器的主要特点如下: - 支持 DSP 指令集,适合于需要高速数字信号处理的场合。 - 6 级整数流水线,指令执行效率更高。 - 支持 32 位 ARM 指令集和 16 位 Thumb 指令集。
ARM 应用系统开发详解──基于 S3C4510B 的系统设计 8 - 支持 32 位的高速 AMBA 总线接口。 - 支持 VFP10 浮点处理协处理器。 - 全性能的 MMU,支持 Windows CE、Linux、Palm OS 等多种主流嵌入式操作系统。 - 支持数据 Cache 和指令 Cache,具有更高的指令和数据处理能力 - 主频最高可达 400MIPS。 - 内嵌并行读/写操作部件。 ARM10E 系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信 和信息系统等领域。 ARM10E 系列微处理器包含 ARM1020E、ARM1022E 和 ARM1026EJ-S 三种类型,以适用于不 同的应用场合。 1.3.5 SecurCore 微处理器系列 SecurCore 系列微处理器专为安全需要而设计,提供了完善的 32 位 RISC 技术的安全解决方案, 因此,SecurCore 系列微处理器除了具有 ARM 体系结构的低功耗、高性能的特点外,还具有其独特 的优势,即提供了对安全解决方案的支持。 SecurCore 系列微处理器除了具有 ARM 体系结构各种主要特点外,还在系统安全方面具有如下 的特点: - 带有灵活的保护单元,以确保操作系统和应用数据的安全。 - 采用软内核技术,防止外部对其进行扫描探测。 - 可集成用户自己的安全特性和其他协处理器。 SecurCore 系列微处理器主要应用于一些对安全性要求较高的应用产品及应用系统,如电子商 务、电子政务、电子银行业务、网络和认证系统等领域。 SecurCore 系列微处理器包含 SecurCore SC100、SecurCore SC110、SecurCore SC200 和 SecurCore SC210 四种类型,以适用于不同的应用场合。 1.3.6 StrongARM 微处理器系列 Inter StrongARM SA-1100 处理器是采用 ARM 体系结构高度集成的 32 位 RISC 微处理器。它融 合了 Inter 公司的设计和处理技术以及 ARM 体系结构的电源效率,采用在软件上兼容 ARMv4 体系 结构、同时采用具有 Intel 技术优点的体系结构。 Intel StrongARM 处理器是便携式通讯产品和消费类电子产品的理想选择,已成功应用于多家公 司的掌上电脑系列产品。 1.3.7 Xscale 处理器 Xscale 处理器是基于 ARMv5TE 体系结构的解决方案,是一款全性能、高性价比、低功耗的处 理器。它支持 16 位的 Thumb 指令和 DSP 指令集,已使用在数字移动电话、个人数字助理和网络产 品等场合。 Xscale 处理器是 Inter 目前主要推广的一款 ARM 微处理器。 1.4 ARM 微处理器结构 1.4.1 RISC 体系结构 传统的 CISC(Complex Instruction Set Computer,复杂指令集计算机)结构有其固有的缺点,即
分享到:
收藏