详细介绍了ARM与STM32的关系、STM32与ARM7、ARM9、ARM11的区别、美国芯片巨头NVIDIA打算收购ARM信息。 紫色文字是超链接,点击会自动跳转到相关博文。 更新持续,原创很难! 目录: http://www.Sina.com/http://www.Sina.com/http://www.Sina.com/http://www.Sina.com– – 全球超过95%的智能手机和平板电脑采用ARM体系结构。 例如华为麒麟系列处理器、高通骁龙系列处理器、三星猎户座处理器、联发科的天宫系列处理器都是基于ARM架构开发的芯片。 ARM设计了许多经济高效、低功耗的RISC处理器、相关技术和软件。 技术具有性能高、成本低、节约用电的特点。 在智能手机、平板电脑、嵌入式控制、多媒体数字等处理器领域占主导地位。 该公司主要提供IP核心(CPU )核心体系结构,而不是完整的处理器。 然后把这个核卖给大半导体公司。 为了应对8位机器市场,推出了Cortex-M3核心。 STM32是基于意大利意大利半导体Cortex-M3的32位嵌入式处理器。 STM32是基于ARM内核的控制器,处于包含和包含的关系。 arm(STM32 )。 ————————3358 www . 1998年5月,SGS-THOMSON Microelectronics将公司名称改为意大利半导体有限公司。 例如本公司使用的STM32F103VET8、STM32F103C8T6。 一个芯片由核心和外围设备组成。 ST公司生产芯片,但它使用ARM公司的核心和自己的外围设备构成完整的STM芯片,当然以ST命名。
————————3358 www .
“text-align:center;”>
伟达公司是一家以设计显示芯片和主板芯片组为主的人工智能计算公司,创始人为美籍华人mmydzxc。在全球大部分电脑的主机以及其他电子设备中都会装有英伟达提供的芯片。在企业规模与类别上,英伟达与英特尔、AMD并驾齐驱。
当英伟达与日本软银达成协议后,遭到了高通、华为、微软、谷歌等科技公司的强烈反对。那么问题来了,为什么日本软银可以入股ARM,并且能成为ARM的最大股东,而英伟达却不行呢?原因就是日本软银只是个投资公司,而英伟达是科技互联网公司,还有英伟达与日本软银不同,英伟达要400亿美元全资收购ARM,这就会让ARM由英国公司变成美国公司,一旦英伟达收购了ARM,那么就会预示着英伟达可以直接掌握着ARM框架,高通、华为等科技公司都要看英伟达的脸色行事,一旦英伟达看哪一个公司不顺眼,那么断开ARM框架服务的可能性也是有的。
ARM被英伟达收购,对我们国内科技公司的影响更是弊大于利,ARM作为英国科技公司,那么还可以绕开美国对我国国内科技公司软硬件服务与设备的断供。一旦ARM成为了美国公司,那么美国就有可能让英伟达旗下的ARM禁止为我国的科技互联网公司提供ARM框架服务,这样会对我国国内的科技互联网公司造成很大的影响,损失也会很大。 ——————————————————————————————————- 二、STM32与ARM7、ARM9、ARM11的区别 STM32外设丰富,没有MMU(内存管理单元),只能叫做MCU(微控制器),可以上ucos等小型系统。ARM9外设不够丰富,有mmu,可以上Linux。如果想上安卓,至少ARM11以上才比较合适。 ARM7是ARM公司推出的以V4指令集设计出来的ARM核,基于ARM7可以生产出很多CPU芯片,其代表的芯片有s3c44b0等; ARM9、ARM11是嵌入式CPU(处理器),不同于STM32与ARM7。 ARM9是ARM公司推出的以V5指令集设计出来的ARM核,基于ARM9其它公司推出了自己的CPU芯片,如三星推出了S3C2440。还有TI啊,ATMEL啊,高通啊都基于ARM9推出了自己的CPU芯片。 STM32是就是基于Cortex-M3这个核生产的CPU。STM32是CM3构架的,是ARM取代ARM7的。主要还是前后台编程,也可以挂μcos系统。在学习ARM9之前接触STM32会有些帮助,但不是特别多。ARM9主要是挂系统能力强一些,而且和以前的编程习惯完全不一样。 到了ARM v7架构的时候开始以Cortex来命名,并分成Cortex-A、Cortex-R、Cortex-M三个系列。三大系列分工明确:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列针对实时系统;“M”系列对微控制器。简单的说Cortex-A系列是用于移动领域的CPU,Cortex-R和Cortex-M系列是用于实时控制领域的MCU。
所以看上去ARM7跟Cortex-M很像,因为他们都是MCU,但确是不同代、不同架构的MCU(Cortex-M比ARM7高了三代!),所以性能也有很大的差距。此外,Cortex-M系列还细分为M0、M3、M4和超低功耗的M0+,用户依据成本、性能、功耗等因素来选择芯片。 ARM9、ARM11是哈佛结构,所以性能要高一点。ARM9和ARM11大多带内存管理器,跑操作系统好一点,ARM7适合裸奔。不跑操作系统,价格低一点的:ARM7、cortex-M3等等。性价比高,可跑也可不跑操作系统的:ARM9、Cortex-Rx等等。性能高的,通常要跑操作系统的:ARM10、ARM11、Cortex-A8等等。成熟的ARM7、ARM9、ARM11。发展趋势:Cortex-A、Cortex-R、Cortex-M。 2410和2440都是三星公司生产的基于ARM9内核的芯,资源上相差不大,2440多了camara接口,速度要更快一些。上边讲的版本是指内核版本,而各个公司出的发行号又各有不同。比如三星的2440,ATMEL的9260.就好比Linux的内核版本号与红帽子的发行号不一样是一个道理。 ARM9一般是有MMU的,ARM9940T只有MPU,不是一个完整的MMU。ARM11当然也有MMU的。 这一条很重要,MMU单元是大型操作系统必需的硬件支持,如LINUX、WINCE等。这就是说,ARM7一般只能运行小型的实时系统如UCOS-II,eCOS等,而ARM9无此限制,一般的操作系统都可以移植。其实即使ARM720T能支持LINUX、WINCE等系统,也鲜有人用,因为以ARM7的运行速度跑这种大型操作系统,实在有点吃力。再者两者的应用领域明显不同,也无此必要。 下面两个图:架构一目了然。
在从ARM7到ARM9、ARM11的平台转变过程中,有一件事情是非常值得庆幸的,即ARM9、ARM11能够地向后兼容ARM7上的软件;并且开发人员面对的编程模型和架构基础也保持一致。 下面图是一些特征比较:
对于ARM嵌入式的初学者,建议用ARM9开发板。 首先,从功能上来说,ARM11要比ARM9强一些,但是性能优异并不代表适合初学者。对于初学者来说ARM11的有些功能是冗余。其次,学习ARM9或者ARM11就在所难免学习其所支持的操作系统Linux(ARM11可以支持Android)。 目前,市面上ARM9的开发版的价格要比ARM11低很多,而两者都可以运行Linux操作系统。并且ARM9开发板的资料和教学视频也更多一些。jz2440+韦东山系列教学视频,mini2440+国嵌视频都是不错的选择。 最后,学习ARM9,可以按Linux应用开发、驱动开发顺序学习。如果想学习Android系统开发,可以学完ARM9再学习ARM11开发板下的安卓系统开发。因为安卓系统就是Linux内核+libc库用Java封装而成。 ARM9是比较成熟的系列,现在很多成熟的产品都是用ARM9开发的。这个学好了,以后的系列自学都会容易一些,因为ARM系列架构都是一样的。所谓“师傅领进门,修行在自身”,学会用一种处理器,掌握学习方法,其他的也一样。 如果有单片机基础,但是没有玩过ARM,建议学习STM32,甚至说没有玩过单片机想入门的也可以选择STM32,因为STM32例程丰富,资源比较多,市面上成熟的开发板也比较多,而且基本价格都在300以内。 ——————————————————————————————————-