TA的每日心情 | 开心 2019-11-19 15:19 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
都了解一下ARM
& Z* V! X, n6 _& N' I- [" F: Q最近想学学Arm,找了点资料,共享下。
5 i6 E* Q/ c/ N# VARM简介
( }1 U* @/ w9 n- M4 V) n& Y% K1. ARM只卖知识产权,不卖(物理的,实质的)产品。
- I# p3 a! \, o2. 全世界100多家公司购买了ARM授权,包括三星,Freescale、NXP Semiconductors、STMicroelectronics、Texas Instruments ,Toshiba,Analog Device,atmel,microsemi...具体参看ARM官网7 w% {5 H) o& _; V1 W
3. ARM processor family:ARM7,ARM9,ARM11,Cortex-A,Cortex-R,Cortex-M,SecurCore/ n* d) \2 v2 `# e# S0 n2 M; r$ q
4. 为了清楚地表达每个ARM应用实例所使用的指令集,ARM公司定义了6种主要的ARM指令集体系结构版本,以版本号V1~V6表示
* @6 }! {: `* F0 j& D6 v/ h( I& UARM架构(或内核):ARMv1,ARMv2...到ARMv8,比如ARM9,10架构为ARMv5,ARM11为ARMv6,Cortex系列为ARMv7
B9 _8 ]# p/ d2 T% [* G1 w: I9 t( O(Cortex系列又包括Cortex-A,Cortex-R,Cortex-M三系列,架构也分别为ARMv7-A,ARMv7-R,ARMv7-M).
. ^& S O7 |2 T7 z6 {* S- S5 d最小的64位arm架构为ARMv8。。。(细分的ARMv4T,v5E等就不说了)$ l* R6 ]/ _' j! M: s& Z- v9 g. \
处理器 内核、0 v! z7 e; M. _, s4 Y8 i
ARM7 ARMv4
& Y; c' K8 ^9 [& N1 ]" v! J' EARM9,10 ARMv50 J$ }* h$ |! e) S/ o" c; Q
ARM11 ARMv6" L" F# ~5 j" b0 _! D! Q
/////////////////////
! O- U- O: `; nCortexA8 ARMv7) I6 i4 u+ V7 T" Z' s: u
64bit ARMv8
4 i9 l4 C* O; U x9 W5. ARM7是冯 诺依曼体系结构,ARM9。ARM11等是哈佛体系结构(数据和指令分开存储,分开访问速度更快)。
4 {( }% Y% a5 I X6. 其他分类
9 |8 L) H* c/ B( E. V# [经典 ARM 处理器$ v: M1 E. K0 C, |0 O( k
ARM11™ 系列 - 基于 ARMv6 架构的高性能处理器
& H8 z/ o U# U+ ?; qARM9™ 系列 - 基于 ARMv5 架构的常用处理器
* b; o! j/ X2 S, F& OARM7™ 系列- 面向普通应用的经典处理器
: M$ M5 Q1 K" m% |" oARM 专家处理器
$ N# v& r8 j4 }, E! MSecurCore™ - 面向高安全性应用的处理器。6 K. ~# H) D. s. N& c' x
FPGA Cores - 面向 FPGA 的处理器
2 s1 }3 Z1 V/ O' F" J+ t8 G! ]ARM Cortex 应用程序处理器
3 Y6 {( h. f6 h' cARM Cortex 嵌入式处理器, m/ Z. ^& x% n4 O& j% j3 @6 y& s
7. 授权数:
# r% U) U. f4 q4 D! j; j1 M/ b经典 ARM 处理器 许可证数
7 V- y8 E7 O8 r$ @# B* Q9 f1 PARM11 系列 822 D6 _9 N- K( w( i( T
ARM9 系列 271; O7 J! g5 M% N0 v% ^' i
Cortex 处理器 许可证数9 S1 r+ F# g3 ?, F
Cortex-A 86) [* B! A0 T5 J! [. |
Cortex-R 22
& r5 F( L4 W$ W* W7 G! n: ~Cortex-M 123
: U6 Z: S6 l* F9 A& W" `8. 经典 ARM 处理器:ARM7,ARM9,ARM11.1 S7 I% ~& \- K- a% G) q. U
ARM 11 之後分成三类:
' r& R; E! r- z* rCortex - A/R/M2 D* q0 Q7 t! s, E; J+ u0 f
Cortex - A 系列面向尖端的基于虚拟内存的操作系统和用户应用;2 q/ B. n4 Y+ C* }5 A
Cortex - R 系列针对实时系统;
- Z$ K( E: {: C: e! b3 ^Cortex - M 系列对微控制器。
8 f# H+ B% ^, n3 S! z9.ARM7,9,11区别(网友):
" M7 d2 |6 g' p1 }* D8 A3 Z1 h( N5 fARM7是冯诺依慢结构# L9 j: n7 H! O. M
ARM9、ARM11是哈佛结构,所以性能要高一点。& a* ~6 R5 O9 Q3 L$ _5 C: V. C- c
ARM9和ARM11大多带内存管理器,跑操作系统好一点,ARM7适合裸奔。. x! ~- M% i1 K( S& i2 E4 S9 s
不跑操作系统,价格低一点的:ARM7、cortex-M3等等。
' k; t/ S ^+ z u性价比高,可跑也可不跑操作系统的:ARM9、cortex-Rx等等。" P( q: Z4 i Y- L6 o7 t
性能高的,通常要跑操作系统的:ARM10、ARM11、Cortex-A8等等。
5 |- }/ \" x9 r5 J! j成熟的:ARM7\ARM9\ARM11。. W4 s2 ~$ ~& y9 {" @* J
发展趋势:Cortex-A、Cortex-R、Cortex-M。
: U7 a& {6 q5 }- o: J) l* b其实弄ARM大多还是在嵌入式领域,不过现在很多上网本也开始ARM了,
. f: m# s; f* H7 ~& l估计与intel竞争的时候快来了。
7 w! W0 U0 [$ g1 Q/ `3 I. {# ?2410和2440都是三星公司生产的基于ARM9内核的芯,资源上相差不大,
: j; L& m+ @* r: {2440多了camara接口,速度要更快一些。上边讲的版本是指内核版本,
; u: f9 h( \+ a- i; y3 {# \! R而各个公司出的发行号又各有不同。比如三星的2440,atmel的9260. ?+ F# E# q. {: c, s0 G+ H
就好比linux的内核版本号与红帽子的发行号不一样是一个道理。7 [# S& I5 ^1 B0 o
10. cortex-m3和ARM11区别:$ K% c4 o! c( `6 M% n
cortex-m3的架构(ARMv7)比ARM11(ARMv6)的版本高,但是cortex—m系列的芯片的应用主要在低端(就相当于一个单片机,不跑OS),
, F7 q4 w" h, U4 F从性能上来说ARM11要比cortex-m3要好不少.3 Q% K0 }+ r4 ^
11.% t% C4 v' G3 V' W7 O
ARM7 工控用的一般是ST公司的如STR73x STM32F系列,三星的44b0,atmel的AT91系列;: b, o r2 N- n: \$ ?
ARM9系列一般是三星公司 S3C2440/ e3 J$ Q5 M0 m" a/ `( s
ARM11 一般是手机上用的。
. N% C' Z* t) Y B: o处理器以架构分类可以这样分:
+ Y. w: F1 j8 O6 k1 ?(1)ARM7,ARM9属于v4T或v5E架构(2)ARM11属于v6架构* W5 c a& I" t! U* y
(3)Contex属于v7架构ARM7,ARM9的区别在于是否有MMU(存储器管理单元)5 T! I7 Z+ A7 @: \
或MPU(存储器保护单元)架构上v5E相比v4T则是在于v5E新加入的增强型DSP
* _1 {- ]$ ^/ o% d(数字信号处理)指令,v4T则是Thumb指令集的加入,
4 Z0 ? y u3 c, p& xv6架构则是开始支持SIMD以及Thumb2的问世新指令的加入
: i7 e6 e0 {: A! @* w,增强了处理器的性能或实时性% E7 `- x; r- W/ \1 _9 _1 f
12. 51单片机寄存器比较少,指令只有111条;而arm芯片寄存器较多,指令集也多,要掌握它需要耐心和时间,2 X9 Y4 a8 H* \8 F
所以,为了简化嵌入式软件的编程工作量,生产公司把寄存器的操作搞定,封装成函数,这就是固件函数库。
8 _. W4 \3 Q5 Q2 n- Y比如意法半导体(ST.COM)的《STM32F10xxx固件函数库.pdf》。
4 F- a' h3 p/ E% [/ I2 M# v13. 学习arm编程,买开发板的话一般用arm9,arm11太贵(一般2k以上),arm7不能跑操作系统。
& B) a1 ]; O; {比如:三星S3C2440开发板,mini2440开发板
. O; {' |) s4 Z14. ARM开发需要1,硬件(带arm芯片的开发板),2,下载线或仿真器(J-Link等)及其驱动,3.集成开发环境
; i) W4 w9 z; TADS(好像用的少了),MDK412-keil( arm收购),IAR Embedded Workbench for arm.
. c4 I) i Z8 h) Q: _15. 常用系列
; U0 t I' f( JST系列 ,NXP系列 , TI系列 ,ATMEL系列,Samsung 系列
% n, B* m7 }, w4 p/ ~$ H先熟悉GPIO,再熟悉串口,中断,定时器,flash等,熟悉好具体的外设操作,然后是stm32里搭建uCos系统,Linux系统。
6 G) o' @; Y5 {4 p# v8 T最后以一句话勉励:
* [, S' ~& S# j2 C# r4 v' X天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。' q: N- D. `8 L# n8 j1 k
| 0 Z( l/ N& ~6 \% ^: S2 S) v* }
|
|