工程師應該(gai)怎(zen)么(me)學習嵌入式
時間:2010-08-30 來源:未(wei)知
嵌入(ru)式(shi)從2002年(nian)之后(hou)就成(cheng)為(wei)很熱(re)門的職業,這(zhe)其中與ARM的商(shang)用(yong)分不開。Samsung,Philiphs,Atmel這(zhe)些(xie)公(gong)司(si)紛(fen)紛(fen)推出性價(jia)比非常高的arm核的cpu(soc),而且這(zhe)些(xie)soc非常適合(he)作為(wei)手機,數(shu)碼(ma)相(xiang)機, mp3,mp4(還包括汽車(che)電(dian)子,醫療電(dian)子等行(xing)業)的cpu。因(yin)此(ci)(ci),很多做(zuo)此(ci)(ci)類(lei)產品(pin)的公(gong)司(si)對熟悉ARM架構cpu的人才需(xu)求(qiu)很大,再加之大學課(ke)程與社會需(xu)求(qiu)脫節,造成(cheng)人才緊缺(que)。
Arm,除了網路處理器(qi)不(bu)能抗衡之(zhi)外,其他領域都有用武之(zhi)地,它不(bu)但會像51單片機(ji)一(yi)樣經久不(bu)衰(shuai)而且會更(geng)加(jia)輝煌,所以在電子產品整個(ge)領域,arm將是工程師必須掌握的(de)技術。
怎(zen)樣(yang)的人適合(he)學習嵌入式
學習(xi)嵌入(ru)式需要有一(yi)定的基(ji)礎(chu),這(zhe)些基(ji)礎(chu)大概包括下(xia)面兩(liang)點:
學過(guo)c語言,匯編;
對微控制器有一定了解。
一(yi)(yi)般(ban)理(li)工(gong)類(計算機(ji),自動化(hua),電子類專業)的學(xue)生大三學(xue)比(bi)較合適。因為到了(le)大三,一(yi)(yi)般(ban)學(xue)過(guo)了(le)c語言(yan)及(ji)匯編,雖(sui)然大部分學(xue)生沒有(you)獨立寫(xie)過(guo)一(yi)(yi)個(ge)程序(xu),但(dan)至(zhi)少上過(guo)這門(men)課,自己(ji)也(ye)看過(guo)相關知(zhi)識點;而且(qie)上過(guo)8051等(deng)微控制器原理(li)的課程,也(ye)看過(guo)類似(si)的教課書。
具備以(yi)上(shang)基礎的人,也不(bu)是誰都可以(yi)學。因為嵌入(ru)式學習(xi)門檻比(bi)較高,難(nan)度比(bi)較大(da),不(bu)但要有一定的毅力,而且要觸類旁通,如果太死板也很難(nan)學會(hui)。
概括的說學習嵌(qian)入式還(huan)必備下列性(xing)格:
熱愛研發!
切忌浮躁!
執著,頑(wan)強(qiang),自(zi)信!
舉一反三!
熱(re)愛研發,不僅(jin)僅(jin)是(shi)"喜(xi)歡搞(gao)技術(shu)";我永(yong)遠記(ji)得我第一次在(zai)EM78P156EL(儀隆8位單片(pian)機)上點亮第一個(ge)LED燈的(de)感覺(jue),可以用"欣(xin)喜(xi)若狂(kuang)"來形(xing)容。這(zhe)就(jiu)是(shi)一種熱(re)愛。被問題(ti)(ti)困(kun)擾(rao)時的(de)著急,無助,絞盡腦(nao)汁(zhi),到后通過自(zi)己的(de)努力問題(ti)(ti)得到解(jie)決的(de)無比自(zi)豪(hao)和快感,這(zhe)一過程是(shi)很多人熱(re)愛研發的(de)原動力。
切忌浮躁,近網(wang)絡總結出了人(ren)所患的(de)一種通病(bing)"喪失了慢能力"!此(ci)話不假(jia)!改(gai)革開發以來,翻天覆地的(de)變化(hua),物質(zhi)的(de)發達,網(wang)絡的(de)普及,文化(hua)的(de)西化(hua),貧富差距(ju)的(de)加大造(zao)成(cheng)了我們靜不下(xia)心來讀(du)書,寫作,學習。
《電子工程(cheng)專輯》有一網(wang)友博文:《從通用訴奇瑞間諜(die)案反思技術發展之殤》
我一(yi)直在(zai)思考著為(wei)(wei)(wei)什么我國的產業結(jie)構調整一(yi)直推行得(de)較為(wei)(wei)(wei)緩慢?為(wei)(wei)(wei)什么大(da)多數畢業生從(cong)事制造業的5年(nian)計劃就是轉向管理層?為(wei)(wei)(wei)什么我國較為(wei)(wei)(wei)成功(gong)的企業不多...
此文從工程師浮(fu)躁的心理(li)闡(chan)述了工程師和企業(ye)(ye)的知識(shi)(shi)技術積累不夠,不能產生有(you)價值的發明及有(you)核心技術的企業(ye)(ye)。因嵌入(ru)式開發一時成為(wei)了熱(re)門(men)職業(ye)(ye),工資高(gao),好找工作,很多人決(jue)定投入(ru)這一行業(ye)(ye),可是嵌入(ru)式開發需要軟硬件知識(shi)(shi)。
單從(cong)軟件工程師來說:
需要(yao)c語(yu)(yu)言(要(yao)精(jing)),匯編語(yu)(yu)言(要(yao)懂),c++(如果(guo)是(shi)(shi)上次應用程序需要(yao)精(jing));還有(you)各種通(tong)(tong)信(xin)協議(yi)(基本的(de)有(you)串(chuan)口通(tong)(tong)信(xin),I2C,SPI;復雜一點的(de)有(you)tcp/ip,bluetooth等待(dai));還有(you)更重(zhong)要(yao)的(de)中斷原(yuan)(yuan)理,dma原(yuan)(yuan)理,定時器等等!還要(yao)看得(de)懂原(yuan)(yuan)理圖,要(yao)根據原(yuan)(yuan)理圖和(he)datasheet就能(neng)把代(dai)碼寫出來,這(zhe)些都是(shi)(shi)一個(ge)搞嵌(qian)入式必(bi)須掌握的(de)技(ji)術!如果(guo)是(shi)(shi)linux驅(qu)動(dong)要(yao)掌握的(de)知識遠不如這(zhe)些!
所以學習嵌(qian)入式要(yao)"慢慢來(lai)"切忌"浮躁"!
執著、頑強(qiang)、自信(xin),在產品(pin)開發過程中,當(dang)你(ni)(ni)做的(de)(de)(de)比較深(shen)的(de)(de)(de)時(shi)(shi)候,你(ni)(ni)出現的(de)(de)(de)問(wen)題已經太(tai)依賴(lai)你(ni)(ni)現在的(de)(de)(de)環境(jing),如果(guo)要找(zhao)人(ren)(ren)來幫你(ni)(ni),你(ni)(ni)還(huan)要花很長時(shi)(shi)間(jian)給(gei)他解釋(shi)你(ni)(ni)問(wen)題產生的(de)(de)(de)原因,他也要花時(shi)(shi)間(jian)從(cong)頭跟進去,一(yi)般是(shi)(shi)找(zhao)不(bu)到(dao)這種人(ren)(ren)來幫你(ni)(ni)的(de)(de)(de)。像這種問(wen)題在網(wang)上也找(zhao)不(bu)到(dao)類似的(de)(de)(de)答案,圖(tu)書(shu)(shu)館(guan)也查(cha)不(bu)到(dao)有(you)(you)價值(zhi)的(de)(de)(de)資料。此時(shi)(shi),只能(neng)靠(kao)自己了(le)(le)。雖然沒(mei)人(ren)(ren)能(neng)幫你(ni)(ni),但(dan)是(shi)(shi)你(ni)(ni)還(huan)是(shi)(shi)要想(xiang)辦法請教人(ren)(ren),通過跟別人(ren)(ren)的(de)(de)(de)討論或許能(neng)給(gei)你(ni)(ni)啟發;雖然在網(wang)上找(zhao)不(bu)到(dao)類似的(de)(de)(de)答案,但(dan)你(ni)(ni)還(huan)是(shi)(shi)需要到(dao)網(wang)上去找(zhao)相(xiang)關信(xin)息;雖然圖(tu)書(shu)(shu)館(guan)也查(cha)不(bu)到(dao)有(you)(you)價值(zhi)的(de)(de)(de)資料,但(dan)你(ni)(ni)有(you)(you)時(shi)(shi)還(huan)是(shi)(shi)需要跑跑圖(tu)書(shu)(shu)館(guan);結(jie)合(he),別人(ren)(ren)的(de)(de)(de)指(zhi)導,網(wang)絡的(de)(de)(de)信(xin)息,圖(tu)書(shu)(shu)館(guan)的(de)(de)(de)知識,自己的(de)(de)(de)分析,以前的(de)(de)(de)經驗,各種實驗的(de)(de)(de)排除,如果(guo)能(neng)堅持做到(dao)這些是(shi)(shi)沒(mei)有(you)(you)解決(jue)不(bu)了(le)(le)的(de)(de)(de)問(wen)題的(de)(de)(de)。
但(dan)是很(hen)多人(ren)做不(bu)到這(zhe)些;他除了網(wang)上找答(da)案,論壇發貼問(wen)別人(ren)一籌莫展(zhan),堅持(chi)不(bu)了幾天(tian)就把(ba)問(wen)題擱置(zhi)了,如(ru)果參加(jia)工作,只會讓(rang)老板(ban)認為你能(neng)力不(bu)夠,下次也不(bu)會委(wei)以重任(ren);如(ru)果是學習,你將(jiang)不(bu)能(neng)深入進去,做不(bu)到精通。
在你(ni)嵌(qian)入(ru)式職業(ye)生(sheng)涯中,如(ru)果第(di)一個棘手的(de)(de)問(wen)題(ti)憑(ping)你(ni)的(de)(de)不(bu)(bu)懈努力解決了(le),那么,接下來的(de)(de)問(wen)題(ti)都(dou)會得(de)到解決,因為第(di)一次解決問(wen)題(ti)不(bu)(bu)但(dan)讓你(ni)學(xue)會了(le)如(ru)何分析問(wen)題(ti),解決問(wen)題(ti),更重要的(de)(de)是增強(qiang)了(le)你(ni)的(de)(de)自信。其實,我(wo)們做研(yan)發工作不(bu)(bu)是搞(gao)發明(ming)(ming),所有的(de)(de)問(wen)題(ti)都(dou)難不(bu)(bu)到哪里去(qu)!我(wo)有個同事(shi),這位(wei)同事(shi)是我(wo)招募進(jin)公司(si)的(de)(de)應(ying)屆畢業(ye)生(sheng),嵌(qian)入(ru)式是中的(de)(de)問(wen)題(ti)對一個應(ying)屆畢業(ye)生(sheng)來說(shuo)(shuo)確實比較難,比如(ru)說(shuo)(shuo)通(tong)過(guo)IO腳來模(mo)擬I2C總線讀寫(xie)EEPROM。我(wo)記(ji)得(de)這位(wei)同事(shi)說(shuo)(shuo)過(guo)一句話(hua),他說(shuo)(shuo)"別人能發明(ming)(ming),至少我(wo)能會用!"。
我從這(zhe)句話(hua)中感受到了他(ta)的(de)(de)(de)自信,事(shi)(shi)實確是如此,我們僅僅是應用(yong),不是發明,我們都應該有能力去把這(zhe)些原理性的(de)(de)(de)東西(xi)搞(gao)懂,這(zhe)位同事(shi)(shi)在后續的(de)(de)(de)工作中,一(yi)直是出類拔萃,工資也越(yue)(yue)來越(yue)(yue)高(gao)!
舉一(yi)(yi)反三(san),或者說(shuo)模(mo)仿(fang)。在(zai)驅(qu)(qu)動(dong)開(kai)(kai)發(fa)中這種(zhong)能力(li)尤其重要(yao),比如在(zai)Rtems,Linux這種(zhong)OS中,支(zhi)持各種(zhong)BSP,但不(bu)一(yi)(yi)定支(zhi)持你(ni)(ni)(ni)所用(yong)的(de)(de)BSP。現在(zai)學習嵌入式比較流行(xing)的(de)(de)開(kai)(kai)發(fa)板是(shi)(shi)(shi)s3c2410,如果OS是(shi)(shi)(shi)用(yong)rtems那么你(ni)(ni)(ni)找不(bu)到現成的(de)(de)BSP,但幸運的(de)(de)是(shi)(shi)(shi)rtems支(zhi)持2400,我們(men)就(jiu)(jiu)可以很(hen)容易的(de)(de)模(mo)仿(fang)它(ta)做(zuo)一(yi)(yi)個(ge)(ge)2410的(de)(de)BSP,如果你(ni)(ni)(ni)的(de)(de)網卡是(shi)(shi)(shi)cs8900,那么你(ni)(ni)(ni)很(hen)不(bu)幸,2400中沒有(you)(you)(you)cs8900的(de)(de)網卡驅(qu)(qu)動(dong),怎么辦,如果夠心細,你(ni)(ni)(ni)會發(fa)現edp7312的(de)(de)BSP中有(you)(you)(you)cs8900的(de)(de)驅(qu)(qu)動(dong),那么你(ni)(ni)(ni)就(jiu)(jiu)可以搬過來,雖然有(you)(you)(you)很(hen)多改動(dong)的(de)(de)地方,但是(shi)(shi)(shi)比重新寫(xie)一(yi)(yi)個(ge)(ge)符合rtems的(de)(de)驅(qu)(qu)動(dong)要(yao)來得容易的(de)(de)多。