×
单片机 > 单片机程序设计 > 详情

ARM裸机开发bootloader内部看ARM

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

1、芯片:s3c2440、s3c6410、s5pv210

2、ARM核:A8、ARM9、ARM11

3、指令架构:armv7、armv6

2440使用的是arm9的核,内核使用的是armv4的指令架构;

6410使用的是arm11的核,内核使用的是armv6的指令架构;

210使用的是A8的核,内核使用的是armv7的指令架构。

arm11 cortexA5 A8 A9

arm9 cortexR4

arm7 cortexM0 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中新加入的模式,一般不会用到。

usr normal program execution mode

fiq supports a high-speed data transfer or channel process

irq used for general-purpose interrupt handling

svc a protected mode for the operating system

abt implements virtual memory and memory protection

und supports software emulation of hardware coprocessors

sys runs 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指针的当前值为基地址,指令中的地址标号作为偏移量,将两者相加之后得到操作数的有效地址。

关键字:ARM  裸机开发  bootloader 

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

热门文章 更多
TQ210天嵌开发板S5PV210 LED闪烁程序C语言代码记录