2012年(67)
分类: LINUX
2012-04-21 18:17:09
单片机与嵌入式开发的区别(趣解)
(原谅我做了一次标题党)
作者:kangear
Email:
Blog:kangear.blog.chinaunix.net
大二学习了单片机,型号是:AT89S51(s还是c我给忘了);现在学习嵌入式,芯片型号为:S3C2440。是时候对比一下了,因为单片机的记忆在慢慢褪去。
先说“单片机”,百科上解释为:单片微型计算机,是典型的嵌入式微控制器。
可以这么说单片机就是一个集成电路芯片,S3C2440也是一个集成电路芯片。如此说来S3C2440也是一个单片机,但是S3C2440和AT80S51有很大的区别(后别说)。所以说AT89C51叫单片机了,S3C2440开发就没法完全叫单片机了,就好比“国军”这么好的名字被占用了一样。
这里先不说“嵌入式”且把S3C2440称为“高级单片机”。那么普通单片就会向S3C2440挑衅:我能点灯,你可以吗?S3C2440曰:俺也可以!!!(PS:都可以用KEIL)
那么,高级单片机与普通单片机的相同之处就有了,高级单片机完全可以达到普通单片机的功能。但是,“高级单片机”前还有一个“高级”二字,所以它的主要用途不是用“单片机”,而是“高级”。但是高级单片机把实现普通单片机的功能拎出来提出一个词:裸机!俗称:裸奔。这时就可以下这么个定义:单片机就好比高级单片机(嵌入式)在裸奔。这样网上的“裸机程序”、“裸奔”就有得解释了,当一个开发单片机的想在高级单片机上开发普通单片机程序的时,找程序时就可以搜索:裸机程序,嵌入式裸奔程序。
到这就不用解释为什么开发单片机时木有“裸机”一词了吧?
“高级单片机”的“高级”到底高级到哪里去了,这就是:小孩没娘,说来话长咯。这么说吧,就好比智能手机一样(其实手机就是嵌入式设备),能装系统,什么IOS,安卓,WP,还有塞班,和MeeGo(系统)等等,并且智能手机上能玩 愤怒的小鸟(应用),在开发普通单片机是想都不敢想的问题吧。
综上所述:“高级”就高级在了它包含“系统”“应用”开发以及刚没有提到的的“驱动”开发。
所以说单片机开发可以自己去画图,自己去焊接,但搞嵌入式则不然。
刚提到手机也是嵌入式,其实可以自豪地说:乔布斯,比尔盖茨都是搞嵌入式的,我们前途一片光明。
嵌入式开发中常提到另一个词:移植。我刚转入嵌入式学习时也是百思不得其解,因为它也是没有出现在普通单片机开发中。但如果我这么一说:一块51开发板,有1,2,3,4,5个灯,寝室老大写一个程序是点亮1号灯,老二不会,就偷偷把老大的程序拿过来一改,2号灯就亮了。老二欣喜若狂,老大很惆怅。其实老二这个“一改”就是嵌入式开发中的“移植”。单片机中直接改别人的程序好像不人道,但是在嵌入式开发中,一个人不可能独自完成一整套开发,所以说嵌入式中有很多乐观派的老大,很乐意为嵌入式世界献一份力,推动世界的变化。这就是移植。
那么ARM和S3C2440的关系呢?嵌入式就像一个小电脑,S3C2440就是一个CPU,ARM是什么呢?笼统地说ARM是技术,它提供技术,让三星来造CPU就等同于两个人干了intel一个人活(在PC世界里),这样一对比就清楚了。
举过例子了就想想说说现实:ARM是嵌入式中CPU,Intel是PC机中的,在ARM不断侵蚀intel的市场时,Intel也开始对ARM进行了反攻:基于Intel的x86架构的手机 联想K800就要上市。
以上文字是当初普及嵌入式概念是的切身感受,现在明白了就写出来。
(下一步准备通俗的说说ARM工作模式,用和PC机对比的方式,因为当初我不了解时,在网上怎么搜索都说的那七个状态,然后用英文,再然后就是若有其事的说说如何切换,看了半天跟没看一样,既然和PC机原理一样为什么不举例说明呢?)