Rston's Notes

不积跬步,无以至千里;不积小流,无以成江海。

1.ARM基础概念及芯片平台

1.1.ARM发展的里程碑
(1)ARM的前身为艾康电脑(Acorn),于1978年,于英国剑桥创立。在1980年代晚期,苹果电脑开始与艾康电脑合作开发新版的ARM核心。1985年开发出全球第一款商用RISC处理器,即ARM1。1990年艾康电脑财务危机,受苹果和VLSI的投资,分割出独立子公司Advanced RISC Machines (ARM) ,ARM公司正式成立面世。
(2)1991年,ARM推出第一款嵌入式RISC处理器,即ARM6。1993年,发布ARM7。1997年,发布ARM9TDMI。1999年,发布ARM9E。2001年,发布ARMv6架构。2002年,发布ARM11微架构。
(3)2004年,发布ARMv7架构的Cortex系列处理器,同时推出Cortex-M3。2005年,发布Cortex-A8处理器。2007年,发布Cortex-M1和Cortex-A9。2009年,实现Cortex-A9、发布Cortex-M0。2010年,推出Cortex-M4、成立Linaro,推出Cortex-A15 MPcore高性能处理器。
(4)2011年,推出Cortex-A7,ARMv8发布。2012年,开始64位处理器进程…
(5)总结:成功有时候是不经意的; 发展很快、也很慢;从设计到产品,需要很长时间努力。


1.2.ARM的商业模式和生态系统
(1)ARM之前的半导体圈:Intel、AMD、Motorola、Zilog、VIA(中国台湾威盛),这些公司自己设计IC、自己生产芯片、自己销售。
(2)ARM的商业模式:ARM只负责设计IC,并且出卖自己的设计IP(版权)。ARM自己不生产芯片,而是把设计IP授权给其他半导体厂商来生产芯片。严格地说,ARM并不是一家半导体厂商。
(3)ARM的合作伙伴:国际大厂商有SAMSUNG、TI、ST、NXP(飞利浦)、VLSI、Digital Semiconductor、Sony、Qualcomm(高通)、HP、IBM;中国授权厂商有华为海思、全志、瑞芯微、MTK(中国台湾)。
(4)ARM的启示:不要抱怨劣势地位,劣势可能反而是机会;要想成功,先学会帮助别人、成全别人,只想着自己的人是没有机会的;社会越来越成熟,成熟社会的特征就是分工不断细化。


1.3.为什么选择三星的CPU学习
(1)三星CPU本身在国内使用广泛、有很好的企业应用基础;资料多、积累好,便于学习(譬如三星的S3C2440的CPU);开发板和方案商多,软硬件平台好找;三星的体系很典型,很适合用来学习。
(2)三星主要的ARM内核的CPU:ARM7-44B0(性能几乎相当于stm32);ARM9-2440、2410(芯片已经停产,三星推出2416作为替代品);ARM11-6410(介于2440和210之间的过度型产品);A8-S5PV210、S5PC100(比较稳定的方案,210针对平板电脑,100针对手机);A9-4412、4418(目前较新的方案,4核,4412针对手机,4418针对平板电脑)。


1.4.ARM各种版本号
(1)ARM7和ARMv7不是一回事?(ARM7是SoC版本号、ARMv7是内核版本号);Cortex-A9比Cortex-A7更先出来?(A8先出来,然后出现A9、然后出现A7和A15。A8为单核,A9为多核但是功耗和性能比较折中,为满足不同的要求,后续出现的A15性能变强但功耗变高、A7降低性能但功耗变小,所以现在高端手机一般使用A15,A9是主流,山寨平板电脑一般使用A7)。
(2)ARM的内核版本号:ARMv7;ARM的SoC版本号:Cortex-A8;ARM的芯片型号:S5PV210(详情见图1)。
(3)A(application应用级处理器,即手机、平板、电脑的CPU);R(实时处理器,响应速度快,主要用于工业、航天等领域);M(microcontroller微控制器,即单片机,M0(低功耗)、M0+、M3、M4(增加浮点运算)、M7(物联网))。
(4)ARM内核版本号和SoC版本号是由ARM确定的,而SoC型号是由半导体公司确定。Cortex系列后ARM产品线分割成3个系列,这个是市场细分的需要和选择。ARM已经发布了一些64位架构如A53等,主要面向高性能服务器类应用。ARM下一步重点发展方向是Cortex-M7,特点是低功耗,主要面向物联网终端。


1.5.SoC和CPU的区别
(1)CPU=运算器+控制器;SoC=System on Chip。现在芯片的发展方向:从CPU到SoC,目前已经没有纯粹的CPU了,都是SoC。ARM出卖的内核其实就是CPU(当然还需要总线),各种外设是半导体厂商自己添加的(见图2)。
(2)外设就是外部设备,SoC中外设大部分都跑进去了,只有网卡、音频编解码等个别还经常在外面。芯片设计的趋势是更大集成度,近年甚至将音视频编解码、DDR都集成进SoC内做成所谓单芯片解决方案,如海思Hi3518E。
(3)裸机学习其实就是学习SoC的内核(CPU,表现为汇编指令集)和各种外设(如串口)。


1.6.主流学习型芯片介绍
(1)三星公司:S3C44B0(典型ARM7处理器,当时被当做单片机使用);S3C2440、S3C2410(芯片早已停产,替代品为2416);S3C6410(介于2440和210之间的过度型产品);S5PV210(目前最适合学习嵌入式的平台);Exynos4412、S5P4418(非常新,资料很少,价格较贵)。
(2)Freescale的i.MX5系列(侧重于工控领域,资料支持不够完善);TI的Omap系列(一般都内置了DSP,和ARM形成双核,侧重于音视频的处理领域,譬如机顶盒);Qualcomm的骁龙系列(高通在3G、4G通信领域有很多专利,独霸高端智能手机领域);全志科技A10、A20、A31、A33(均为Cortex-A7的架构,低功耗、价格便宜、性能折中);行业专用型SoC如华为海思HI3518系列(专门被设计用来做安防领域监控摄像机,ARM9内核,内置了DSP系统来支持H.264的编解码,成本非常低)。
(3)针对学习平台的要求:资料多、好找;应用多、有市场需求和底蕴;底层代码无过度封装(例如全志科技的平板方案,底层封装得非常完善,直接一键配置、编译,学不到任何东西);难易适中(譬如2440相对目前主流开发平台来说太简单了)。
(4)本人芯片平台:SoC型号:三星S5PV210;SoC版本号:Cortex-A8;内核版本号:ARMv7;运行主频1GHz。开发板:粤嵌GEC210开发板;DDR2内存容量为512MB(字节);NandFlash容量为512MB(字节)(见图3)。软件支持:Android-4.0、Android2.3、linux2.6.35+Qt4.7/Qtopia2/Qtopia4。裸机实验方法:USB启动下载+SD卡启动。


这里写图片描述


这里写图片描述


这里写图片描述


阅读更多
版权声明:本人博客:http://blog.csdn.net/rston 本人GitHub:https://github.com/Rston https://blog.csdn.net/Rston/article/details/50899284
个人分类: arm裸机
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

1.ARM基础概念及芯片平台

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭