本帖最后由 群龙舞十方 于 2010-4-2 13:40 编辑
不知不觉搞嵌入式也快两年了。说到学习嵌入式,整理了“飞凌嵌入式”一位资深嵌入式工程师的视频报告,里面讲到了嵌入式学习的要点和嵌入式学习需要重点掌握的知识点。希望能让那些将要学习嵌入式和正在学嵌入式的朋友们少走弯路,尽快掌握嵌入式。
PS:以下的文字是我一边看视频一边摘录的一些经典语句(用搜狗拼音一个字一个字打的>_<!),呵呵。希望这些付出能够给我的朋友们带来帮助O(∩_∩)O哈哈~
视频出处及下载地址:http://www.witech.com.cn/
视频在线观看地址:http://www.tudou.com/programs/view/KL0y2VqgZOs/
经典语段一:
嵌入式技术的掌握是需要一个过程的
实事求是的说,嵌入式技术的全面掌握是有相当难度的。可以轻轻松松学会嵌入式技术的说法是夸大其词了。这个就像学英语一样,学英语无论怎样学,不管是“疯狂学”还是用新理念来学,真正掌握的话还是需要一步步积累才能熟练掌握。在此,我建议大家不要想在几天内学会嵌入式,成为这方面的高手。这些想法本身是不太现实的。
现在我们需要做的是:
第一:把心踏实下来,做好打硬仗的准备。
第二:注意学习方法。尽量不要走弯路,争取一鼓作气入门。一旦入门了以后呢就好办了。嵌入式技术的掌握,本身呢就比较难,要是再走些弯路,时间上会浪费,甚至会影响学习的信心。
经典语段二:
最好的学习方法:
做项目。如果有机会大家跟着做一个难度适中的嵌入式项目,相信大家会很快入门的。也就是说从实战之中来获得进步。但是,在我们没有嵌入式基础之前,不容易获得这样的机会。也就是说,在能力没有到之前,找个这样的工作很难。很显然呢,如果我们具备了获得这样一份工作的能力就好办了。但是,恰恰是这个阶段最难。这个就是搞嵌入式系统的门槛。这个门槛的跨越,我觉得是需要引导的。
比如有的人买了块开发板自学,上来就分析LINUX源码,结果折腾了几个月呢都没有什么收获。有的人只是掩饰了几个基本的功能,放了个MP3,玩了下如何来浏览网页,下不就不知道该怎么做了。实际上呢,学习一门技术是需要一个过程的,期间也会有一定的规律。我们具体来看。
经典语段三:
我们知道,嵌入式系统是一个很有前景的行业。学会嵌入式技术,就相当于给自己创造了更多的机会。那么,在可以预计的将来,嵌入式技术的应用会越来越广泛。(大量的人才需求,未来五年内,国内LINUX嵌入式软件开发的人才缺口达到120万)
经典语段四:
我们认为作为一个出色的电子工程师,两方面的能力很重要。
一个是掌握概念的能力。另一个就是调试的能力。
我认为呢,作为一个工程师来说,有这两方面的能力就够了。至于像其他的,不如说想象能力、敏捷的反应能力呀等等就没那么重要了。
经典语段五:
在这里,首先需要我们掌握一个概念,那就是什么是“嵌入式系统”?
我想,能听我讲座的朋友,一定对“嵌入式系统”有了自己的理解。但要想清晰的掌握它,也需要费一番功夫的。下面,我从计算机分类的角度跟大家简单介绍一下:
整个计算机系统可以分为两大类:
1.通用机系统;2.专用机系统。
什么是通用机系统呢?很简单,我们用的PC机就是。在PC上我们可以玩儿游戏,可以看电影,可以聊QQ,可以开发程序,可以做报表,等等,比较通用。所以叫通用机系统。那么在通用机系统设计时就要考虑到整体性能。而不用过分关注及时响应的能力,也就是说实时性能。缺点是体积大,功耗高。
除了通用机性能以外,另一个就是专用机系统。什么是嵌入式系统呢?专用机系统就是嵌入式系统。
判断一个系统是不是嵌入式系统,首先要看它是不是计算机系统。如果是的话,再看它是不是PC机之类的系统。如果不是,那好啦,它就是嵌入式系统。这里说的PC机,除了个人电脑以外还有机房的服务器、工控机等。
下面看一下大家熟知的“手机”。
里面是不是有一个CPU呢?有!
是不是PC机呢? 不是!
那它就是嵌入式系统。
一个“路由器”,里面有CPU吗?有!
而且也不是PC机,那它也是嵌入式系统。
像更大一些的,如卫星啊,航天器这些,里面的CPU在工作,肯定不是PC,OK,那他里面的计算机系统也可以认为是嵌入式系统。
包括像汽车里面,有很多处理器在协同工作。里面实际也是一个嵌入式系统在工作。
既然如此,那么是不是嵌入式系统,判断起来就很简单了:只要是里面有处理器在工作,而且不是类似PC机这样的系统,就是嵌入式系统。
经典语段六:
那么这时候有人要说了,我以前做单片机呢,单片机是不是嵌入式系统呢? 当然是。只不过呢,我们现在把它看成一个低端的嵌入式系统。通常我们所说的嵌入式系统是指什么呢?指像“ARM+LINUX”这样结构的系统。
低端的单片机系统和高端的ARM+LINUX这种结构有什么不同呢?
单片机系统在8位的单片机系统上跑一段程序,实际上呢,就是一段应用程序。这个架构比较简单。
ARM+LINUX系统呢,最下层是硬件,往上呢是驱动程序->操作系统->最上面呢是应用程序。最下面的硬件一般比较复杂,32位的系统(ARM、PPC、MIPS、X86等)。
在整个架构上有很大不同。如果要开发ARM+LINUX这样系统的时候,需要了解更多的知识,比如:什么是操作系统?驱动程序如何挂在到操作系统上?应用程序如何通过操作系统对硬件进行操作等等。这样看来ARM+LINUX的架构比8位单片机这个架构要复杂很多。
也正是这个原因,随着系统越来越复杂,到2000年的时候,我们国家召开了第一届的嵌入式系统年会。正好那次我也参加了。那次会议办的很成功。从那个时候开始,嵌入式这个概念就开始流行了。实际上,真正普及呢是从05年左右开始。在这之前,对于大多数人来说还是比较生疏的。
经典语段七:
那么不在嵌入式行业的朋友们,如何可以较快的学会嵌入式技术呢?
目前基本上有两种方式:
1.参加培训。2.购买开发板。
前者的效果比较好。因为可以和培训机构的老师面对面的交流。但缺点也很明显,价格贵。时间也有限。因为知识的掌握不是一朝一夕的,必然有一个过程。简单通过一段时间的培训,就能达到多高的层次,很难说。
另一种方式就是通过开发板来自学。但是在一般情况下缺乏交流和引导,随着时间的流逝,在学习过程中会遇见很多的问题。如果时间长了得不到解决,最初的激情也就逐渐消耗。开发板最终成为了摆设。如果是这种情况,尽管开发板买的时候很便宜,最终呢实际也是一种浪费。因为这块板子没有给自己带来价值。
嵌入式的掌握需要对一些知识有一定的了解。下面我来和大家一起看看这些重要的知识点。(手有点儿酸了,休息休息。稍后继续...) |