ARM嵌入式开发:核心模块与指令系统概览

需积分: 4 1 下载量 82 浏览量 更新于2024-07-30 收藏 74KB DOC 举报
"ARM开发常用模块,包括ARM内核功能模块、封装形式、寄存器配置、指令集、寻址方式、伪指令等基础知识,适合初学者了解和掌握ARM嵌入式开发。" ARM内核是其核心部分,主要包括四个功能模块:数据处理单元、内存接口、总线接口和中断控制器。数据处理单元负责执行算术和逻辑运算;内存接口管理与外部存储器的通信;总线接口处理与其他设备的通信;中断控制器则管理系统的中断请求,确保处理器能响应外部事件。 ARM7TDMI与ARM720T的区别在于,后者增加了硬件乘法器和片上SRAM,提升了计算能力和系统集成度。ARM芯片的封装形式多样,包括LQFP、BGA、PLCC、TQFP、QFN、TSSOP等,适应不同应用场合的需求。 ARM微处理器的寄存器结构包括37个32位寄存器,其中15个为通用寄存器(R0-R14,R15作为程序计数器),7个为状态寄存器,包括程序状态寄存器(PSR)。ARM架构支持字节、半字和字数据的两种存储方式:大端模式和小端模式,分别决定了数据的高低字节存储顺序。 协处理器主要负责扩展处理器功能,如浮点运算、数字信号处理、内存管理等,通常包括CP14(调试协处理器)、CP15(系统控制协处理器)等。 当异常发生时,ARM处理器会保存当前状态,更新程序计数器,跳转到异常处理程序,执行相应的异常服务例程。 在第二章中,ARM处理器支持两种指令集:ARM指令集和Thumb指令集,分别适用于高性能和代码密度优化。九种基本寻址方式包括立即寻址、寄存器寻址、寄存器间接寻址、预增/预减寻址、相对寻址、基址加变址寻址、索引寻址、偏移寻址和多寄存器寻址。ARM指令集可分为数据处理指令、Load/Store指令、分支指令、多处理指令、SWI指令和无操作指令六类。 汇编程序中的伪指令包括定义标号、分配空间、赋值、定义字节或字等,如.EQU、.WORD、.BYTE等。混合编程通常通过函数调用、内联汇编和嵌入汇编实现。C/C++编译器产生的文件格式可能包括源代码文件(.c/.cpp)、汇编代码文件(.s)、目标代码文件(.o)、可重定位目标文件和可执行文件。 一条典型的ARM指令格式为`opcode <Rd>, <Rn>, #<imm>`或`opcode <Rd>, <Rn>, <Rm>{, <shift>}`,其中opcode表示操作码,Rd、Rn、Rm为寄存器,#<imm>表示立即数,<shift>表示位移操作。递增和递减的满堆栈和空堆栈组合有SP+R、SP-R、R+SP和R-SP,分别对应不同操作场景。ARM协处理器指令包括数据传输、操作和控制三类,用于与协处理器交互。 常见的符号定义伪指令包括.EQU、.BYTE、.WORD、.DWORD等。汇编语言程序中的符号应遵循命名规则,通常由字母、数字和下划线组成,且不能以数字开头。可执行映像文件通常包含头文件、代码段、数据段和初始化数据等部分。