TA的每日心情 | 开心 2019-11-19 15:19 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
都了解一下ARM
: l& a# n+ f8 u最近想学学Arm,找了点资料,共享下。
' y3 m3 E* i% @2 NARM简介
; W) _1 k0 z: y+ W ~1. ARM只卖知识产权,不卖(物理的,实质的)产品。
5 B1 f0 \' L" K8 N* n. c5 o6 [( W5 n2. 全世界100多家公司购买了ARM授权,包括三星,Freescale、NXP Semiconductors、STMicroelectronics、Texas Instruments ,Toshiba,Analog Device,atmel,microsemi...具体参看ARM官网
$ M0 H" D% d( F. Z( p3. ARM processor family:ARM7,ARM9,ARM11,Cortex-A,Cortex-R,Cortex-M,SecurCore1 w# @# i& o4 S+ J7 S; W
4. 为了清楚地表达每个ARM应用实例所使用的指令集,ARM公司定义了6种主要的ARM指令集体系结构版本,以版本号V1~V6表示, _; I4 z K6 w2 Q" e# y3 v. V. O
ARM架构(或内核):ARMv1,ARMv2...到ARMv8,比如ARM9,10架构为ARMv5,ARM11为ARMv6,Cortex系列为ARMv7
) |* P, [4 D: h4 D$ e) m! g(Cortex系列又包括Cortex-A,Cortex-R,Cortex-M三系列,架构也分别为ARMv7-A,ARMv7-R,ARMv7-M)./ g! B8 A. `0 |
最小的64位arm架构为ARMv8。。。(细分的ARMv4T,v5E等就不说了)
% ?( `) E, r' P* j/ w处理器 内核、
) @3 R" c6 H. ~) q, B6 gARM7 ARMv4
, F- A% W, e+ l8 q* M$ kARM9,10 ARMv5) n3 d' j% r8 i" l7 x# d
ARM11 ARMv68 O9 s6 c' @% M- J
/////////////////////
( M' o" r h nCortexA8 ARMv7
% x0 U, ] [) K& B64bit ARMv87 n* G3 R; g, V. ]4 Q1 c* `) A+ @8 c
5. ARM7是冯 诺依曼体系结构,ARM9。ARM11等是哈佛体系结构(数据和指令分开存储,分开访问速度更快)。; L4 G9 w8 w% z) _( M! B+ ?
6. 其他分类, _2 y7 w2 R3 R; X6 T. p
经典 ARM 处理器
- ~0 h: ]: r, P+ x7 K: XARM11™ 系列 - 基于 ARMv6 架构的高性能处理器
) s i( E9 S9 p) gARM9™ 系列 - 基于 ARMv5 架构的常用处理器) \6 f. i* i- Q/ n8 y
ARM7™ 系列- 面向普通应用的经典处理器
$ r: @- Z' z5 M* G" i0 z2 `ARM 专家处理器. D/ B6 u6 l( M, X6 N0 E- ]3 V
SecurCore™ - 面向高安全性应用的处理器。( o6 I8 X' Z( x" ^+ A& v- S" ^" V8 P
FPGA Cores - 面向 FPGA 的处理器
+ f% l1 T' w8 s) [; L TARM Cortex 应用程序处理器+ Q) g6 Z# J$ p# A. ^/ y
ARM Cortex 嵌入式处理器
: N a: `8 Z6 E7. 授权数:9 y9 X, W, i" V) Y( ]5 b
经典 ARM 处理器 许可证数* i; W( w. _: U, K' q
ARM11 系列 82* A" Q3 e) w8 e, O% e2 h
ARM9 系列 271, H; v; j/ s* |4 P
Cortex 处理器 许可证数) P N$ ?0 y* Y4 q1 h% O
Cortex-A 86% y. a1 P( [: W. [5 G
Cortex-R 222 y0 e* m6 X& n
Cortex-M 123" V0 ~& L* `( ?
8. 经典 ARM 处理器:ARM7,ARM9,ARM11.5 g2 o% C( z' H, h& |. m
ARM 11 之後分成三类:, r+ ?& p. n- K: G1 X# @
Cortex - A/R/M' @8 M! D: u% Y+ x& z" D: k9 o
Cortex - A 系列面向尖端的基于虚拟内存的操作系统和用户应用;
3 [( l2 `" A5 L( o. z% Y4 d3 wCortex - R 系列针对实时系统;4 U8 Z: f( E, ]1 \ Y% L
Cortex - M 系列对微控制器。8 k9 A7 z* M' {# Q% E5 A
9.ARM7,9,11区别(网友):
2 b9 P3 k, l( s8 N/ ^ u, uARM7是冯诺依慢结构
3 H; f: a8 Y+ y. Q& F( TARM9、ARM11是哈佛结构,所以性能要高一点。
" {" q/ V/ ]" {* @4 ?- K1 XARM9和ARM11大多带内存管理器,跑操作系统好一点,ARM7适合裸奔。
9 R, `- D6 A* u! c$ Z不跑操作系统,价格低一点的:ARM7、cortex-M3等等。" v7 _ Q# f7 S
性价比高,可跑也可不跑操作系统的:ARM9、cortex-Rx等等。
1 s4 N2 X# C- ]8 ]7 Z( e$ @4 D" X性能高的,通常要跑操作系统的:ARM10、ARM11、Cortex-A8等等。) b8 M' A: @3 \9 B; m0 |. J
成熟的:ARM7\ARM9\ARM11。
7 u1 f+ G5 w' Y% ^2 L4 u5 H发展趋势:Cortex-A、Cortex-R、Cortex-M。7 Q2 a4 R' R) p: F0 u
其实弄ARM大多还是在嵌入式领域,不过现在很多上网本也开始ARM了,
$ B; B Y. C1 Y: [& R估计与intel竞争的时候快来了。
# m- ^: Q( c8 c4 I2410和2440都是三星公司生产的基于ARM9内核的芯,资源上相差不大,
, x6 i& X, D" ~+ P2440多了camara接口,速度要更快一些。上边讲的版本是指内核版本,, m0 J% ?; Z. Z4 W6 y6 n# _
而各个公司出的发行号又各有不同。比如三星的2440,atmel的9260.
* E) ^9 z k, f6 a" D5 p5 K就好比linux的内核版本号与红帽子的发行号不一样是一个道理。
' _: r- r9 P5 R+ G2 h: U4 g4 K10. cortex-m3和ARM11区别:
% O6 q# j# J4 j0 w2 I# ]& a4 O4 n- jcortex-m3的架构(ARMv7)比ARM11(ARMv6)的版本高,但是cortex—m系列的芯片的应用主要在低端(就相当于一个单片机,不跑OS),
0 ^+ J! e: {. S ~% A) o9 q从性能上来说ARM11要比cortex-m3要好不少.
" H# n8 O& c6 [4 z$ m8 [7 y11.3 b1 E; \5 \3 b0 N3 B& s* \) a
ARM7 工控用的一般是ST公司的如STR73x STM32F系列,三星的44b0,atmel的AT91系列;$ o- m3 s. n) v# @7 [8 y( J0 y
ARM9系列一般是三星公司 S3C2440
|* o; y" a5 G$ o/ i% nARM11 一般是手机上用的。: K1 U7 G) W$ c* G& i: u7 ~
处理器以架构分类可以这样分:7 B1 }; t5 I% c* u# @
(1)ARM7,ARM9属于v4T或v5E架构(2)ARM11属于v6架构
1 Q) N2 O- K2 f$ F+ w6 ^2 m(3)Contex属于v7架构ARM7,ARM9的区别在于是否有MMU(存储器管理单元)
# @4 i7 V. j. p或MPU(存储器保护单元)架构上v5E相比v4T则是在于v5E新加入的增强型DSP: z9 ^9 P$ n7 Z$ J" e
(数字信号处理)指令,v4T则是Thumb指令集的加入,. q8 `3 g8 R4 M4 `) Z
v6架构则是开始支持SIMD以及Thumb2的问世新指令的加入& G" X: T' @4 U5 V9 W- S; ~
,增强了处理器的性能或实时性5 c' F" g; s) e& o
12. 51单片机寄存器比较少,指令只有111条;而arm芯片寄存器较多,指令集也多,要掌握它需要耐心和时间,
5 `' K6 H- H5 N所以,为了简化嵌入式软件的编程工作量,生产公司把寄存器的操作搞定,封装成函数,这就是固件函数库。
C6 K) o+ Q- G, U. C比如意法半导体(ST.COM)的《STM32F10xxx固件函数库.pdf》。2 ~; D7 g0 J$ h
13. 学习arm编程,买开发板的话一般用arm9,arm11太贵(一般2k以上),arm7不能跑操作系统。
& w5 Q' _1 [! x5 O* }1 P! t比如:三星S3C2440开发板,mini2440开发板
; _. w5 ~2 f& X* W! g6 L14. ARM开发需要1,硬件(带arm芯片的开发板),2,下载线或仿真器(J-Link等)及其驱动,3.集成开发环境8 _% `$ T* L9 Y" t8 @: y
ADS(好像用的少了),MDK412-keil( arm收购),IAR Embedded Workbench for arm.7 H5 s4 J7 Y6 y6 |+ q, u
15. 常用系列* n1 v, I- I+ ^$ R- d6 H
ST系列 ,NXP系列 , TI系列 ,ATMEL系列,Samsung 系列: q$ i! X2 m, F
先熟悉GPIO,再熟悉串口,中断,定时器,flash等,熟悉好具体的外设操作,然后是stm32里搭建uCos系统,Linux系统。
- d1 y: k; e& Z5 g0 \! ?最后以一句话勉励:
' n: g' H/ x" q0 L天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。
. {5 `& H& j: U1 E+ m4 s4 s | , ~2 `3 r a4 B2 h8 N' @) P' v
|
|