嵌入式该怎么学,嵌入式从何学起,嵌入式入门需不需要报培训机构,哪个培训机构好点?.还有一些是咨询电子信息工程专业的情况等等?
这些问题几乎每天都在我的”嵌入式的世界“百度知道团队会遇到和看到的一些问题,归根结底是咨询嵌入式该如何入门,电子信息工程专业如何等?
1.一路走来的电子信息工程专业
回想起到现在我也还不确定自己到底现在是不是属于嵌入式入门了,因为根本还看不到底。
本科学的是电子信息工程,当初也就是听同村的一个大哥在我们学校读这个专业说钱途是不错的,于是也就选择了这个专业,话说当年填的志愿时基本选的也是电子相关的专业。
最终如愿被现在的专业录取了,还行吧,到目前为止还算没有留有遗憾和后悔的感觉。当初入学的时候对这个专业真的不了解,只知道和计算机学院的相比是我们会比他们可能高端一点吧。大学之前基本没有把玩过电脑,高考完了才彻底的借着查学校的名义去网吧第一次happy,直到现在基本每天面对这电脑。
08年入了学,系主任做了专业的导论后,才知道原来在我们学院这个专业的就业方向就嵌入式和射频微波两个方向。而嵌入式的概念其实应该也是逐渐的建立起来的。学到第一门编程语言是C,相比专业里那些电脑高手以及个别的VB高手,我等只能从0开始打基础。基本要到大3的时候才真正学完一些基础的专业课程,如C/C++,数据库,电路原理,数电、模电等等。而后是大三的神级专业课嵌入式系统相关课程以及射频电路、电磁场、微波电路的崛起等等。现在回想一下,射频微波的几个G的理论真的是太复杂了,当初学的时候是死磕(微波是自己大学唯一满分的一个课),不过现在基本已经都已经忘却。因为高频这些东西本科真的很难就业,需要读研读博才会有所突波,但这些理论在现在的某个时候还是会遇到,比如wifi,gprs,蓝牙的几个G的高频无线电路设计定方案时,还是得去考虑这些理论与实践。所以学的时候学好了,用的时候就不会怕多了。基于一些巧合最终的毕业设计和未来的方向定位到了嵌入式上,因为说是好找工作,没办法,生活是最现实。
2. 我的嵌入式之旅一路走来
当初进校的时候 ,就跟自己说以后还是努力做个硬件Engineer,因为怕自己编程能力的不足,而对自己的动手能力还是有一定的信心的。于是在大二的暑假主动参加了电设跟的是教我模电的老师(因为我的模电考的比较好,呵呵),可是那时小组3人都不会编程的,没办法最后只好自己定着上了。于是掏钱买来了第一块开发板c8051d,锐志的东西,那个暑假先从零开始学习进入了单片机的世界,那时只学过C和模拟电路,连数电都还没学,学起来是痛苦的,也算是进入所谓嵌入式的菜鸟期吧。看着板子的视频学习了那些不知道的模块,i/o口,定时器等等。由于基础还行,学完了基本的模块。电设选用了c8051f020的芯片,于是有了第二块最小系统板,虽是51但还是有配置上的区别,又一阵镇痛期,最终是编程输出2路的SPWM。这也算是我一个暑假的最终产出吧。由于各方面都是菜鸟,最后比赛也是菜菜的结束。但收获了经验,收获了比别人提前的技术和能力,满满的自豪感。
大三是最活跃的时候,放弃了做小车,一心参加了电设,因为是主攻本专业的强项:高频相关的方向,所以心里也有底,而且导师是可爱的系主任。大三时代依旧延续着软件的开发,因为我这方面比较强势吧。11年的时候单片机也升级了,来到了16位的msp430f5x系列,又是一个新的处理器,但是开发起来已经游刃有余了。为了这次大赛小组从大三的寒假就开始备战,从宽度运放,高频放大,频谱仪,又一个暑假是在实验室度过的。为了比赛,拿出了学费来预支买元器件,买电钻,买电工专用盒,总之投入了很多。其实除了软件开发,硬件一直都是自己想做的,我有自己的烙铁和焊接所需的所有东西,有很多的元器件和电设所需的小模块,只是现在都在我的电工盒里面永远的睡去了。现在想想也还好吧,自己还是走在嵌入式的路上,只是软件成了我的首选,而硬件的一些知识和基础也给予了我能完成所有模块的独立调试和开发,只要手里有着准确的电路图。11年国赛对我们小组来说是比较悲剧的,和之前准备的方向都没有接轨上,回到了高频纯模拟上,全部电路是一个9018的三极管,而且完全把我的软件给废了,纯硬件设计,泪奔啊。奋斗了3天3夜,结果是有了但是指标不行,也只能作罢。而最终2013年的国赛那题高频的题目,对我们来说是多么的简单,因为之前都作过演练了。现在想想也许这就是命运吧。
大四,收到了奋斗多年的回报,保研了,选择留在了自己的学校,当初开的课也正好是嵌入式系统相关的课程,于是我在11年10月买了第4块开发板OK6410,rmb 600元,嵌入式入门之ARM11的神器,于是手把手的进入了Linux的世界,此刻应该算是真正进入了嵌入式的世界。菜鸟永远从基础开始学习,看着视频对着开发板学习什么是bootloader,什么是fireware,什么文件系统,什么是驱动,什么是应用,什么是GUI.....安装起了redhat,交叉编译环境,vmware..........一步步的看完了国嵌的基础视频,整理了属于自己的小葵花宝典。视频教给了我的是基本的概念和基础,带我入门,而后续的深入基本就全在于自己的修行了。菜鸟入门,无处不是问题,加相关的QQ技术群是最好的选择,首先自我谷歌、百度解决,再发群咨询,遇到问题先肯定自我的解决问题,也就这样OK6410伴随着我逐渐入门到嵌入式,慢慢得聚集聚集,会的也就渐渐的多了,经验也就有了。最近也刚将ok6410的板子转手,放着没使用了,不想留着浪费,希望同样可以帮助别人入门吧。
2012年初是毕设,拿到的是TI的DM3730EVM的开发板,又是全新的处理器和平台(当初玩的人还不多,比较贵和高端),这次来到了android的世界,又是一次菜鸟之行,嵌入式的世界里就是处理器满天飞,但是基本的开发理念依旧一样,打好了基础就不要怕了。在移动硬盘上搭建了ubuntu,开发起了android系统,说是这样编译会比较快。从ubl,uboot,kernel,android文件系统到java app,再到dvsdk的移植,自己也进入移动多媒体领域。在这段时间看到师兄在csdn开博写问,于是自己也开始了记录学习,开发中遇到的问题到CSDN,故而才有了现在的天才之嵌入式。
随后,渐渐的又接触了Beagleboard-xm(dm3730主处理器),从0学会了dm6437 c64x+dsp完成 了一个项目。算下来接触的主流soc也就差fpga不是很熟悉了,只会一点点vhdl。所谓鱼和熊掌不可兼得,还是不再去想fpga啦吧。只知道这些处理器对我们做嵌入式软件开发来说是系统移植,硬件实现,应用开发等等,真正的核心的理念还是相互通的。而现在手里拿着的4核A31,又是全新,但是上手还是很容易的,因为都脱离不了嵌入式设备开发所需的基础。
到现在,依旧还是走在嵌入式的路上(应该算是嵌入式吧,哈哈),只是一路走来,一直在学习,在总结,也许实际的编码经验不足但足以学习新东西,能完成任务,而且处女座的本人是属于学到底,必解决之的那种。
3. 你们的嵌入式该如何入门?
现在好多的培训机构啊,其实效果应该和我看视频差别不是很大吧,可能培训的实效性和针对性会更强吧。作为学生真不建议去参加培训机构,当年我们也有java免费培训和就业的机会,但听说最后是扯淡了。学生时代的你,如果想入门真的很容易的事情,记忆力好,动手也强,都可以快速入门,当然这些学生也得是相关的专业人员,叫文科的来学,那就是让公鸡下蛋的节奏。至于很多中途转就业方向的人来说,培训对你来说更具时效性,方便再就业。
如果你不是0基础,不追求时间,那我请你自学;如果你是0基础,那么不要盲目急着选培训机构,慢下来看看培训机构能教会你什么,什么3G工程师啊,android驱动工程师啊,这些最终还是保证不了你的就业,要就业还得靠培训完的自我加深,实际还得花很多的时间。当然,无论是嵌入式的软件还是硬件,当你选择其中的一个方向进行就业时,那么很有必要学深,学通,学精,把自己走的嵌入式之路走好,也算是一份奉献。
相关专业的学生,请你们努力学好基础课,学会专业课,熟悉一种通用的处理器,了解一种典型的操作系统,写过一个属于自己的应用程序,收藏夹有一家主流芯片公司,那么恭喜你,你应该已经入门了!
4.开个玩笑,为何说嵌入式穷三代
的确这只是个玩笑,因为相比眼下火热的互联网,嵌入式的产业貌似有些工资没他们高,产品卖的也不能太贵,赚个数量钱,所以才有了穷三代的玩笑吧。
但是既然走杂了这个路上,我估计是不会在改变了,自己也喜欢这个行业,处理器的更新换代之快,也给予了我们更多的机会去接触更前沿的技术,去就业。找好一个公司,选定一款产品,做好一套系统,写好一行代码,努力不给后三代留下遗憾。为了和互联网PK,就全靠走在这路上的各位了,估计输的几率大,各位加油吧!
最好,送给每个坚持走在嵌入式路上的小伙伴们一话:有付出就会有回报!!!
仅以此文记录我过去的电子信息工程专业和嵌入式之旅,回首往事,生活依旧继续,加油。愿所有人平安健康,活着是福。
2014/4/11/ PM 22:30
嵌入式重点实验室