, o! c* b) o2 p% W; M3 \7 @ l( k5 J) ?
2 h- H$ I \4 r- ]4 Y8 i2 t! f# f
01 本文主要针对 ARM初学者,帮助初学者了解ARM相关名词、概念。 02 ARM简介 1.ARM是一门技术,也是一个公司,只卖知识产权,不卖(物理的,实质的)芯片;1 v5 l7 h$ |* _- \
2. 全世界100多家公司购买了ARM授权,包括三星,Freescale、NXP Semiconductors、STMicroelectronics、Texas Instruments,Toshiba,Analog Device,atmel,microsemi...;: Q, u M% w, U: F
3. ARM processor family:ARM7,ARM9,ARM11,Cortex-A,Cortex-R,2 n0 ~5 e2 q* F: U
Cortex-M,SecurCore;
2 n* U d2 f0 C( N5 G; V2 d: L- q4. 为了清楚地表达每个ARM应用实例所使用的指令集,ARM公司定义了6种主要的ARM指令集体系结构版本,以版本号V1~V6表示;+ U, q( i/ [ U5 r' r/ ?
" |5 n; v! T# b 5.ARM架构(内核):ARMv1,ARMv2...到ARMv8,比如ARM9,10架构为ARMv5,ARM11为ARMv6,Cortex系列为ARMv7(Cortex系列又包括Cortex-A,Cortex-R,Cortex-M系列,架构也分别为ARMv7-A,ARMv7-R,ARMv7-M); 03 经典ARM处理器 ARM11系列 - 基于 ARMv6 架构的高性能处理器; ARM9系列 - 基于 ARMv5 架构的常用处理器; ARM7系列- 面向普通应用的经典处理器;
% [9 d* {- b1 y2 v( b( `6 E. o; C' g, U% I8 x5 \9 _5 v! }
ARM11 之後分成三类:Cortex - A/R/M Cortex- A 系列面向尖端的基于虚拟内存的操作系统和用户应用; Cortex- R 系列针对实时系统; Cortex- M 系列对微控制器; 04 ARM专家处理器 SecurCore- 面向高安全性应用的处理器; FPGACores - 面向 FPGA 的处理器; ARMCortex 应用程序处理器; ARMCortex 嵌入式处理器;
# ?0 H+ t' @- l( g9 B k* S6 {$ ?6 _# U( _6 [
05 ARM7、ARM9区别 ARM7是冯诺依慢结构,ARM9、ARM11是哈佛结构,所以性能要高一点。 ARM9和ARM11大多带内存管理器,跑操作系统好一点,ARM7适合裸奔。 不跑操作系统,价格低一点的:ARM7、cortex-M3等。 性价比高,可跑也可不跑操作系统的:ARM9、cortex-Rx等。 性能高的,通常要跑操作系统的:ARM10、ARM11、Cortex-A8等。 2410和2440都是三星公司生产的基于ARM9内核的芯,资源上相差不大, 2440多了camara接口,速度要更快一些。
- n! F' P; Q! t( f4 ^
' U$ e1 `9 w4 _2 G; H8 Z: Y0 @, S 06 Cortex-M3和ARM11区别 Cortex-M3的架构(ARMv7)比ARM11(ARMv6)的版本高,但是Cortex—M系列的芯片的应用主要在低端(就相当于一个 单片机),从性能上来说ARM11要比cortex-m3要好很多。
; X; ^( `: b$ O
; Q' m2 d7 ?1 i07 其他 51单片机寄存器比较少,指令只有111条;而arm芯片寄存器较多,指令集也多,要掌握它需要耐心和时间,所以,为了简化嵌入式软件的编程工作量,生产公司把寄存器的操作封装成函数,这就是固件函数库。学习时建议遵循以下步骤: 先学习GPIO,再学习串口,中断,定时器,flash等,再熟悉具体的外设操作,如果还有需要再学习跑操作系统。
9 l0 w3 ?! C+ P1 C( @' x |