




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、8游客發(fā)表于2007-11-7 14:17回復(fù)引用訂閱報(bào)告收藏分享評分打印樓主:如何走入嵌入式系統(tǒng)世界一一僅獻(xiàn)給熱愛此道的初學(xué)者們嵌入式,初學(xué)者,系統(tǒng),世界關(guān)于嵌入式系統(tǒng)一一獻(xiàn)給熱愛此道的初學(xué)者們?nèi)绾螌W(xué)習(xí)嵌入式系統(tǒng)(基于arm平臺(tái))刖s網(wǎng)上看到眾多網(wǎng)友都問了關(guān)于嵌入式系統(tǒng)方面的很多問題,很多都可在這 里找到答案,希望我的這篇文章能給他們以啟發(fā)。也請大家不要輕易轉(zhuǎn)載。一、嵌入式系統(tǒng)的概念著重理解“嵌入”的概念主要從三個(gè)方面上來理解。1、從碩件上,將基于cpu的處圍器件,整合到cpu芯片內(nèi)部,比如早期 基于x86體系結(jié)構(gòu)下的計(jì)算機(jī),cpu只是有運(yùn)算器和累加器的功能,一切芯 片要造外部橋路來擴(kuò)展實(shí)現(xiàn)
2、,彖串口之類的都是靠外部的16c550/2的串口控 制器芯片實(shí)現(xiàn),而目前的這種串口控制器芯片早已集成到cpu內(nèi)部,還有pc 機(jī)有顯卡,而多數(shù)嵌入式處理器都帶有l(wèi)cd控制器,但其種意義上就相當(dāng)于 顯卡。比較高端的arm類intel xscale架構(gòu)下的1xp網(wǎng)絡(luò)處理器cpu內(nèi)部集 成pci控制器(可配成支持4個(gè)pci從設(shè)備或配成自身為cpi從設(shè)備);還 集成3個(gè)npe網(wǎng)絡(luò)處理器引擎,其中兩個(gè)對應(yīng)于兩個(gè)mac地址,可用于網(wǎng)關(guān) 交換用,而另外一個(gè)npe網(wǎng)絡(luò)處理器引擎支持dsl,只要外面再加個(gè)phy芯 片即可以實(shí)現(xiàn)dsl上網(wǎng)功能。ixp系列最高主頻可以達(dá)到1. 8g,支持2g內(nèi)存, 1gx10或10g
3、x1的以太網(wǎng)口或febre channel的光通道。ixp系列應(yīng)該是目 標(biāo)基于arm體系統(tǒng)結(jié)構(gòu)下由intel進(jìn)行整合后成xscale內(nèi)核的最高的處理器to2、從軟件上前,就是在定制操作系統(tǒng)內(nèi)核里將應(yīng)用一并選入,編譯后將 內(nèi)核下載到rom中。而在定制操作系統(tǒng)內(nèi)核時(shí)所選擇的應(yīng)用程序組件就是完 成了軟件的“嵌入”,比如wince在內(nèi)核定制時(shí),會(huì)有相應(yīng)選擇,其中就是 wordpad, pdf, mediaplay等等選擇,如果我們選擇了,在ce啟動(dòng)后,就可以 在界面屮找到這些東西,如果是以前pc上將的windows操作系統(tǒng),多半的東 西都需要我們得新再裝。3、把軟件內(nèi)核或應(yīng)用文件系統(tǒng)等東西燒到嵌入式系
4、統(tǒng)硬件平臺(tái)屮的rom屮就實(shí)現(xiàn)了一個(gè)真正的“嵌入”。以上的定義是我在6、7年前給嵌入式系統(tǒng)下自話側(cè)重于理解型的定義,書上的定義也有很多,但在這個(gè)領(lǐng)域范圍內(nèi),誰都不敢說自己的定義是十分確切的,包括那些專家學(xué)者們,歷為畢竟嵌入式系統(tǒng)是計(jì)算機(jī)范疇下的一門綜合性學(xué)科二、嵌入式系統(tǒng)的分層與專業(yè)的分類。嵌入式系統(tǒng)分為4層,碩件層、驅(qū)動(dòng)層、操作系統(tǒng)層和應(yīng)用層。1、硬件層,是整個(gè)嵌入式系統(tǒng)的根本,如果現(xiàn)在單片機(jī)及接口這塊很熟 悉,并且能用c和匯編語言來編程的話,從嵌入式系統(tǒng)的硬件層走起來相對 容易,碩件層也是驅(qū)動(dòng)層的基礎(chǔ),一個(gè)優(yōu)秀的驅(qū)動(dòng)工程師是要能夠看懂碩件 的電路圖和自行完成cpld的邏輯設(shè)計(jì)的,同時(shí)還要對操
5、作系統(tǒng)內(nèi)核及其調(diào)度性相當(dāng)?shù)氖煜さ?。但碩件平臺(tái)是基礎(chǔ),增值還要靠軟件。硬件層比較適合于,電子、通信、自動(dòng)化、機(jī)電一休、信息工程類專業(yè)的人來搞,需要掌握的專業(yè)基礎(chǔ)知識冇,單片機(jī)原理及接口技術(shù)、微機(jī)原理及接口技術(shù)、c語言。2、驅(qū)動(dòng)層,這部分比較難,驅(qū)動(dòng)工程師不僅要能看懂電路圖還要能對操 作系統(tǒng)內(nèi)核i分的精通,以便其所寫的驅(qū)動(dòng)程序在系統(tǒng)調(diào)用時(shí),不會(huì)獨(dú)占操 作系統(tǒng)時(shí)間片,而導(dǎo)至其它任務(wù)不能動(dòng)行,不懂操作系統(tǒng)內(nèi)核架構(gòu)和實(shí)時(shí)調(diào) 度性,沒有良好的驅(qū)動(dòng)編寫風(fēng)格,按大多數(shù)書上所說添加的驅(qū)動(dòng)的方式,很 多人都能做到,但可能連個(gè)初級的驅(qū)動(dòng)工程師的水平都達(dá)不到,這樣所寫的 驅(qū)動(dòng)在應(yīng)用調(diào)用時(shí)就如同windows下我們打開
6、一個(gè)程序運(yùn)行后,再打開一個(gè) 程序時(shí),要不就是中斷以前的程序,要不就是等上一會(huì)才能運(yùn)行后來打開的 程序。想做個(gè)好的驅(qū)動(dòng)人員沒有三、四年功底,操作系統(tǒng)內(nèi)核不研究上幾編,不是太容易成功的,但其工資在嵌入式系統(tǒng)四層中可是最高的。驅(qū)動(dòng)層比較適合于電子、通信、自動(dòng)化、機(jī)電一體、信息工程類專業(yè)尤其是計(jì)算機(jī)偏體系結(jié)構(gòu)類專業(yè)的人來搞,除硬件層所具備的基礎(chǔ)學(xué)科外,還要對數(shù)據(jù)結(jié)構(gòu)與算法、操作系統(tǒng)原理、編譯原理都要i分精通了解。3、操作系統(tǒng)層,對于操作系統(tǒng)層口前可能只能說是簡單的移植,而很少有人來口已寫操作系統(tǒng),或者寫出缺胳膊少腿的操作系統(tǒng)來,這部分工作大都由驅(qū)動(dòng)工程師來完成。操作系統(tǒng)是負(fù)責(zé)系統(tǒng)任務(wù)的調(diào)試、磁盤和文件
7、的管理,而嵌入式系統(tǒng)的實(shí)時(shí)性十分重耍。據(jù)說,xp操作系統(tǒng)是微軟投入300人用兩年時(shí)間才搞定的,總時(shí)工時(shí)是600人年,小科院軟件所自己的女姻hopcn操作系統(tǒng)估計(jì)也得花遇幾百人年才能搞定。因此這部分工作相對來講沒有太大意義。4、應(yīng)用層,相對來講較為容易的,如果會(huì)在windows下如何進(jìn)行編程接口函數(shù)調(diào)用,到操作系統(tǒng)下只是編譯和開發(fā)環(huán)境冇相應(yīng)的變化而已。如果涉及jave方面的編程也是如此的。嵌入式系統(tǒng)屮涉及算法的由專業(yè)算法的人來處理的,不必歸結(jié)到嵌入式系統(tǒng)范疇內(nèi)。但如果涉及嵌入式系統(tǒng)下而嵌入式數(shù)據(jù)庫、基于嵌入式系統(tǒng)的網(wǎng)絡(luò)編程和基于某此應(yīng)用層面的協(xié)議應(yīng)用開發(fā)(比如基于sip、h. 323、astri
8、sk)方面又較為復(fù)雜,并且有難度了。三、目標(biāo)與定位。先冇目標(biāo),再去定位。學(xué)arm,從碩件上講,一方而就是學(xué)習(xí)接口電路設(shè)計(jì),另一方而就是學(xué)習(xí)匯編和c語言的板級編程。如果從軟件上講,就是要學(xué)習(xí)基于arm處理器的操作系統(tǒng)層而的驅(qū)動(dòng)、移植了。這些對于初學(xué)都來說必須明確,要么從硬件著手開始學(xué),要么從操作系統(tǒng)的熟悉到應(yīng)用開始學(xué),但不管學(xué)什么,只要不是純的操作系統(tǒng)級以上基于api的應(yīng)用層的編程,碩件的寄存器類的東西還是要能看懂的,基于板級的匯編和c編程還是要會(huì)的。因此針對于嵌入式系統(tǒng)的硬件層和驅(qū)動(dòng)程的人,arm的接口電路設(shè)計(jì)、arm的c語言和匯編語言編程及調(diào)試開發(fā)環(huán)境述是需要掌握的。因此對于初學(xué)者必然要把握
9、住方向,口己的目標(biāo)是什么,口己要在那一層而上走。然后再著手學(xué)習(xí)較好,與arm相關(guān)的嵌入式系統(tǒng)的較為實(shí)際的兩個(gè)層面硬件層和驅(qū)動(dòng)層,不管學(xué)好了那一層都會(huì)很有前途的。如果想從嵌入式系統(tǒng)的應(yīng)用層而的走的話,可能與arm及其它體系相去較遠(yuǎn),耍著重研究基嵌入式操作系統(tǒng)的環(huán)境應(yīng)用與相應(yīng)開發(fā)工具鏈,比如wince操作系統(tǒng)下的evc應(yīng)用開發(fā)(與windows f的vc相類似),如果想再有突破就往某些咅視頻類的協(xié)議上靠,比如voip領(lǐng)域的基于sip或ii. 323協(xié)議的應(yīng)用層開發(fā),或是基于嵌入式網(wǎng)絡(luò)數(shù)據(jù)庫的開發(fā)等等。對于初學(xué)者來講,要量力而行,不要認(rèn)為驅(qū)動(dòng)層工資高就把它當(dāng)成方向t,要結(jié)合口身特點(diǎn),嵌入式系統(tǒng)四個(gè)層
10、面上那個(gè)層面上來講都是有高人存在,當(dāng)然高人也對應(yīng)的高工資,我是做硬件層的,以前每月工資小個(gè)人所得稅要被扣上近3千大元,當(dāng)然我一方面充當(dāng)工程師的角色,一方面充當(dāng)主管及人物的角色,兩個(gè)職位我一個(gè)人干,但上班時(shí)間就那些。硬件這方而上可能與我pk的人很少了,才讓我拿到那么多的工資。四、開發(fā)系統(tǒng)選擇。很多arm初學(xué)者都希望有一套口己能用的系統(tǒng),但他們住住會(huì)產(chǎn)生一種錯(cuò)謀認(rèn)識就是認(rèn)為處理器版本越高、性能越高越好,就彖很多人認(rèn)為arm9與arm7好,我想對于初學(xué)者在此方而以此入門還應(yīng)該理智,開發(fā)系統(tǒng)的選擇最 終要看自己往嵌入式系統(tǒng)的那個(gè)方向上走,是做驅(qū)動(dòng)開發(fā)還是應(yīng)用,還是做 嵌入式系統(tǒng)碩件層設(shè)計(jì)與板級測試。如
11、果想從操作系統(tǒng)層而或應(yīng)用層而上走, 不管是驅(qū)動(dòng)還是應(yīng)用,那當(dāng)然處理器性能越高越好了,但這個(gè)東西自學(xué),有 十分大的困難,不是幾個(gè)月或半年或是一年二年能搞定的事。在某種意義上請,arm7與9的差別就是在某些功能指令集上豐富了些,主頻提高一些而已,就比如286和386。對于用戶來講可能覺查不到什么,只能是感覺速度冇些快而已。arm7比較適合于那些想從硬件層面上走的人,因?yàn)閍rm7系列處理器內(nèi) 部帶mmu的很少,而月上匕較好控制,就比如s3c44b0來講,可以很容易將cache 關(guān)了,而且內(nèi)部接口寄存器很容易看明白,各種接口對于用硬件程序控制或 axd單步命令行指令都可以控制起來,基于51單片機(jī)的思想
12、很容易能把他搞 懂,就當(dāng)成個(gè)32位的單片機(jī),從而消除很多51工程師想轉(zhuǎn)為嵌入式系統(tǒng)硬 件arm開發(fā)工程師的困惑,從而不會(huì)被業(yè)界某此不是真正懂嵌入式爛公司帶 到操作系統(tǒng)層面上去,讓他們槊而失畏,讓業(yè)界更加缺少這方面的人才。而嵌入式系統(tǒng)不管硬件設(shè)計(jì)還是軟件驅(qū)動(dòng)方面都是十分注重接口這部分的,選擇平臺(tái)還要考察一個(gè)處理器的外部資源,你接觸外部資源越多,越熟悉他們那你以后就業(yè)成功的機(jī)率就越高,這就是招碼時(shí)所說的有無“相關(guān)技能”,因?yàn)橐粋€(gè)人不可能在短短幾年內(nèi)把所冇的處理器都接觸一遍,而招聘單位所用的處理器就可能是我們完全沒有見過的,就拿臺(tái)灣數(shù)十家小公司(市價(jià)幾千萬)的公司生產(chǎn)的arm類處理器,也很好用,但這
13、些東苗通用性太差,用這些處理器的公司就只能招有相關(guān)工作經(jīng)驗(yàn)的人了,那什么是相關(guān)工作經(jīng)驗(yàn),在硬件上講的是外圍接口設(shè)計(jì),在軟件上講是操作系統(tǒng)方面相關(guān)接口驅(qū)動(dòng)及應(yīng)用開發(fā)經(jīng)驗(yàn)。我從業(yè)近i 年,2000年arm出現(xiàn),我一天始做arm7,然后直接跑到了 xscalc (這個(gè)板本在arm10-11z間),一做就是五年,招人而試都不下數(shù)百人,在這些方而述是深有體會(huì)的。我個(gè)人認(rèn)為三星的s3c44bo對初學(xué)者來說比較合適,為什么這么說哪?因?yàn)榻涌谫Y源比較豐富,技術(shù)成熟,資料較多,應(yīng)該十分適合于初學(xué)者,有問題可能很容易找人幫且解決,因?yàn)榇蠖鄶?shù)人都很熟悉,就如同51類的單片機(jī),有n多位專家級的人物可以給你幫忙,相關(guān)問
14、題得以很快解答,所然業(yè)界認(rèn)為這款arm都做用得爛了,但對于初學(xué)者來,就卻是件好事。因此開發(fā)系統(tǒng)的選擇,要看口己的未來從來目標(biāo)方向、要看開發(fā)板接口資源、述要看業(yè)界的通用性。五、如何看待培訓(xùn)。首先說說我自己,我口前從業(yè)近十年,與國內(nèi)嵌入式系統(tǒng)行業(yè)共同起步, 一直站在嵌入式系統(tǒng)行業(yè)前沿,設(shè)計(jì)過多款高端嵌入式系統(tǒng)平臺(tái)產(chǎn)品并為眾 多公司提供過解決方案,離職前為從事voip的美資公司設(shè)計(jì)ip-pbx,歷任 項(xiàng)目經(jīng)理、項(xiàng)目主管、技術(shù)總監(jiān)、部門經(jīng)理,積累眾多人脈,并集多年經(jīng)驗(yàn) 所得,考慮到學(xué)生就業(yè)與公司招人的不相匹配,公司想招人招不到,而學(xué)生 和剛畢業(yè)的工程師想找份工作也不太容易,于此力創(chuàng)知天行科技冇限公司,
15、 開展嵌入式系統(tǒng)教育培訓(xùn)。因一線的科研人員和一線的教師不相接觸,導(dǎo)至國內(nèi)嵌入式人才缺乏,國外高校的技術(shù)超前于業(yè)界公司,而國內(nèi)情況是業(yè)界公司方面的嵌入式系統(tǒng)技術(shù)要遠(yuǎn)遠(yuǎn)領(lǐng)先于高校。為架構(gòu)業(yè)界與高校溝通的橋梁,把先進(jìn)技能帶給高校學(xué)子,為學(xué)生在就業(yè)競爭中打造一張王牌,并為業(yè)界工程師快速提升實(shí)現(xiàn)自我創(chuàng)造機(jī)遇,我就這樣辭去了外企年薪20多萬的職位,做嵌入式系統(tǒng)方而的培訓(xùn)了。對于培訓(xùn)來講,是花錢來買時(shí)間,很多工程師都喜歡自己學(xué),認(rèn)為培訓(xùn)不值,這也是有可能的,純?yōu)橘嶅X的培訓(xùn)當(dāng)然不會(huì)太有價(jià)值,但對于實(shí)力型的培訓(xùn)他們可能就虧大了,冇這樣一筆帳不知他們算過沒冇,如果一個(gè)一周的培訓(xùn),能帶給他們自學(xué)兩年后才能掌握的知識
16、,在培訓(xùn)完后他們用三個(gè)丿j到半年時(shí)間消化培訓(xùn)內(nèi)容,這樣他會(huì)省約至少一年半的時(shí)間來學(xué)英它的或重新站在另一個(gè)高度上工作,那么他將最遲一年后會(huì)拿到他兩年后水平所對應(yīng)的工資,就是在工資與水平對應(yīng)的關(guān)系上比同批人縮短一年,每月按最少1千計(jì),再減去培訓(xùn)費(fèi)用至少多10萬,同時(shí)也省了一年時(shí)間,不管是休閑也好,再繼續(xù)捉高也好,總z是跑到了隊(duì)伍的前而了。另一層面上講,對于新人的培訓(xùn)相當(dāng)于他們?yōu)樽约禾崆百I了份失業(yè)保險(xiǎn),冇師傅會(huì)帶領(lǐng)他們?nèi)氲?,我今年暑假時(shí)班里最年輕的一個(gè)學(xué)生是大二的,今年才上大三,這學(xué)期才剛學(xué)單片機(jī),但現(xiàn)在arm方而的編程工作已經(jīng)搞得有聲有色了,再過一年多畢業(yè),他還會(huì)失業(yè)嗎?再者通過培訓(xùn),你可以知道很
17、多業(yè)界不為常人所知的事,同時(shí)也為自己找了個(gè)師傅,就比如說,兩個(gè)工程師分別用s3c2410和pxa255來做手持設(shè)備,同樣兩人都工作四年,再出去找工作,兩人工資可能最多可相差一倍,為什么?這就是業(yè)界不為常人所知的規(guī)則,2410屬于民品,被業(yè)界用爛了,做產(chǎn)品時(shí)成本特敏感,當(dāng)然也對人才成本敏感了,pxa255是intel的東西,一個(gè)255 cpu能買三個(gè)2410, 一直被業(yè)界定義為貴族產(chǎn)品,用的公司都是大公司或?yàn)檐姺椒?wù)的公司,不會(huì)在乎成本,只要把東西做好,一切都好說,但這方面做的人也少啊,因?yàn)殚_發(fā)系統(tǒng)貴啊。對于說為自已找了個(gè)好師傅,我想是這樣的,因?yàn)橥壒こ處熼g存在著 某此潛在的競爭關(guān)系,有很多人
18、不愿意把口己知道的東西教給別人,這意味 著他將要失業(yè),就是所說的教會(huì)徒弟,餓死師傅,但對于我們這些人就不存 在這樣的關(guān)系了,我是在嵌入式系統(tǒng)平臺(tái)設(shè)計(jì)上走到了一定程序,目而在國 內(nèi)這塊的技術(shù)上已經(jīng)是自己很難再突破自己,因此很多東西我對大家都是 open的,就比如說下面那部分關(guān)于接口設(shè)計(jì)中所提到的時(shí)序接口東西,我要 是不講,卻使是高級硬件工程師我想也幾乎只有10%的人能知道吧。六、成為高級嵌入式系統(tǒng)硬件工程師要具備的技能。首先我聲明,我是基于嵌入式系統(tǒng)平臺(tái)級設(shè)計(jì)的,硬件這個(gè)方向我相對來講比較冇發(fā)言權(quán),如果是英它方而所要具備的基本技能還要和我們培訓(xùn)屮心其它專業(yè)級講師溝通,或去網(wǎng)站看看www. zt-
19、training. conio他們的方面上我只能說是知道些,但不是太多,初級的問題也可以問我。對于硬件來講有兒個(gè)方向,就單純信號來分為數(shù)字和模擬,模擬比較難搞,一般需要很長的經(jīng)驗(yàn)積累,單單一個(gè)阻值或容值的精度不夠就可能使信號偏差很大。因此年輕人搞的較少,隨著技術(shù)的發(fā)展,出現(xiàn)了模擬電路數(shù)字化,比如手機(jī)的modem射頻模塊,都釆用成熟的套片,而當(dāng)年國際上只冇兩家公司有此技術(shù),自我感覺模擬功能不太強(qiáng)的人,不太適合搞這個(gè),如果真能搞定到手機(jī)的射頻模塊,只要達(dá)到一般程度可能月薪都在15k以上。另一類就是數(shù)字部分了,在大方向上乂可分為51/arm的單片機(jī)類,dsp類,fpga類,國內(nèi)fpga的工程師大多是
20、在ic設(shè)計(jì)公司從事ip核的前端驗(yàn)證,這部分不搞到門級,前途不太明朗,即使做個(gè)ic前端驗(yàn)證工程師,也要搞上幾年才能勝任。dsp碩件接口比較定型,如果不向驅(qū)動(dòng)或是算法上靠攏,前途也不會(huì)太大。而arm單片機(jī)類的內(nèi)容就較多,業(yè)界產(chǎn)品占用量大,應(yīng)用人群廣,因此就業(yè)空間極大,而碩件設(shè)計(jì)最體現(xiàn)水平和水準(zhǔn)的就是接口設(shè)計(jì)這塊,這是各個(gè)高級硬件工程師相互pk,判定水平高低的依據(jù)。而接口設(shè)計(jì)這塊最關(guān)鍵的是看時(shí)序,而不是簡單的連接,比如pxa255處理器12c要求速度在100kbps,如果把一個(gè)i2c外圍器件,最高還達(dá)不到100kbps的與它相接,必然要導(dǎo)致設(shè)計(jì)的失敗。這樣的情況冇很多,比如51單片機(jī)可以在總線接lc
21、d,但為什么這種lcd就不能掛在arm的總線上,述有arm7總線上可以外接個(gè)winband的si)卡控制器,但為什么這種控制器接不到arm9或是xscalc處理器上,這些都是問題。因此接口并不是一種簡單的連接,要看時(shí)序,要看參數(shù)。一個(gè)優(yōu)秀的硬件工程師應(yīng)該能夠在沒有參考方案的前提卜設(shè)計(jì)出一個(gè)在成本和性能上更加優(yōu)秀的產(chǎn)品,靠現(xiàn)有的方案,也要進(jìn)行適當(dāng)?shù)目尚行圆眉?,但不是胡亂的來,我遇到一個(gè)工程師把方案中的5v變1. 8v的dc芯片,直接更換成ld0,有時(shí)就會(huì)把cpu燒上幾個(gè)。前幾天述有人希望我?guī)兔Π阉麄円郧盎趐xa255平臺(tái)的手持gps設(shè)備做卜程序優(yōu)化,我問了一下情況,地圖是存在sd卡中的,而sd
22、卡與pxa255的mmc控制器間釆用的spi接口,因此導(dǎo)致地圖讀取速度十分的慢,這種情況是設(shè)計(jì)中嚴(yán)重的缺陷,而不是程序的問題,因此我提了幾條建議,讓他們更新試下再說。因此想成為一個(gè)優(yōu)秀的工程師,需要對系統(tǒng)整體性的把握和對已有電路的理解,換句話說,給你套電路圖你終究能看明白多少,看不明白80%以上的話,說明你離優(yōu)秀的工程師還羌得遠(yuǎn)哪。其次是電路的調(diào)試能力和審圖能力,但最最基木的能力述是原理圖設(shè)計(jì)pcb繪制,邏輯設(shè)計(jì)這塊。這是指的硬件設(shè)計(jì)工程師,從上面的硬件設(shè)計(jì)工程師中還可以分出ecad工程師,就是專業(yè)的畫pcb板的工程師,和emc設(shè)計(jì)工程師,幫人家解決emc的問題。硬件工程師再往上就是板級測試工
23、程師,就是c語功底很好的硬件工程師,在電路板調(diào)試過程中能通過h已編寫的測試程序?qū)τ布δ苓M(jìn)行驗(yàn)證。然后再交給基于操作系統(tǒng)級的驅(qū)動(dòng)開發(fā)人員。總z,硬件的內(nèi)容很多很雜,碩件那方而練成了都會(huì)成為一個(gè)高手,我 時(shí)常會(huì)給人家做下方案評估,很多高級硬件工程師設(shè)計(jì)的東西,經(jīng)常被我一 句話否定,因此工程師做到我這種地步,也會(huì)得罪些人,但碩件的確會(huì)冇很 多不為人知的東西,讓很多高級硬件工程師也摸不到頭腦。那么高級硬件件工程師技術(shù)技能都要具備那些東西哪,首先要掌握eda 設(shè)計(jì)的輔助工具類如prote 1 orcadpowperpcbmap 1 ux21se> vdhl語言,要能用 到這些工具畫圖畫板做邏輯設(shè)
24、計(jì),再有就是接口設(shè)計(jì)審圖能力,再者就是調(diào) 試能力,如果能走到總體方案設(shè)計(jì)這塊,那就基本上快成為資深工程師了。碩件是要靠經(jīng)驗(yàn),也要靠積累的,十年磨一劍,百年磨一針。把一個(gè)月前想寫的東西,今天終于用一上午的進(jìn)間整理完了,希望對喜 愛嵌入式系統(tǒng)開發(fā)的工程師和學(xué)生們有所幫助。手把手教你寫程序內(nèi)容:從最簡單的程序入手,手把手教你寫程序,讓同學(xué)們拿到一個(gè)復(fù)雜的程序或者任務(wù), 能快速找到切入點(diǎn),寫出程序,再在此基礎(chǔ)上優(yōu)化程序。當(dāng)拿到一個(gè)單片機(jī)任務(wù)時(shí),不要急 于動(dòng)手寫程序,先仔細(xì)分析它的以下幾個(gè)點(diǎn):1、它要單片機(jī)整體實(shí)現(xiàn)什么功能2、功能細(xì)分(模塊化),先干什么,再干什么,最后干什么3、畫初步流程圖,(把幾個(gè)模
25、塊畫出即可)4、模塊之間的分析:一個(gè)模塊到另一個(gè)模塊之間,怎么變換,怎么連接(優(yōu)化流程圖)5、單個(gè)模塊分析:每個(gè)模塊要做什么(流程圖細(xì)化)6、所有模塊結(jié)合連接,細(xì)化所有流程圖7、分析單個(gè)模塊每步要用到的方法或者指令8、總流程圖定型9、紙上寫程序,對照流程圖分析其可行性,若不可行則返回10、上機(jī)調(diào)試,加注釋以上十步,缺一不可(小程序列外)切記:流程圖的確定很重要,需反復(fù)修改人忌:拿到任務(wù),不仔細(xì)分析就寫程序。即使是小程序,我們也要養(yǎng)成良好的編程習(xí)慣,不 要一味的追求結(jié)果。寫小程序可能比別人快,若是大程序,一旦出現(xiàn)思維混亂,或者出現(xiàn)程 序調(diào)試不出結(jié)果,那么你花在調(diào)試上的時(shí)間,耍比別人的多。 !!辭
26、刀不誤砍柴工! 程序的優(yōu)化:屬于后期工作,只有調(diào)試出來后,才去優(yōu)化,如果一開始優(yōu)化和寫程序同時(shí)進(jìn) 行,一是加重你的思考量,二是出現(xiàn)問題無從下手。無疑增加了寫程序的難度。對于一個(gè)初 學(xué)者,寫一個(gè)程序,本身頭腦就處于緊張的狀態(tài),思考的問題就很多,如果此吋把優(yōu)化程序 也考慮進(jìn)去,你腦袋的負(fù)荷無疑加重,若你頭腦精明,你可以把優(yōu)化的地方,先在紙上記下 來,等到調(diào)試結(jié)杲正常,再把你想到的,優(yōu)化的地方加進(jìn)去。本文原創(chuàng),僅代表我搞單片機(jī)的一些想法,有不妥之處,不承擔(dān)任何責(zé)任。笫一個(gè)問題,講一下初學(xué)者到底學(xué)習(xí)那個(gè)系列單片機(jī)。51、avr、430、arm (包括嵌入操作系統(tǒng))、fpga當(dāng)前單片機(jī) 系統(tǒng)如此豐富,對
27、于新手到底該如何選擇呢?我認(rèn)為最大的誤區(qū),在 于新手普遍的追時(shí)髦心理,急功近利心理,妄想短時(shí)間之內(nèi)學(xué)會(huì) arm,學(xué)會(huì)嵌入操作系統(tǒng)。網(wǎng)上資料、廠家宣傳、培訓(xùn)機(jī)構(gòu)廣告也 對初學(xué)者產(chǎn)生誤導(dǎo),使之誤認(rèn)為arm很容易學(xué)。但是沒有51單片 機(jī)知識作為基礎(chǔ),其他一切都是空中樓閣。必不能達(dá)到預(yù)期效果。51 單片機(jī)作為入門級產(chǎn)品,現(xiàn)在更多的體現(xiàn)在教學(xué)意義上了。雖然大部 分的產(chǎn)品,已經(jīng)淘汰51,使用高級芯片或者增強(qiáng)型51芯片,但是奉 勸初學(xué)者,還是要從底層、基礎(chǔ)、即51開始單片機(jī)的學(xué)習(xí)。學(xué)好、 學(xué)會(huì)、精通51單片機(jī)再學(xué)習(xí)其他單片機(jī)也能很快入門。第二個(gè)問題,學(xué)習(xí)單片機(jī),需要有哪些基礎(chǔ),入門都學(xué)哪些東西。很多初學(xué)者經(jīng)
28、常問,我能學(xué)單片機(jī)嗎?難嗎?我現(xiàn)在什么也不會(huì) ?。窟@里想說幾句,要想學(xué)習(xí)單片機(jī)開發(fā),需要有以下幾方面棊礎(chǔ), 但要求并不是很高,可以在以后的學(xué)習(xí)過程中慢慢學(xué)。1、電路基礎(chǔ):一些數(shù)字電路、模擬電路基礎(chǔ)。畢竟以后要自己設(shè)計(jì) 電路,這些知識是很有用的。2、c語言基礎(chǔ):我個(gè)人比較喜歡c語言開發(fā),相比匯編最大的優(yōu)點(diǎn) 就是移植性要好。學(xué)習(xí)51單片機(jī),c語言編程當(dāng)然需要有些基礎(chǔ)。3、一些單片機(jī)的基礎(chǔ)知識:雖然是初學(xué)者,但是一些基礎(chǔ)理論知識 還是應(yīng)該知道的。4、一些焊接等動(dòng)手能力,這個(gè)要求就不是那么嚴(yán)格了。呵呵。不過 能搭一手漂亮的電路還是挺好的。怎么樣算入門?1、學(xué)會(huì)使用編譯器軟件:就是在編譯器下建立一個(gè)項(xiàng)目
29、,編寫一點(diǎn) 點(diǎn)代碼,生成一個(gè)程序文件。當(dāng)你熟悉這個(gè)流程以后,就變得非常容 易了。不過第一次還是很難實(shí)現(xiàn)的,最好有一個(gè)比較詳細(xì)點(diǎn)的教程。2、學(xué)會(huì)使用下載工具和軟件:把程序燒錄到單片機(jī)里,運(yùn)行起來, 需耍動(dòng)手去操作。3、學(xué)會(huì)使用調(diào)試工具:如有條件,可以學(xué)習(xí)硬件仿真調(diào)試。4、以上可以在學(xué)習(xí)板上實(shí)現(xiàn),不過以后你要學(xué)會(huì)自己設(shè)計(jì)并制作電 路。所以還要學(xué)會(huì)prtel軟件使用。第三個(gè)問題,學(xué)過一段51單片機(jī)了,入門也會(huì)了。以后怎么辦啊?很多初學(xué)者,學(xué)了一款51學(xué)習(xí)板,基礎(chǔ)東西也都會(huì)了,下一步怎 么發(fā)展卻不知道了。下面的一些理論是我的一點(diǎn)不成熟想法,有這樣 困惑的朋友可以參考參考。1、單片機(jī)的平面發(fā)展理論:不斷
30、學(xué)習(xí)同一個(gè)層次、不同結(jié)構(gòu)、不同 品牌的單片機(jī)。學(xué)會(huì)了一個(gè)系列、一個(gè)公司單片機(jī),比如51 (at89s51), 了解的它 的全部內(nèi)部資源。下一步學(xué)習(xí),仍然可以圍繞51進(jìn)行。可以擴(kuò)展到 其它公司的51單片札比如stc、pic因?yàn)樗麄冇泻芏嘣鰪?qiáng)型51單片 機(jī)。功能比普通at89s51強(qiáng)很多。如果可以,接觸更多的同系列的 51單片機(jī)。故終能夠在做產(chǎn)品時(shí),選擇最止確的單片機(jī),對每一種 51單片機(jī)的優(yōu)劣有清晰的判斷。2、單片機(jī)的縱向發(fā)展理論:不斷學(xué)習(xí)高級別的單片機(jī)。在學(xué)會(huì)一個(gè)系列的單片機(jī),繼續(xù)學(xué)習(xí)高級的單片機(jī),比如從51到 avr、到arm。可以學(xué)習(xí)到更多的單片機(jī),接觸到更多的知識。3、單片機(jī)的外圍發(fā)展理論:不斷學(xué)習(xí)單片機(jī)的外圍功能模塊。學(xué)會(huì)一個(gè)系列的單片機(jī)以后,轉(zhuǎn)而研究外圍電路。不論是輸入、輸岀、 通訊、邏輯和計(jì)算。單片機(jī)外圍電路千變?nèi)f化,其功能模塊也千奇百 怪。這樣的模塊學(xué)的越多,對你做產(chǎn)品的好處越大。畢竟所有功能模 塊都是用在單片機(jī)上的,不論是51還是arm都需要有外圍電路才 能實(shí)現(xiàn)功能。4、總結(jié):無論以上那種發(fā)展模式,其最終目的都是單片機(jī)開發(fā),都 是研發(fā)出產(chǎn)品。所以最終的產(chǎn)品才是目標(biāo)。第四個(gè)問題,學(xué)習(xí)要精 還是要多的問題。這個(gè)問題也比較麻煩,很多認(rèn)為搞單片機(jī)要學(xué)那么多東西,還要 軟硬件
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中興績效管理制度
- 中醫(yī)財(cái)務(wù)管理制度
- 中國積分管理制度
- 中型公司管理制度
- 中學(xué)勞技管理制度
- 中學(xué)量化管理制度
- 中建成本管理制度
- 中心員工管理制度
- 中梁體系管理制度
- 中油七建管理制度
- 北師大版八年級上冊數(shù)學(xué)第一章練習(xí)題
- 企業(yè)標(biāo)準(zhǔn)化體系建立課件
- 醫(yī)院護(hù)士辭職申請書集合六篇(護(hù)士崗位辭職申請書)
- 靜脈注射 Microsoft PowerPoint 演示文稿課件
- 同濟(jì)大學(xué)論文答辯通用PPT模板
- AFC檢測技術(shù)規(guī)程
- 部編人教版二年級下學(xué)期數(shù)學(xué)期末學(xué)業(yè)質(zhì)量監(jiān)測復(fù)習(xí)課堂知識練習(xí)題
- 餐飲行業(yè)抖音代運(yùn)營方案
- 《聰明人和傻子和奴才》 課件
- Fleischner指南解讀
- 電廠度電機(jī)維修技術(shù)規(guī)范書正式
評論
0/150
提交評論