通常我们都有这么一个模糊的概念,我以前做
单片机,单片机是不是嵌入式系统呢?当然是。只不过呢,我们现在把它看成一个低端的嵌入式系统。通常我们所说的嵌入式系统是指什么呢?指像“
ARM+LINUX”这样结构的系统。 低端的单片机系统和高端的ARM+LINUX这种结构有什么不同呢? 单片机系统在8位的单片机系统上跑一段程序,实际上呢,就是一段应用程序。这个架构比较简单。 ARM+LINUX系统呢,最下层是硬件,往上呢是驱动程序->操作系统->最上面呢是应用程序。最下面的硬件一般比较复杂,32位的系统(ARM、PPC、MIPS、X86等)。 在整个架构上有很大不同。如果要开发ARM+LINUX这样系统的时候,需要了解更多的知识,比如:什么是操作系统?驱动程序如何挂在到操作系统上?应用程序如何通过操作系统对硬件进行操作等等。这样看来ARM+LINUX的架构比8位单片机这个架构要复杂很多。一.单片机和ARM的区别1. 单片机主要是面向于低端市场,实现一般性的控制功能,单片机一般单片集成CPU,RAM,ROM,各种外设。2. ARM主要面向更复杂的嵌入式产品,主频更高,外围接口功能更加丰富。3. ARM将逐渐取代单片机,成为嵌入式产品的通用硬件平台。二.ARM是什么?什么是ARM9,ARM11,ARMCORTEX1. ARM是一家公司,它不做芯片生产,销售,只是设计芯片内核,并把知识产权给芯片制造商。ARM是一门技术科学,它也是一种芯片。2. ARM11系列微处理器ARM公司近年推出的新一代RISC处理器,它是RAM新指令架构,ARM11处理器瞄准的是高端的移动无线,消费类
电子,网络和汽车电子应用,而且ARM11内核的很多特性使它还能充分适应高端嵌入式实时应用系统,如未来的网络和家庭娱乐产品。3. ARMCORTEX不是代表更高端,而是一个全新的系列,CORTEX分三个系列:A系列,R系列,M系列,在R系列里,实时性高,多用于汽车电子和特殊行业,并且在实际开发中很少遇到,M系列终端快,多应用于机械加工领域,典型的产品有M0,M3,M4,其中M0是为了抢占传统的51单片机市场,M3是为了取代ARM7,M4在M3的基础上增加了DSP和MPU,这是为了与低端的DSP处理器竞争,A系列是面向应用的,如苹果公司的iphone4就是cortexA8架构的,但是A系列的底层嵌入式开发难度很大,国内很少有公司有实力开发ARM A系列处理器并采用三.ARM9和ARM11的区别1. 主频不同,2440是400M,6410是533/667M.2. 处理器的版本不一样。3. 6410在视频处理方面比2440要强很多。4. 6410采用的是DDR内存控制,2440采用的是SDRAM内存控制器。5. 6410为双总线架构,一路用于内存总线,一路用于Flash总线。6. 6410的启动方式更加灵活,主要包括SD,Nand Flash NorFLash和oneFLash等设备启动。7. 6410的NondFLash支持SLC和MLC两种架构,从而大大扩大存储空间。8. 6410具备8路DMA通道。9. 6410的性能高于2440,ARM11通常跑操作系统,ARM9可跑可不跑。10. 6410还支持2D和3D的图形加速。四.嵌入式行业中的职业划分,分4种1. 硬件工程师,包括
威廉希尔官方网站
工程师,芯片工程师,
PCBLayout工程师,MCS51硬件工程师,ASIC设计工程师
FPGA.(即硬件层)2. 内核开发,内核优化,系统移植工程师,将LINUX系统进行移植和简单的裁剪修改使之运行起来。(即操作系统层)3. 核心底层工程师,深入理解LINUX内核并且有一定的硬件知识,精通C语言,数据结构,最难的是自己写一个驱动出来,可以看时序图,威廉希尔官方网站
图等。(即驱动层)4. 嵌入式应用软件工程师,有LINUX平台或WINCE平台开发经验,熟悉C++,可以开发基于QT,GTK(图形库)等C++应用程序,比如
手机上的QQ等这些相对来说简单。(即应用层) 寄语:我们知道,嵌入式系统是一个很有前景的行业。学会嵌入式技术,就相当于给自己创造了更多的机会。那么, 现在可以预计的将来,嵌入式技术的应用会越来越广泛(大量的人才需求,未来五年内,国内LINUX嵌入式软件开发的人才缺口达到120万)如果你想往这方面发展的话:第一:把心踏实下来,做好打硬仗的准备。第二:注意学习方法。尽量不要走弯路,争取一鼓作气入门。一旦入门了以后呢就好办了。嵌入式技术的掌握,本身呢就比较难,要是再走些弯路,时间上会浪费,甚至会影响学习的信心。最好的学习方法:做项目,如果有机会大家跟着做一个难度适中的嵌入式项目,相信大家会很快入门的。也就是说从实战之中来获得进步。技术道路不是一朝一夕,有人领你进门更好,自学也得有一本时间的明细账本,希望有兴趣从事这个行业的朋友们,学有所成!