常见问题

什么是嵌入式系统?

2020-08-05 09:51:11 潘春伟 39

  无论在国内还是在国外,嵌入式系统都有一个比较规范的定义。我不想直接去引用这些定义,那是教科书应该做的事情。就本人体会而言,对嵌入式系统的理解,重点应该着眼于“嵌入”两个字。

  
 首先需要说明什么是“嵌入”?我的理解是把一个小东西放到一个大东西里面而不改变大东西的性质,这就叫嵌入。比如鼠标里面嵌入了单片机,但它的名字仍然叫鼠标;手机里面嵌入了ARM处理器,它仍然是手机。鼠标和手机嵌入了微处理器之后,微处理器就成了鼠标和手机的一部分,并没有改变原来作为鼠标或手机的基本性质,这就叫“嵌入”。

  
 其次需要强调“嵌入”的是什么东西。无论鼠标、手机、数码相机,里面嵌入的都是一个小的计算机系统。也即是说至少有一个CPU在里面,起到一个智能控制的作用。简言之,嵌入式系统中的“系统”指的是“计算机系统”。

  
 提到计算机,多数时候我们首先想到的是个人电脑PC,但PC不是嵌入式系统,它是通用计算机系统。而且正是为了和PC相区分,我们用“嵌入式”三个字作为前缀,即“嵌入式系统”是相对于“通用计算机系统”而言的。通用计算机系统和嵌入式系统主要有哪些区别呢?

 
 
 第一是能力不一样。通用计算机系统通常什么都能做,我们买个电脑,上网、听音乐、看电影、做软件都不在话下。嵌入式系统一般面向某一特定应用,不是什么都能干。例如鼠标里的嵌入式系统任务只是监视鼠标的按键,并向主CPU发送键码,数码相机里面的嵌入式系统主要进行图像处理,让它们什么都能做,有点难也没必要。

   
 第二是大小不一样。通用计算机系统通常对个头没有要求,台式机占据一张桌子,大型服务器可以占据一个房间,笔记本放到膝盖上就行。嵌入式系统由于要嵌入到它服务的主体里面,一般都比较小,而且要与服务的主体有机结合成为一个整体。

   
 第三是实时性要求不一样。实时性指完成任务的时间要求。通用计算机系统一般实时性要求不高,我们用电脑上网时慢点就慢点吧,看视频直播时卡点就卡点吧,除了有时气不过砸一下桌子,似乎也没有其它的损失。但嵌入式系统往往实时性要求很高。比如汽车里的嵌入式系统,如果发动机过热,必须要求在规定的时间内作出反应,如果像PC那样不紧不慢的,后果可想而知。

  
 第四是可靠性要求不一样。电脑死机估计每个人都经常遇到,死机了怎么办?重启就是了。但是如果火箭发射时里面的嵌入式系统死机了......,后果你自己去想吧,反正我是不敢想了。

  
 第五是二次开发能力不一样。我们买来个电脑,通常也就装了个操作系统,其它的程序我们需要什么就可以装什么,我们甚至可以打开机箱,加几条内存。但嵌入式系统通常买来后就那样了,软件和硬件都不变了。数码相机相信多数人没有打开过,也没有再安装什么新软件。倒是智能手机可以装一些软件,但能力有限。

  
 第六是数量不一样。嵌入式系统的数量远大于通用计算机系统的数量。因为一个通用计算系统中至少包括数十个嵌入式系统。更别说其它的嵌入式系统了。就像我说“人的手指头的数量远大于人口的数量”,你应该没有意见吧?

  
 
 二者的区别还有很多,比如操作系统方面啦,能耗要求方面啦,不一而足。等你也做了这一行,你的体会就深了,你的体会越深,可能会越喜欢这一行。


首页
产品
新闻
联系