×
嵌入式 > 嵌入式开发 > 详情

ARM裸机开发bootloader内部看ARM

发布时间:2020-09-02 发布时间:
|
一、嵌入式大汇总

1、芯片:s3c2440、s3c6410、s5pv210

2、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、芯片对比

芯片对比
24406410210
处理速度400-500M533-667M800-1G
缓存16K16K32K
内存接口SDRAMDDR
SDRAM
DDR1
DDR2
支持OSwince/linuxwince/linux/andoidwince/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指针的当前值为基地址,指令中的地址标号作为偏移量,将两者相加之后得到操作数的有效地址。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Recogni:将高端AI芯片推向自动驾驶边缘