最近想学学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系统。 最后以一句话勉励: 天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。
|