看到很多人,特别是初学者对嵌入式感兴趣,想学嵌入式,但又十分困惑,痛苦, 因此,我觉得有必要抽空写些东西来"普渡众生",当然我不是佛,用"普渡众生"这个词不大合适,但一时也找不到合适的词了,先将就一下吧. 还有就是别叫我大神, 我不是大神,一介草民而已,只不过暂时在这方面懂得比有些人多一点而已,其它方面,他们比我懂,因此,大家是平等的。既然是一介草民,因此,我也不打算遵循那么多条条框 框的限制了。我平生最讨厌教科书以及其它一些所谓"老师"文邹邹的说教,因此,我打算用草民都能听懂的话来写这个嵌入式系列的东西,如果用这种方式你能把 嵌入式搞明白的话,从一个侧面也说明嵌入式其实并不是相象中的那么难,当然也不简单。 什么是嵌入式技术? 简单通俗直白的说:就是实现嵌入式系统的技术。 哪什么是嵌入式系统? 网上或书上泛滥成灾的定义是:嵌入式系统是针对某个应用,软硬件可裁减的,对体积,功耗,成本等等有严格要求的一个计算机系统。看起很复杂很抽象,其实就两点: 第一,嵌入式系统是一个计算机系统 第二,嵌入式系统是针对某个应用的,也就是通常所说的“专用的”。 也就是说,嵌入式系统说白了,就是针对某个应用的计算机系统! 其它什么的:软硬件可裁减的,对体积,功耗,成本等等有严格要求的这堆修饰词,是做好一个嵌入式系统所需要考虑的因素,注意是做好,做好跟做出来是两码事,当然,真要做好一个嵌入式系统,考虑这些还远远不够,还有其它很多的需要考虑,这个,我计划写完这个系列后,再写个怎么做好嵌入式系统的"章回体",我写了个嵌入式产品研发过程管理系统,这个系统是基于CMMI3规范的,按照哪个系统讲如何做好嵌入式产品开发应该就足够了。 大家都知道PC,或者笔记本电脑,PC或笔记本电脑是一个计算机系统,只不过是一个通用的计算机系统。通用的意思,是指没有特定的用途,什么都可以干,比如你可以拿笔记本来上网,来听歌,来看电影,来看照片,甚至还可以开发程序,做服务器等等....,反正你想干什么就干什么,没有强制的特定得用途。因此,是通用的,但嵌入式系统是专用的。 怎么来理解这个专用呢?专用就是针对某个特定的用途。 举例: 刚才不是说在PC上可以看照片吗?把看照片的应用扣出来,做成一个计算机,就是针对某个应用的计算机了,作出来后,这个计算机叫什么名字?叫数码像框,电脑城一堆一堆的。按照刚才说的定义,不难看出,数码像框是嵌入式系统! 把听歌的应用扣出来,做成一个计算机,这个计算机叫什么?叫mp3播放器。mp3播放器是针对听音乐的计算机,因此,mp3播放器也是嵌入式系统! 把看电影的应用扣出来,做成一个计算机,这个计算机叫什么?叫mp4播放器。mp4播放器是针对看电影的计算机,因此,mp4播放器也是嵌入式系统! ...... 从这里,我们可以看得出来PC和嵌入式的一个大致区别了,对嵌入式系统应该也有个大致的印象了. 但是不是说,嵌入式系统就只能基于PC来应用呢? 不是,如果只是这样的话,嵌入式就没有存在的必要了,除了来自PC的应用外,嵌入式系统更N的应用,应该就是除PC外的其它各行各业了! 我们吼了好多年的信息化社会,信息化社会,什么是信息化社会? 我认为信息化社会不是指能上个网就是信息化社会,而是所有东西都数字化、信息化,那才叫信息化社会,这个,应该就是嵌入式的用武之地了! 还是先从每个人都见过的东西入手来说,这样你好理解! POS机大家应该都见过把,就是去超市,去家x福和沃x玛买东西时结账收银的那个东西。哪个东西就是POS机,典型的嵌入式系统: 首先,POS机确实是一个计算机,有主板有CPU有操作系统有软件,具备计算机的核心特征,因此是一个计算机。其次,它是针对一个专门应用的计算机,这个专门应用就是结账收银! 按照我们之前对嵌入式系统的定义,不难理解,POS机就是一个嵌入式系统! 我们把这个POS机(先说原始的大头的POS机)跟PC比较一下。大家对PC都很熟,因此,以PC为参照和基准进行比较! 我们从硬件和软件两方面来比较: 先说硬件:PC上的硬件有哪些呢?有CPU,内存,显卡,声卡,硬盘,网卡,键盘,鼠标等东西,如果我们要参照PC来做一个POS机的话,该怎么做呢? 看看POS机上都需要哪些东西:CPU,内存是必须的,网卡、显卡和键盘应该是要的,声卡和鼠标应该就没太大的必要了。因此,如果要基于PC来做POS机的话,就要去掉声卡和鼠标,同时,增加一个显示屏(pos机有两个屏的),一个打印机.去掉一些硬件,加一些硬件,这就是硬件可裁减。硬件要工作,是需要软件支持的,至少需要驱动支持,因此,去掉一些硬件添加一些硬件,软件也必须跟着要去掉一些,添加一些,这就是软件可裁减, 加一起,就是嵌入式系统定义里面的那句话了:嵌入式系统是针对某个应用,软硬件可裁减的,xxxxxx的计算机系统。可裁减的意思理解了吧? 上面的:xxxxx 是定义中的:体积,功耗和成本。体积和功耗,其实在POS机中感觉还不是太明显,因为这种大头的POS机对体积不敏感,放它的空间有滴是(当然也不能极品的整得太大),对功耗也不是太敏感,交流电供电,每天都要关机发热也不大.这两点在手机之类的手持设备的嵌入式产品中是很敏感的。你的手机做成砖头那么大,估计你就不想买了(除非女同胞防身用),如果功耗很大,充满电只能用1个小时,无论如何你肯定是不会买的,因此,嵌入式系统的定义中,说:对体积和功耗有严格要求,就是这个意思,大致理解了吧? 再说成本,这个非常敏感。简单举个例你就一下明白了: 假如你是苹果公司的老板,一年卖了1000万部IPHONE,如果iphone的某个元器件能够省10块钱,卖1000万部就节省1个亿,节省出来的钱就相当于是赚的钱,如果实在不想赚钱的话,拿去给员工发奖金也好阿! 因此,嵌入式设备对成本是非常敏感的! 基于对成本敏感的这一点,你要明白: 我们做嵌入式产品,不是哪个CPU 牛X 就用哪个CPU,而是要综合多方面的因素来选择,arm9能搞定的,就不用arm11,就不用a8,就不用a9。不选贵的,只选对的,然也!
|