1、对于学习ARM,可以分成很多种:
a. 从ARM的芯片类型就有:ARM7、ARM9、ARM11、A8之类。
b. 从用途上可以分:用于学习,用于工作,消费电子,工程控制。
1、从芯片类型上分析:
ARM7,可以当作高级的单片机来使用, 但也是可以跑操作系统,比如:ucos‖
而ARM9,就可能用来跑大的嵌入式操作系统,比如Linux,wince,android,ubuntu,chromeos等。
2、作为学习:
用于学习的话可以选择ARM9 三星S3C2440就是一个很好的选择,其他也可以选择友善和飞凌开发板,而且这些学习板的价格现在也可以接受。
如果是用于学习Android操作系统的话,最好选择好一点板子,比如A8的三星S5PV20,这个友善和华天都是有开发的。 当然也可以选择S3C6410,但是这颗芯片用于运行android 的未免有点资源不足,而且在内存方面(DDR),也能使用DDR,不能够装载DDR2, 而且它的封装(BGA)的间距是0.5mm,对于S5PV210,则是0.8mm。
3、这边说说选择S5PV210来学习android的原因:
a. 在相同的内存大小的情况下,DDR2的价格会比DDR便宜的多;
b. BGA球的间距为0.5mm,打印PCB板需要使用激光孔,而间距为0.8mm,则只需要普通的机械孔工艺就可以了。简单讲,制作间距为0.8mm的PCB,费用较低。
c.运行android操作系统,最好CPU的频率要达到600MHz以上,800MHz。
d. 主流的Android 2.2平板大都采用了ARM Coretex-A8/A9架构的CPU。
4、用于工程控制的话, 可以选择TI或者友善和飞凌开发板,这里就不详细说明了。
1、软件方面
这应该是最大的区别了。引入了操作系统。为什么引入操作系统?有什么好处嘛?
1)方便。主要体现在后期的开发,即在操作系统上直接开发应用程序。不像单片机一样一切都要重新写。前期的操作系统移植工作,还是要专业人士来做。
2)安全。这是LINUX的一个特点。LINUX的内核与用户空间的内存管理分开,不会因为用户的单个程序错误而引起系统死掉。这在单片机的软件开发中没见到过。
3)高效。引入进程的管理调度系统,使系统运行更加高效。在传统的单片机开发中大多是基于中断的前后台技术,对多任务的管理有局限性。
2、硬件方面
现在的8位单片机技术硬件发展的也非常得快,也出现了许多功能非常强大的单片机。但是与32ARM相比还是有些差距吧。
ARM芯片大多把SDRAM,LCD等控制器集成到片子当中。在8位机,大多要进行外扩。
引入嵌入式操作系统之后,可以实现许多单片机系统不能完成的功能。比如:嵌入式web服务器,java虚拟机等。也就是说,有很多免费的资源可以利用,上述两种服务就是例子。如果在单片机上开发这些功能可以想象其中的难度。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』