1 ARM是什么
- (1)ARM一家专门设计芯片架构的公司,将自己设计好的内核架构卖给IC厂商去生产。
- (2)ARM是一种精简指令集架构(RISV),主打低功耗低成本。
- (3)ARM内核的版本:ARMV1~ARMV7,Cortex-M(微控制)、Cortex-A(微处理)、Cortex-R(实时处理)。
- (4)发展历程:
ARM6(1991,第一款RISC精简指令集处理器)-> ARM7(1993)-> ARM9TDMI(1997)-> ARM9E(1999)-> ARMV6(2001)
-> ARM11(2002)-> Cortex-M3(2004)-> Cortex-A8(2005)-> Cortex-M1、Cortex-A9(2007)->
Cortex-M0(2009)-> Cortex-M4、Cortex-M5(2010)-> Cortex-A7(2012)。
- (5)A8(单核)-> A9(多核,性能居中)-> A15(性能高,功耗大)-> A7(性能下降,功耗低)。
2 内核版本号、SOC号、芯片型号
- (1)内核版本号:ARMV1~ARMV7。
- (2)SOC型号:具体到某内核里的一种型号,ARM Cortex-A8。
- (3)芯片型号:具体到厂商生产的芯片型号,比如 stm32f103、三星的S5PV210。
- (4)SOC:片上系统,将CPU和存储器等部分外设都设计在一个硅片上,大幅度提示通信速度。
3 三星主要的ARM CPU
ARM7 44B0
ARM9 2440 2410 2416
ARM11 6410
A8 S5PV210 S5PC100
A9 4412 4418
备注:X210板载S5PV210芯片,内核版本ARMV7,SOC型号ARM Cortex-A8。
4 主流的芯片
- (1)PC机:Intel、AMD。 window + mac
- (2)单片机:51、STM32、PLC 裸机 + RTOS
- (3)嵌入式:ARM、MIPS(路由器) Linux + Andriod
5 为什么需要交叉编译
- (1)开发板的内部资源有限,一般自己不搭载开发环境,就需要借助Windows下的Linux的GCC编译器。
- (2)但不通架构的指令集不同,在程序移植时会出问题,所以就需要借助ARM专门的编译环境来编译程序。
6 CPU和总线
- (1)地址总线,最大位数为寻址访问,32位地址总线,最大寻址访问4G。
- (2)数据总线,单次传输,能够传的数据的最大位数为32。
- (3)地址总线和数据总线的位数可以不同,51单片机的数据总线8为、地址总线16位。
- (4)编程变量最好与地址总线的位数保持一致,这样传输速度更快。