ARM裸機開發(fā)bootloader內部看ARM
1、芯片:s3c2440、s3c6410、s5pv210
本文引用地址:http://www.104case.com/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主要用于工業(yè)控制領域,不能安裝操作系統(tǒng);
CortexR用于實用控制;
CortexA用于多媒體。
4、核對比
ARM7類似CortexM3主要用于裸機開發(fā)。
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)}、狀態(tài)寄存器{cpsr、spsr}}
ARM共有37個寄存器,其中31個通用寄存器和6個狀態(tài)寄存器。
R13:SP堆棧指針寄存器
R14:鏈接寄存器{執(zhí)行函數返回地址、中斷返回地址}
R15:PC指針,計數器。
CPSR和SPSR都是狀態(tài)寄存器,它們有著共同的模式。當發(fā)生中斷等異常時,將CPSR中的狀態(tài)數字保存到相應的異常模式下的SPSR,等要返回原來模式時,就調用SPSR中的狀態(tài)數字,就可以返回原來模式了。
三、ARM的尋址方式
1、什么是尋址方式
尋址方式就是指根據指令中信息來查找操作數的方式
2、都有哪些尋址方式
1、立即數尋址
就是其中指令就是操作數,對指令進行操作就是對操作數直接操作。
2、寄存器尋址
寄存器中存放的是操作數,對寄存器進行操作就是對寄存器中的內容操作數進行操作。
3、寄存器間接尋址
寄存器中存放的是內存地址,通過內存地址對操作數進行間接的存取。
4、基址變址尋址
寄存器中存放的是基址,而后又加變址,基址加變址就是一個操作數的內存地址。
5、相對尋址
跳轉指令中相對尋址PC指針的當前值為基地址,指令中的地址標號作為偏移量,將兩者相加之后得到操作數的有效地址。
評論