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