ARM裸机开发bootloader内部看ARM
1、芯片:s3c2440、s3c6410、s5pv210
本文引用地址:https://www.eepw.com.cn/article/201611/318217.htm2、ARM核:A8、ARM9、ARM11
3、指令架构:armv7、armv6
2440使用的是arm9的核,内核使用的是armv4的指令架构;
6410使用的是arm11的核,内核使用的是armv6的指令架构;
210使用的是A8的核,内核使用的是armv7的指令架构。
arm11cortexA5 A8 A9
arm9cortexR4
arm7cortexM0 M1M3 M4
ARM经典cortexM cortexR cortexA
CortexM主要用于工业控制领域,不能安装操作系统;
CortexR用于实用控制;
CortexA用于多媒体。
4、核对比
ARM7类似CortexM3主要用于裸机开发。
ARM9和ARM11是介于CortexR与CortexA中间的ARM内核。
5、芯片对比
2440 | 6410 | 210 | |
处理速度 | 400-500M | 533-667M | 800-1G |
缓存 | 16K | 16K | 32K |
内存接口 | SDRAM | DDR SDRAM | DDR1 DDR2 |
支持OS | wince/linux | wince/linux/andoid | wince/linux/andoid |
其它 | 停产 | 生产中 | 生产中 |
二、ARM工作模式
1、ARM一共有几种工作模式,为什么
ARM共有7种工作模式,usr、svc、sys、irq、fiq、und、abt
不同的工作模式下,可以访问不同的寄存器和指令。这就保证了不同工作任务的分类处理。例如在linux中应用程序工作在usr模式下,而linux内核工作在svc模式下。
sys是在armv4中新加入的模式,一般不会用到。
usrnormal program execution mode
fiqsupports a high-speed data transfer or channel process
irqused for general-purpose interrupt handling
svca protected mode for the operating system
abtimplements virtual memory and memory protection
undsupports software emulation of hardware coprocessors
sysruns privileged operating system tasks(armv4 and above)
2、ARM寄存器详解
ARM寄存器{通用寄存器{未分组寄存器(r0-r7)、分组寄存器(r8-r14)、程序计数器(r15)}、状态寄存器{cpsr、spsr}}
ARM共有37个寄存器,其中31个通用寄存器和6个状态寄存器。
R13:SP堆栈指针寄存器
R14:链接寄存器{执行函数返回地址、中断返回地址}
R15:PC指针,计数器。
CPSR和SPSR都是状态寄存器,它们有着共同的模式。当发生中断等异常时,将CPSR中的状态数字保存到相应的异常模式下的SPSR,等要返回原来模式时,就调用SPSR中的状态数字,就可以返回原来模式了。
三、ARM的寻址方式
1、什么是寻址方式
寻址方式就是指根据指令中信息来查找操作数的方式
2、都有哪些寻址方式
1、立即数寻址
就是其中指令就是操作数,对指令进行操作就是对操作数直接操作。
2、寄存器寻址
寄存器中存放的是操作数,对寄存器进行操作就是对寄存器中的内容操作数进行操作。
3、寄存器间接寻址
寄存器中存放的是内存地址,通过内存地址对操作数进行间接的存取。
4、基址变址寻址
寄存器中存放的是基址,而后又加变址,基址加变址就是一个操作数的内存地址。
5、相对寻址
跳转指令中相对寻址PC指针的当前值为基地址,指令中的地址标号作为偏移量,将两者相加之后得到操作数的有效地址。
评论