學習ARM之前,你需要了解這些
最近想學學Arm,找了點資料,共享下。
ARM簡介
1. ARM只賣知識產(chǎn)權,不賣(物理的,實質的)產(chǎn)品。
2. 全世界100多家公司購買了ARM授權,包括三星,Freescale、NXP Semiconductors、STMicroelectronics、Texas Instruments ,Toshiba,Analog Device,atmel,microsemi...具體參看ARM官網(wǎng)
3. ARM processor family:ARM7,ARM9,ARM11,Cortex-A,Cortex-R,Cortex-M,SecurCore
4. 為了清楚地表達每個ARM應用實例所使用的指令集,ARM公司定義了6種主要的ARM指令集體系結構版本,以版本號V1~V6表示
ARM架構(或內核):ARMv1,ARMv2...到ARMv8,比如ARM9,10架構為ARMv5,ARM11為ARMv6,Cortex系列為ARMv7
(Cortex系列又包括Cortex-A,Cortex-R,Cortex-M三系列,架構也分別為ARMv7-A,ARMv7-R,ARMv7-M).
最小的64位arm架構為ARMv8。。。(細分的ARMv4T,v5E等就不說了)
處理器 內核、
ARM7 ARMv4
ARM9,10 ARMv5
ARM11 ARMv6
/////////////////////
CortexA8 ARMv7
64bit ARMv8
5. ARM7是馮 諾依曼體系結構,ARM9。ARM11等是哈佛體系結構(數(shù)據(jù)和指令分開存儲,分開訪問速度更快)。
6. 其他分類
經(jīng)典 ARM 處理器
ARM11™ 系列 - 基于 ARMv6 架構的高性能處理器
ARM9™ 系列 - 基于 ARMv5 架構的常用處理器
ARM7™ 系列- 面向普通應用的經(jīng)典處理器
ARM 專家處理器
SecurCore™ - 面向高安全性應用的處理器。
FPGA Cores - 面向 FPGA 的處理器
ARM Cortex 應用程序處理器
ARM Cortex 嵌入式處理器
7. 授權數(shù):
經(jīng)典 ARM 處理器 許可證數(shù)
ARM11 系列 82
ARM9 系列 271
Cortex 處理器 許可證數(shù)
Cortex-A 86
Cortex-R 22
Cortex-M 123
8. 經(jīng)典 ARM 處理器:ARM7,ARM9,ARM11.
ARM 11 之後分成三類:
Cortex - A/R/M
Cortex - A 系列面向尖端的基于虛擬內存的操作系統(tǒng)和用戶應用;
Cortex - R 系列針對實時系統(tǒng);
Cortex - M 系列對微控制器。
9.ARM7,9,11區(qū)別(網(wǎng)友):
ARM7是馮諾依慢結構
ARM9、ARM11是哈佛結構,所以性能要高一點。
ARM9和ARM11大多帶內存管理器,跑操作系統(tǒng)好一點,ARM7適合裸奔。
不跑操作系統(tǒng),價格低一點的:ARM7、cortex-M3等等。
性價比高,可跑也可不跑操作系統(tǒng)的:ARM9、cortex-Rx等等。
性能高的,通常要跑操作系統(tǒng)的:ARM10、ARM11、Cortex-A8等等。
成熟的:ARM7\ARM9\ARM11。
發(fā)展趨勢:Cortex-A、Cortex-R、Cortex-M。
其實弄ARM大多還是在嵌入式領域,不過現(xiàn)在很多上網(wǎng)本也開始ARM了,
估計與intel競爭的時候快來了。
2410和2440都是三星公司生產(chǎn)的基于ARM9內核的芯,資源上相差不大,
2440多了camara接口,速度要更快一些。上邊講的版本是指內核版本,
而各個公司出的發(fā)行號又各有不同。比如三星的2440,atmel的9260.
就好比linux的內核版本號與紅帽子的發(fā)行號不一樣是一個道理。
10. cortex-m3和ARM11區(qū)別:
cortex-m3的架構(ARMv7)比ARM11(ARMv6)的版本高,但是cortex—m系列的芯片的應用主要在低端(就相當于一個單片機,不跑OS),
從性能上來說ARM11要比cortex-m3要好不少.
11.
ARM7 工控用的一般是ST公司的如STR73x STM32F系列,三星的44b0,atmel的AT91系列;
ARM9系列一般是三星公司 S3C2440
ARM11 一般是手機上用的。
處理器以架構分類可以這樣分:
(1)ARM7,ARM9屬于v4T或v5E架構(2)ARM11屬于v6架構
(3)Contex屬于v7架構ARM7,ARM9的區(qū)別在于是否有MMU(存儲器管理單元)
或MPU(存儲器保護單元)架構上v5E相比v4T則是在于v5E新加入的增強型DSP
(數(shù)字信號處理)指令,v4T則是Thumb指令集的加入,
v6架構則是開始支持SIMD以及Thumb2的問世新指令的加入
,增強了處理器的性能或實時性
12. 51單片機寄存器比較少,指令只有111條;而arm芯片寄存器較多,指令集也多,要掌握它需要耐心和時間,
所以,為了簡化嵌入式軟件的編程工作量,生產(chǎn)公司把寄存器的操作搞定,封裝成函數(shù),這就是固件函數(shù)庫。
比如意法半導體(ST.COM)的《STM32F10xxx固件函數(shù)庫.pdf》。
13. 學習arm編程,買開發(fā)板的話一般用arm9,arm11太貴(一般2k以上),arm7不能跑操作系統(tǒng)。
比如:三星S3C2440開發(fā)板,mini2440開發(fā)板
14. ARM開發(fā)需要1,硬件(帶arm芯片的開發(fā)板),2,下載線或仿真器(J-Link等)及其驅動,3.集成開發(fā)環(huán)境
ADS(好像用的少了),MDK412-keil( arm收購),IAR Embedded Workbench for arm.
15. 常用系列
ST系列 ,NXP系列 , TI系列 ,ATMEL系列,Samsung 系列
先熟悉GPIO,再熟悉串口,中斷,定時器,flash等,熟悉好具體的外設操作,然后是STM32里搭建uCos系統(tǒng),Linux系統(tǒng)。
最后以一句話勉勵:
天下事有難易乎?為之,則難者亦易矣;不為,則易者亦難矣。
編輯:admin 最后修改時間:2018-05-18