单片机
在说什么是嵌入式之前,我们先说说什么是单片机。单片机是单片微型计算机的简称,又称微控制器(microcontroller),是把CPU、内存、闪存、定时器、以及各种输入输出接口集成在一块芯片上的微型计算机,可以下载并运行程序。一个单片机芯片所具备的功能就类似于一块电脑主板的功能。一块电脑主板上有CPU、内存条、硬盘、USB总线、IIC总线等接口,而单片机把这些都做在一块芯片中了。单片机无论从CPU的处理能力,内存容量还是复杂度上来说都远低于电脑主板,但这也映衬出了“单片微型计算机”的叫法。它几乎存在于所有的家电和小型电子产品中,2019年的数据显示全球单片机出货量约为256亿颗,在物联网时代下,单片机的需求量还会与日俱增。
冰箱内部的主板,用单片机作为控制器
单片机有着清晰的定义,相比之下,嵌入式的定义就不那么清晰了。以下是百度百科对嵌入式的定义:嵌入式即嵌入式系统,是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。我们可以这么理解,嵌入式是针对特定的应用场景而设计的系统,比如冰箱的功能是冷藏冷冻食物,行车记录仪的功能是在行车时记录视频并存档,它们的软硬件只要满足其使用场景中的特定功能就行了,不必做得像电脑那样可以胜任所有的情况。
上面说的是广义上的嵌入式定义,那么单片机属不属于嵌入式呢?按照以上定义来说,是的。单片机系统因为其性价比和可靠性,被广泛用于针对特点场景设计的系统中,具体软硬件根据实际应用而定制。另外,可能有一部分工程师不认同单片机属于嵌入式的观点,这就要说到狭义上的嵌入式系统,狭义上,嵌入式系统又叫做“嵌入式linux系统”,是以linux系统为核心,进行裁剪定制的系统。
一款可以运行嵌入式linux系统的主板
现在大家应该明白单片机是不是嵌入式了。从广义上说,单片机属于嵌入式;从狭义上说单片机不属于嵌入式(linux嵌入式)。近年来,持广义上嵌入式定义观点的人越来越多,很多招聘岗位也开始将单片机开发工程师称为嵌入式工程师。就笔者本人而言,几年前还认为单片机不属于嵌入式,但现在更倾向于接受广义上对嵌入式的定义了。