一路走來(lái),我的電子信息工程和嵌入式之路
一路走來(lái),我的電子信息工程和嵌入式之路
嵌入式該怎么學(xué),嵌入式從何學(xué)起,嵌入式入門需不需要報(bào)培訓(xùn)機(jī)構(gòu),哪個(gè)培訓(xùn)機(jī)構(gòu)好點(diǎn)?.還有一些是咨詢電子信息工程專業(yè)的情況等等?
這些問(wèn)題每天都在百度知道上重演,歸根結(jié)底是想知道嵌入式該如何入門,電子信息工程專業(yè)如何等?
1.一路走來(lái)的電子信息工程專業(yè)
回想起到現(xiàn)在,我也還不確定自己到底現(xiàn)在是不是屬于嵌入式入門了,因?yàn)楦具€看不到底。
本科學(xué)的是電子信息工程,當(dāng)初也就是聽(tīng)同村的一個(gè)大哥在我們學(xué)校讀這個(gè)專業(yè)說(shuō)錢途是不錯(cuò)的,于是也就選擇了這個(gè)專業(yè),話說(shuō)當(dāng)年填的志愿時(shí)基本選的也是電子相關(guān)的專業(yè)。
最終如愿被現(xiàn)在的專業(yè)錄取了,還行吧,到目前為止還算沒(méi)有留有遺憾和后悔的感覺(jué)。當(dāng)初入學(xué)的時(shí)候?qū)@個(gè)專業(yè)真的不了解,只知道和計(jì)算機(jī)學(xué)院的相比是我們會(huì)比他們可能高端一點(diǎn)吧。大學(xué)之前基本沒(méi)有把玩過(guò)電腦,高考完了才徹底的借著查學(xué)校的名義去網(wǎng)吧第一次happy,直到現(xiàn)在基本每天面對(duì)這電腦。
入學(xué)后,系主任做了專業(yè)的導(dǎo)論,才知道原來(lái)在我們學(xué)院這個(gè)專業(yè)的就業(yè)方向就嵌入式和射頻微波兩個(gè)方向。而嵌入式的概念其實(shí)應(yīng)該也是逐漸的建立起來(lái)的。學(xué)到第一門編程語(yǔ)言是C,相比專業(yè)里那些電腦高手以及個(gè)別的VB高手,我等只能從0開(kāi)始打基礎(chǔ)?;疽酱?的時(shí)候才真正學(xué)完一些基礎(chǔ)的專業(yè)課程,如C/C++,數(shù)據(jù)庫(kù),電路原理,數(shù)電、模電等等。
而后是大三的神級(jí)專業(yè)課嵌入式系統(tǒng)相關(guān)課程以及射頻電路、電磁場(chǎng)、微波電路的崛起等等?,F(xiàn)在回想一下,射頻微波的幾個(gè)G的理論真的是太復(fù)雜了,當(dāng)初學(xué)的時(shí)候是死磕(微波是自己大學(xué)唯一滿分的一個(gè)課),不過(guò)現(xiàn)在基本已經(jīng)都已經(jīng)忘卻。因?yàn)楦哳l這些東西本科真的很難就業(yè),需要讀研讀博才會(huì)有所突波,但這些理論在現(xiàn)在的某個(gè)時(shí)候還是會(huì)遇到,比如wifi,gprs,藍(lán)牙的幾個(gè)G的高頻無(wú)線電路設(shè)計(jì)定方案時(shí),還是得去考慮這些理論與實(shí)踐。所以學(xué)的時(shí)候?qū)W好了,用的時(shí)候就不會(huì)怕多了。基于一些巧合最終的畢業(yè)設(shè)計(jì)和未來(lái)的方向定位到了嵌入式上,因?yàn)檎f(shuō)是好找工作,沒(méi)辦法,生活是最現(xiàn)實(shí)。
2. 我的嵌入式之旅一路走來(lái)
當(dāng)初進(jìn)校的時(shí)候 ,就跟自己說(shuō)以后還是努力做個(gè)硬件Engineer,因?yàn)榕伦约壕幊棠芰Φ牟蛔?,而?duì)自己的動(dòng)手能力還是有一定的信心的。于是在大二的暑假主動(dòng)參加了電設(shè)跟的是教我模電的老師(因?yàn)槲业哪k娍嫉谋容^好,呵呵),可是那時(shí)小組3人都不會(huì)編程的,沒(méi)辦法最后只好自己定著上了。于是掏錢買來(lái)了第一塊開(kāi)發(fā)板c8051d,銳志的東西,那個(gè)暑假先從零開(kāi)始學(xué)習(xí)進(jìn)入了單片機(jī)的世界,那時(shí)只學(xué)過(guò)C和模擬電路,連數(shù)電都還沒(méi)學(xué),學(xué)起來(lái)是痛苦的,也算是進(jìn)入所謂嵌入式的菜鳥(niǎo)期吧??粗遄拥囊曨l學(xué)習(xí)了那些不知道的模塊,i/o口,定時(shí)器等等。由于基礎(chǔ)還行,學(xué)完了基本的模塊。電設(shè)選用了c8051f020的芯片,于是有了第二塊最小系統(tǒng)板,雖是51但還是有配置上的區(qū)別,又一陣鎮(zhèn)痛期,最終是編程輸出2路的SPWM。這也算是我一個(gè)暑假的最終產(chǎn)出吧。由于各方面都是菜鳥(niǎo),最后比賽也是菜菜的結(jié)束。但收獲了經(jīng)驗(yàn),收獲了比別人提前的技術(shù)和能力,滿滿的自豪感。
大三是最活躍的時(shí)候,放棄了做小車,一心參加了電設(shè),因?yàn)槭侵鞴ケ緦I(yè)的強(qiáng)項(xiàng):高頻相關(guān)的方向,所以心里也有底,而且導(dǎo)師是可愛(ài)的系主任。大三時(shí)代依舊延續(xù)著軟件的開(kāi)發(fā),因?yàn)槲疫@方面比較強(qiáng)勢(shì)吧。
那時(shí)候單片機(jī)也升級(jí)了,來(lái)到了16位的msp430f5x系列,又是一個(gè)新的處理器,但是開(kāi)發(fā)起來(lái)已經(jīng)游刃有余了。為了這次大賽小組從大三的寒假就開(kāi)始備戰(zhàn),從寬度運(yùn)放,高頻放大,頻譜儀,又一個(gè)暑假是在實(shí)驗(yàn)室度過(guò)的。
為了比賽,拿出了學(xué)費(fèi)來(lái)預(yù)支買元器件,買電鉆,買電工專用盒,總之投入了很多。其實(shí)除了軟件開(kāi)發(fā),硬件一直都是自己想做的,我有自己的烙鐵和焊接所需的所有東西,有很多的元器件和電設(shè)所需的小模塊,只是現(xiàn)在都在我的電工盒里面永遠(yuǎn)的睡去了。
現(xiàn)在想想也還好吧,自己還是走在嵌入式的路上,只是軟件成了我的首選,而硬件的一些知識(shí)和基礎(chǔ)也給予了我能完成所有模塊的獨(dú)立調(diào)試和開(kāi)發(fā),只要手里有著準(zhǔn)確的電路圖。不過(guò)那年國(guó)賽對(duì)我們小組來(lái)說(shuō)是比較悲劇的,和之前準(zhǔn)備的方向都沒(méi)有接軌上,回到了高頻純模擬上,全部電路是一個(gè)9018的三極管,而且完全把我的軟件給廢了,純硬件設(shè)計(jì),淚奔啊。奮斗了3天3夜,結(jié)果是有了但是指標(biāo)不行,也只能作罷。而國(guó)賽那題高頻的題目,對(duì)我們來(lái)說(shuō)是多么的簡(jiǎn)單,因?yàn)橹岸甲鬟^(guò)演練了?,F(xiàn)在想想也許這就是命運(yùn)吧。
大四,收到了奮斗多年的回報(bào),保研了,選擇留在了自己的學(xué)校,當(dāng)初開(kāi)的課也正好是嵌入式系統(tǒng)相關(guān)的課程,于是我在11年10月買了第4塊開(kāi)發(fā)板OK6410,rmb 600元,嵌入式入門之ARM11的神器,于是手把手的進(jìn)入了Linux的世界,此刻應(yīng)該算是真正進(jìn)入了嵌入式的世界。菜鳥(niǎo)永遠(yuǎn)從基礎(chǔ)開(kāi)始學(xué)習(xí),看著視頻對(duì)著開(kāi)發(fā)板學(xué)習(xí)什么是bootloader,什么是fireware,什么文件系統(tǒng),什么是驅(qū)動(dòng),什么是應(yīng)用,什么是GUI.....安裝起了redhat,交叉編譯環(huán)境,vmware..........一步步的看完了國(guó)嵌的基礎(chǔ)視頻,整理了屬于自己的小葵花寶典。視頻教給了我的是基本的概念和基礎(chǔ),帶我入門,而后續(xù)的深入基本就全在于自己的修行了。菜鳥(niǎo)入門,無(wú)處不是問(wèn)題,加相關(guān)的QQ技術(shù)群是最好的選擇,首先自我谷歌、百度解決,再發(fā)群咨詢,遇到問(wèn)題先肯定自我的解決問(wèn)題,也就這樣OK6410伴隨著我逐漸入門到嵌入式,慢慢得聚集聚集,會(huì)的也就漸漸的多了,經(jīng)驗(yàn)也就有了。最近也剛將ok6410的板子轉(zhuǎn)手,放著沒(méi)使用了,不想留著浪費(fèi),希望同樣可以幫助別人入門吧。
畢設(shè)拿到的是TI的DM3730EVM的開(kāi)發(fā)板,又是全新的處理器和平臺(tái)(當(dāng)初玩的人還不多,比較貴和高端),這次來(lái)到了Android的世界,又是一次菜鳥(niǎo)之行,嵌入式的世界里就是處理器滿天飛,但是基本的開(kāi)發(fā)理念依舊一樣,打好了基礎(chǔ)就不要怕了。在移動(dòng)硬盤上搭建了ubuntu,開(kāi)發(fā)起了android系統(tǒng),說(shuō)是這樣編譯會(huì)比較快。從ubl,uboot,kernel,android文件系統(tǒng)到Java app,再到dvsdk的移植,自己也進(jìn)入移動(dòng)多媒體領(lǐng)域。
隨后,漸漸的又接觸了Beagleboard-xm(dm3730主處理器),從0學(xué)會(huì)了dm6437 c64x+dsp完成 了一個(gè)項(xiàng)目。算下來(lái)接觸的主流soc也就差fpga不是很熟悉了,只會(huì)一點(diǎn)點(diǎn)vhdl。所謂魚和熊掌不可兼得,還是不再去想fpga啦吧。只知道這些處理器對(duì)我們做嵌入式軟件開(kāi)發(fā)來(lái)說(shuō)是系統(tǒng)移植,硬件實(shí)現(xiàn),應(yīng)用開(kāi)發(fā)等等,真正的核心的理念還是相互通的。而現(xiàn)在手里拿著的4核A31,又是全新,但是上手還是很容易的,因?yàn)槎济撾x不了嵌入式設(shè)備開(kāi)發(fā)所需的基礎(chǔ)。
到現(xiàn)在,依舊還是走在嵌入式的路上(應(yīng)該算是嵌入式吧,哈哈),只是一路走來(lái),一直在學(xué)習(xí),在總結(jié),也許實(shí)際的編碼經(jīng)驗(yàn)不足但足以學(xué)習(xí)新東西,能完成任務(wù),而且處女座的本人是屬于學(xué)到底,必解決之的那種。
3. 你們的嵌入式該如何入門?
現(xiàn)在好多的培訓(xùn)機(jī)構(gòu)啊,其實(shí)效果應(yīng)該和我看視頻差別不是很大吧,可能培訓(xùn)的實(shí)效性和針對(duì)性會(huì)更強(qiáng)吧。作為學(xué)生真不建議去參加培訓(xùn)機(jī)構(gòu),當(dāng)年我們也有Java免費(fèi)培訓(xùn)和就業(yè)的機(jī)會(huì),但聽(tīng)說(shuō)最后是扯淡了。學(xué)生時(shí)代的你,如果想入門真的很容易的事情,記憶力好,動(dòng)手也強(qiáng),都可以快速入門,當(dāng)然這些學(xué)生也得是相關(guān)的專業(yè)人員,叫文科的來(lái)學(xué),那就是讓公雞下蛋的節(jié)奏。至于很多中途轉(zhuǎn)就業(yè)方向的人來(lái)說(shuō),培訓(xùn)對(duì)你來(lái)說(shuō)更具時(shí)效性,方便再就業(yè)。
如果你不是0基礎(chǔ),不追求時(shí)間,可以自學(xué);如果你是0基礎(chǔ),那么不要盲目急著選培訓(xùn)機(jī)構(gòu),慢下來(lái)看看培訓(xùn)機(jī)構(gòu)能教會(huì)你什么,什么3G工程師啊,android驅(qū)動(dòng)工程師啊,這些最終還是保證不了你的就業(yè),要就業(yè)還得靠培訓(xùn)完的自我加深,實(shí)際還得花很多的時(shí)間。當(dāng)然,無(wú)論是嵌入式的軟件還是硬件,當(dāng)你選擇其中的一個(gè)方向進(jìn)行就業(yè)時(shí),那么很有必要學(xué)深,學(xué)通,學(xué)精,把自己走的嵌入式之路走好,也算是一份奉獻(xiàn)。
相關(guān)專業(yè)的學(xué)生,請(qǐng)你們努力學(xué)好基礎(chǔ)課,學(xué)會(huì)專業(yè)課,熟悉一種通用的處理器,了解一種典型的操作系統(tǒng),寫過(guò)一個(gè)屬于自己的應(yīng)用程序,收藏夾有一家主流芯片公司,那么恭喜你,你應(yīng)該已經(jīng)入門了!