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