对于嵌入式来说,嵌入式是一个比较大的概念了,他可以分为很多很多不同的领域,之前有很多人问我嵌入式是硬件还是软件呢,其实这都是因为对嵌入式还是没有深入理解的原因,我们先不来说嵌入式是硬件还是软件,我们就先来说一下,嵌入式到底是什么
在网上一般就是会给你这样解释:嵌入式是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。网上给你们的解答就都是这个样子的,那你们能看懂吗,在这里比较通俗的例子来解释一下,让你们可以更加明白了解。就像我们的手机,我们的手机就是一个嵌入式系统,可以裁剪,而且有电池,功能,功耗低这些都是嵌入式的特征,其实就像大脑一样,来让一些肢体部分来做一些事和这是差不多的。在我们身边有很多就像手表、微波炉、录像机、汽车等,都使用嵌入式系统,他们都是带有数字接口的设备。有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。
那接下来,就是重点了,嵌入式到底是硬件还是软件呢?其实嵌入式就是一个软件和硬件的综合体,通过上面嵌入式的解释应该就会有这样的想法了,因为嵌入式是软硬件可裁剪的。那在硬件和软件之间应该如何选择呢?根据市场的需求不同,来选择你喜欢的那一个
随着嵌入式技术的普及,嵌入式硬件工程师与我们平常所说的硬件工程师不同。嵌入式硬件工程不但要求具备硬件工程师的基本技能,还必须完成部分软件工程师的工作,例如: 底层驱动的开发嵌入式操作系统的裁剪,移植; GUI、文件系统等软件的移植; 基于嵌入式操作系统的底层驱动程序的设计等。
嵌入式硬件需要学习的技能:
1.从硬件上,将基于CPU的处围器件,整合到CPU芯片内部。
2.从软件上,就是在定制操作系统内核里将应用一并选入,编译后将内核下载到ROM中
3.把软件内核或应用文件系统等东西烧到嵌入式系统硬件平台中的ROM中就实现了一个真正的“嵌入”。这就是嵌入式工程师应该具备的技能。
而嵌入式软件工程师则是指在wince.linux 等嵌入式操作系统下进行用户应用软件开发的人员,硬件平台则是基于嵌入式产品的(例如: 手机、PDA 等)。软件开发工具也有所区别,嵌入式软件开发一般使用的是嵌入式系统专用的开发工具,例如wince 下的evc,和linux 下的qt 等。
嵌入式软件需要学习的技能:
1.懂得C语言和一些简单的汇编语言编程。
2.能够阅读一般嵌入式系统的原理图。
3.至少熟悉一种嵌入式系统的软件开发环境。
4.熟悉一种嵌入式系统软件的开发过程,如:单片机系统、DSP系统、ARM系统或其它的一些潜入式系统。
5.理解常见的嵌入式操作系统的工作原理,理解线程、进程、信号量、消息机制、同步与互拆、并发控制等软件编程时用到的概念。
6.必要硬件基础知识。
嵌入式是硬件还是软件,我相信你的心中应该是有底了,在软件和硬件之中的选择就看你自己的兴趣了,硬件和软件可以说是不分家的,不管学哪个都会涉及的,好好掌握最重要。