linux arm汇编,能跑linux的最便宜的arm

老铁们,大家好,相信还有很多朋友对于linux arm汇编和能跑linux的最便宜的arm的相关问题不太懂,没关系,今天就由我来为大家分享分享linux arm汇编以及能跑linux的最便宜的arm的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!

嵌入式linux和vxworks有什么联系,命令差别大吗

linux,vxworks,wince均是可以用于嵌入式领域的操作系统,其功能跟pc上的windows

xp之类的作用类似,均是为了方便管理硬件和软件而使用的。

而arm,是一家公司的名称,也是一大类型微控制器/微处理器的统称(均是以arm公司提供的cpu核为基础开发)。在arm之外,还有mips,powerpc等几种类型的cpu用在嵌入式领域,你可以把它们看作是pc平台的cpu,只是它们的使用领域不是桌面电脑而已,并集成了很多功能模块。

所以你的问题的回答:

1,有脱离arm的,比如说在mips上开发做产品,也是属于嵌入式,嵌入式linux可以移植到mips上;wince和vxworks也是一样。为什么我们听说arm会比较多,那是因为它的推广工作做得好,价格功耗有优势,国际上的知名的半导体大厂都有使用了arm内核的产品,所以可以说是百花齐放的一个程度。

2,嵌入式开发基本上使用c,也可以用c++但很少用。在涉及到底层(硬件)部分,有需要用到少量的汇编(当然汇编格式与所使用的cpu类型有关).

3,在这个问题里,arm是一个cpu,一个产品除了cpu外,还有别的部件,比如说温度传感器,各种通讯接口,这些都是硬件的东西,是实实在在的芯片构成的。假如这个产品不复杂,但又用了arm,一样可以不使用操作系统,直接用普通写法的程序去控制硬件(业内通俗说法叫:裸奔);但是当这个产品的功能很复杂,又用了以太网,又用了界面,又用了很多高级的硬件,比如说智能手机,那么它就需要一个嵌入式的操作系统去控制手机,这样对于手机来说,产品的开发速度会加快,而且维护也相对容易,改进时的修改工作量也较少。你在市面上见到的大部分智能手机都是基于windows

mobile系统的,当然nokia的symbian也属于嵌入式操作系统,只是其是专用于手机,还有少部分的智能手机比如moto的部分智能手机就是用的嵌入式linux的系统。

所以,对于一个较复杂的产品,工程师是各司其职,有专门负责硬件电路部分的,有专门去修改操作系统的驱动的,有专门去编写上层的应用软件的,这样就有了嵌入式硬件工程师,嵌入式软件工程师之分了,很多中小公司很多工作都是一人做完的,所以分类就不是那么细了。

4,这个问题3中已经回答了一部分,跑上操作系统的,基本上都是你说的那样划分的,因为每一部分的工作都比较复杂,所以最好专人负责各自的部分,这样项目进度才能保证.

其实你问的这些,书上网上都有的,搜一搜就有了~~~~

学习嵌入式开发需要学习ARM汇编语言吗

学习嵌入式开发基本不需要学习ARM汇编语言,原因如下:

1、C语言的发展已经成熟,其编译器编译出的代码文件无论从体积、执行效率都已直逼汇编语言。

2、ARM汇编语言编程本身并不难,由于数据宽度扩展,代码效率更高,执行速度更快,但维护和移植却比C语言程序困难得多。

3、ARM单片机动辄上百个寄存器,虽然功能强大,但却给操作和记忆带来极大挑战,使得用汇编语言编程比51困难许多,编程效率更为低下。

4、汇编语言编程越来越小众化,这就使得可利用资源少,可参考借鉴的资料很少,凡事靠自己,困难不易克服。

当然,如果有时间有精力有能力学习ARM汇编语言,会比不会好。

ARM单片机可以用汇编语言编程吗

ARM单片机程序可以用汇编语言进行编写。除去协处理器(高级的arm单片机才具有)的指令,常用的指令大致为MSR、MRS、LDR、STR、LDM、STM,ORR、BIC,TEST, ADD, SUB,MUL等指令。如果说想写一写汇编代码玩一下的话还行。原则上能用C语言则一定不会使用汇编。例如UBOOT的引导代码,linux内核的启动代码都是用汇编写的,本质是快速初始化以满足C程序的运行条件。除了特殊的寄存器(如CPSR)要用专用的汇编指令(MSR、MRS)外,对于读写寄存器操作一般使用LDR、STR指令,也就对应于C语言的通过指针访问内存。

在实际开发中,经常要读写寄存器。所以经常会使用到访存指令(ldr、str),以及各种逻辑操作(add、sub、bic、orr、and)。如果设置到使用栈暂存数据还需要ldm和stm指令。其实常用的也就这几个。因此,可以用汇编写单片机程序,但还是那句话,能用C语言则不要使用汇编。因为把C程序转化为汇编代码那是编译器做的事情。。。

阅读剩余
THE END