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