查看: 5363|回复: 16

[抛砖引玉]两年嵌入式学习随想--朋友们进,一起聊聊嵌入式的学习和发展吧

[复制链接]
发表于 2011-3-7 14:07:15 | 显示全部楼层 |阅读模式
不知不觉搞嵌入式也快两年了。说到学习嵌入式,整理了“飞凌嵌入式”一位资深嵌入式工程师的视频报告,里面讲到了嵌入式学习的要点和嵌入式学习需要重点掌握的知识点。希望能让那些将要学习嵌入式和正在学嵌入式的朋友们少走弯路,尽快掌握嵌入式。
PS:以下的文字是我一边看视频一边摘录的一些经典语句(用搜狗拼音一个字一个字打的>_ 视频在线观看地址: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.购买开发板。
前者的效果比较好。因为可以和培训机构的老师面对面的交流。但缺点也很明显,价格贵。时间也有限。因为知识的掌握不是一朝一夕的,必然有一个过程。简单通过一段时间的培训,就能达到多高的层次,很难说。
另一种方式就是通过开发板来自学。但是在一般情况下缺乏交流和引导,随着时间的流逝,在学习过程中会遇见很多的问题。如果时间长了得不到解决,最初的激_情也就逐渐消耗。开发板最终成为了摆设。如果是这种情况,尽管开发板买的时候很便宜,最终呢实际也是一种浪费。因为这块板子没有给自己带来价值。
嵌入式的掌握需要对一些知识有一定的了解。下面我来和大家一起看看这些重要的知识点。(手有点儿酸了,休息休息。稍后继续...)
    也希望正在学和已学会的朋友们谈谈嵌入式学习的经验和过程,帮助新手朋友们更有效率的学习O(∩_∩)O
发表于 2011-3-10 11:03:28 | 显示全部楼层
很多方面讲的还是很有道理的
发表于 2011-3-13 19:45:43 | 显示全部楼层
好贴~~必顶~~只不过我还是门外汉~~只有单片机的基础,想学ARM,感觉操作系统太难学了~~
发表于 2011-5-14 14:11:47 | 显示全部楼层
学习了
发表于 2011-6-4 02:03:22 | 显示全部楼层
很多方面讲的还是很有道理
发表于 2011-6-15 13:36:10 | 显示全部楼层
mark~~~~~
发表于 2011-6-17 18:30:51 | 显示全部楼层
支持 楼主
发表于 2011-7-30 00:57:19 | 显示全部楼层
发表于 2011-8-16 23:20:09 | 显示全部楼层
很有道理
发表于 2011-9-23 18:50:47 | 显示全部楼层
谢谢你的帮助
发表于 2011-10-14 22:18:52 | 显示全部楼层
mark   呵呵
发表于 2011-11-30 13:34:29 | 显示全部楼层
很有道理
发表于 2011-12-3 17:21:08 | 显示全部楼层
觉得很有用,顶
发表于 2011-12-28 16:19:51 | 显示全部楼层
学习了。
发表于 2012-1-19 13:14:18 | 显示全部楼层
学习了
发表于 2012-1-21 22:01:09 | 显示全部楼层
大家都想尽力少犯错误,但从本人目前的学习程度来说有一个反过来的体会。要想掌握嵌入式就应该多犯错误。发现问题绞尽脑汁解决掉。这个过程是痛苦的,但是收获会数倍于你的痛苦。不仅牢固掌握了很多开发诀窍和致命细节还能总结出很多行之有效的方法。而这个过程不可能通过别人的经验或少走弯路就能得到。
发表于 2012-2-22 18:44:21 | 显示全部楼层
这种文章很好,启迪
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表