ARM

本文详细介绍了ARM微处理器的不同系列,如ARM7、ARM9、ARM10、ARM11和Cortex-M3等,以及它们的特点。文章还探讨了ARM体系结构中的关键组件,例如NVIC嵌套向量中断控制器、WIC唤醒中断控制器和MMU内存管理单元。此外,还讲解了ARM的工作模式、指令集、寄存器用途和内存管理等方面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、ARM微处理器ARM7(冯诺依曼体系结构,32位嵌入式RISC低端处理器核,16位Thumb指令,3级流水线(即ARM在执行第一条指令的同时,对第二条指令进行译码,并将第三条指令从存储器中取出))ARM9(哈佛体系结构,32位ARM指令集和16位Thumb指令集,支持主流操作系统,5级整流水线)ARM10、ARM11。Cortex-M3微控制器等。

2、37个寄存器,31个通用寄存器,包括程序计数器(PC指针)32位寄存器,6个状态寄存器。

3、NVIC嵌套向量中断控制器
4、WIC唤醒中断控制器

5、ARM体系结构包括三种状态,ARM状态(32位指令状态),TRUMB状态(16位指令状态),调试状态。
6、ARM工作模式,取决于程序状态寄存器CPSR的低五位的值。用户模式,快速中断模式,外部中断模式,管理模式,中止模式,未定义指令模式,系统模式。

7、AMBA,AHB.APB,ARM内核和处理器芯片中连接总线。存储器及控制器,中断控制器,DMA控制器,电源管理与时钟控制器,GPIO端口,定时计数组件(对特定输入的时钟通过分频后接入计数器进行加一或减一计数,计数达到预定的数值后将引发一个中断并置一定的标志位),模拟通道组件(AD转换),互联通信组件。

MMU(Memory Management Unit)

8、指令集:跳转指令、数据处理指令、程序状态寄存器(PSR)处理指令、加载/存储指令、协处理指令和异常指令。每一条ARM指令包含4位的条件码位于指令最高位,条件码有16种。如BEQ,表示当CPSR中的Z标志位置位时发生跳转(相等则跳转)。

寄存器R13:在ARM指令中常用作堆栈指针SP

寄存器R14:也称作子程序连接寄存器(Subroutine Link Register)即连接寄存器LR

寄存器R15:也称作程序计数器PC

R13位SP堆栈指针

9、堆栈属于内存。声明变量意味着分配内存,根据变量的类型不同,内存区域也不同。堆和栈是两个不同的区域。栈的大小区域有限(比如一般为4M),此区域用于存储局部变量,形参,场景信息等,此类区域系统会自动释放。而堆区理论上则是无限大,为new,malloc等函数中分配内存,这些手动分配的区域必须用delete,free等函数手动释放,系统不会自动释放。具体涉及内存分配和内存管理MMU。

ARM压栈的顺序很是规矩,依次为当前函数指针PC、返回指针LR、栈指针SP、栈基址FP、传入参数个数及指针、本地变量和临时变量。如果函数准备调用另一个函数,跳转之前临时变量区先要保存另一个函数的参数。

BL NEXT       ; 跳转到NEXT

……

NEXT

……

mov pc, lr    ; 从子程序返回。

ARM中断向量表指的是,程序遇到异常或中断时自动跳转到规定的地址,再在规定地址处放一条跳转指令去执行相应的程序(任务)。

大端模式是在大端存储数据的高八位,低端存入数据的低八位。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值