嵌入式是个什么玩意儿?字面的意思听着就像是镶嵌在某个东西里面一样,以一个电子行业人士的视角来看,我们更容易联想到芯片、内部架构什么的。其实说起嵌入式我们更愿意强调“嵌入式系统”,拽一拽英文就是“Embedded System”。说着是系统,但这里却不是简单的操作系统,因为嵌入式系统要由嵌入式硬件和嵌入式软件两大部分构成。而嵌入式软件就包括了操作系统,所以谈到嵌入式系统设计,那复杂性也就不言而喻了。
明确的嵌入式定义咱就不捣鼓了,想知道嵌入式是个什么具体的玩意儿,在生活中瞅瞅,自然也就能了解一二。
先看个车,图不是很重要,这是CAN总线隔离收发模块在汽车中的应用。重点是通过各种传感器,我们可以获取汽车各个零件的状态,也能对车身做各种操作。数据采集与控制的传达要由嵌入式微处理器来完成。
这是嵌入式系统的一个典型体现。现代汽车要是离开了嵌入式系统的辅助,那也就变回拖拉机了。
再比如手机,通常的安卓手机是基于ARM架构的嵌入式系统。各种功能的实现,电话、短信、上网、拍照、录像……这么多强大的功能,在加上核心控制芯片,这就是嵌入式系统。
直白点理解嵌入式就是在已经存在的硬件平台上移植操作系统并且做相应的应用开发。和传统的PC一样,嵌入式系统也是一种计算机系统。嵌入式系统的硬件包括嵌入式微控制器和微处理器,以及系统中的外围元器件和外部设备;软件主要就是嵌入式操作系统(比如windows、 linux 、android 、vxwork、 WinCE、 μC/OS II)和应用软件。听起来是不是很复杂,其实吧,为什么要使用嵌入式系统呢?说白了就是为了后期开发省劲。传统的开发模式就是做好了软件来控制硬件,不同的硬件平台上软件不能兼容,比如来说一套软件控制了一款单片机运行,但是换个不同型号的单片机这个软件就不能用了。白忙活那么久来做之前的那一套软件。嵌入式开发相对而言就是在软件和硬件之间加了一个操作系统,只要操作系统相同,软件就能用。你手机里能装的软件,我手机里也能装。当然这么说不大对啦,你有iPhone,我只有apple。其实单片机是嵌入式最早的雏形,可以说是最简单的嵌入式系统。裸机的单片机性能肯定要弱很多,不过自己想玩的话,STM32里可以跑小系统,51也可以自己搭建系统。常用的嵌入式硬件平台有C51、 AVR 、 ARM 、cotex-A mips 、PowerPC、 x86、 DSP。各种嵌入式开发板更是多得数不过来,Xilinx的ZYNQ系列自带ARM硬核,也有牛掰的软核。目前我在用的NVIDIA的TX2,性能也是相当强大。
嵌入式水不浅,水得多喝!哈哈、、、、、、