Android,ARM,Linux之间有什么联系?
主要是硬件设计方面和软件设计方面的关系,整个平台需要3者搭配组成.
ARM是做CPU开发的,然后以ARMCPU做内核的硬件需要一些操作系统;
其中就有android系统和linux系统对其的支持,如蓝光播放机的系统是基于linux开发的;
然后Android又是基于Linux内核开发的操作系统.目前手机平板有很大一部分是使用的android系统.
手机平台蓝光播放机等的主芯片CPU内核基本上均是基于ARM授权开发的.
android是google大神推出的新操作系统。
arm是一种精简指令集的cpu,对立于传统的复杂指令集cpu,如X86架构的。
linux也是一种操作系统,嵌入式与服务器上占据绝对优势,与windows二分天下
关系就是android和linux都可以在arm上运行。
ARM与Linux是什么关系?ARM本身已经有Linux了,还是需要往里烧写Linux?
我来回答你吧
1.ARM与Linux是什么关系?就是PC和XP的关系,不过你要注意,ARM7不能运行linux的,因为其不带操作系统的,ARM9或以上才可以
2.ARM本身已经有Linux了,还是需要往里烧写Linux?很显然,你要往ARM里烧写linux才行。本身是不带的,不过有的ARM试验箱本身就有的,例如MagicARM2410,当然ARM也可以烧写其他系统,如winCE
3.ARM编写的程序,是直接控制io口?还是直接调用函数如(printf());
如果你把端口配置成io口,当然可以直接控制了。如果你装系统了,端口被重新赋予新的定义了,明显要调用接口函数(注意这是系统自带的)了
4.学习的话需要用什么软件,电脑一定安装有Linux系统吗?
当然,如果你搞ARM-linux,一定要装的,我原来一般是用虚拟机的,挺好用的,但是对电脑的配置相对要过一点,最好2G吧
5.基于Linux的编程时什么意思?与普通的51单片机编程有什么区别?
是指在linux系统下对你的ARM处理器的资源进行分配,就像在xp系统下你用VC编程一样,与51肯定是不一样的,51是8位机不带系统的,你没听过基于linux的51单片机编程吧?
最后给你推荐几本ARM-Linux的书,我原来也是搞ARM的,现在实习就不弄了
你可以看这个问题,我回答的:
ARM LINUX与普通LINUX区别
相对于ARM linux,我们说的普通linux指的是X86 linux,他们都是linux系统,但是由于ARM和X86是不同的CPU架构,他们的指令集不同,所以软件编译环境不同,软件代码一般不能互用,一般需要进行兼容性移植。
X86是经典的CISC指令集,指令集复杂,功能多,串行执行,但是也意味着执行效率低下,但性价比突出,所以称为民用终端的主流处理器内置指令集。Intel和AMD的家用处理器都是X86指令集。以X86为代表的CISC,理论并发线程1-2条。
ARM是Advanced RISC Machine 的缩写。它的指令集比RISC还要精简。通常使用ARM架构处理器的机型,多为嵌入式或者便携机。主频通常不高,现在高通公司的ARM架构处理器有1.0GHz的,已经算相当高了。另外,ARM 7沿用冯·诺依曼结构;而从ARM 9以后,就都采用了哈佛结构。ARM的并发线程,理论上有4条左右,处理效率较X86高不少。首先可以肯定的是不可以简单的移植的
如果移植,需要专业套件,交叉工具,以及系统版本是否支持你所要安装的软件当然不能互用,都是Linux 内核却完全不是一样的系统,不过你可以刷机,用专用的mpkg软件,到手机之家看下教程,就可以了,(不过刷后没原版稳定)moto e6可用的软件很少,不要指望它象e680那么好玩.明a1200以后,moto就没什么畅销的机器太多东西被精简了 估计只有一些二进制文件和java可以运行 注意库依赖ARM LINUX只是LINUX的一个分支,专门针对ARM架构设计的底层软件和底层驱动。这涉及到很复杂的移植技术。
手机的CPU和电脑的CPU结构不同。
如果想学移植,先看看嵌入式LINUX方面的文章。
什么是ARM嵌入式Linux系统
ARM 是个公司的名称,也是一类cpu的名称,还是一种cpu指令系统的名称,是RISC架构的指令集。多用于嵌入式设备。移动设备(手机等)有不少是采用arm的cpu的)。普通电脑使用的x86架构是cisc指令集。
linux系统是一种开放源代码的免费的操作系统。最开始,linux是由当时还在读大学的linus基于486的电脑开发的,所以一开始的linux也是使用在x86架构的电脑上。由于一开始linus就公布了linux的源代码,后来有一批高手把linux移植到了各种架构的cpu上去。目前linux已经支持的cpu的指令集有x86(Intel的32位指令集)、IA64(Intel的64位指令集)、AMD的64指令集、PowerPC(PPC,苹果机cpu的指令集)的、SPARC(SUN的服务器用的指令集)、RISC指令集(ARM、国产的龙芯cpu都使用的指令集)。
普通操作系统通常使用在服务器\工作站、笔记本\上网本电脑上面,这类计算机尽管性能上差异很大,但相对来说他们的计算机资源(CPU性能、内存容量、硬盘容量等)相对来说都是充足的。操作系统可以做的比较复杂,即使安装时占用几十GB的硬盘空间,运行时占用几G的内存空间都没关系。但是像手机这种小设备(嵌入式设备)来说,为了限制体积,只能牺牲部分性能,内存、硬盘不能做的太大,cpu无法性能强劲(cpu性能上去了发热量就上去了,热到一定程度就得给它配风扇)。同时使用到的设备也是不多。因此操作系统的功能和体积对这类应用来说就变得相当重要了。
于是,就有人把linux操作系统做适当的精简,移植到这种小设备(嵌入式设备)上用。就有了嵌入式linux。为什么用linux,因为linux是开源的、免费的。开源意味着可以容易的获的linux的源代码,可以容易的定制自己想要的功能和大小。免费意味着低成本。开发一种嵌入式设备不必花太大的成本。像wince、symbian(迫于压力现在开源了)、IphoneOS等都是闭源的。部分还要付费购买。要修改系统就比较困难。
由于ARMcpu的优秀的性能,嵌入式、移动设备上面大部分使用ARM的cpu,很自然的就有了使用在ARMCPU上面的嵌入式的Linux操作系统。
原创文章,作者:墨羽SEO,如若转载,请注明出处:https://www.moyuseo.com/fuwuqi/4451.html