嵌入式系統(tǒng)無疑是當前最熱門最有發(fā)展前途的IT應用領(lǐng)域之一。嵌入式系統(tǒng)用
在一些特定專用設備上,通常這些設備的硬件資源(如處理器、存儲器等)非常有
限,并且對成本很敏感,有時對實時響應要求很高等。特別是隨著消費家電的智能
化,嵌入式更顯重要。像我們平常常見到的手機、PDA、電子字典、可視電話、VCD
/DVD/MP3 Player、數(shù)字相機(DC)、數(shù)字攝像機(DV)、U-Disk、機頂盒(Set Top
Box)、高清電視(HDTV)、游戲機、智能玩具、交換機、路由器、數(shù)控設備或儀表、
汽車電子、家電控制系統(tǒng)、醫(yī)療儀器、航天航空設備等等都是典型的嵌入式系統(tǒng)。
嵌入式系統(tǒng)是軟硬結(jié)合的東西,搞嵌入式開發(fā)的人有兩類。
一類是學電子工程、通信工程等偏硬件專業(yè)出身的人,他們主要是搞硬件設計
,有時要開發(fā)一些與硬件關(guān)系最密切的最底層軟件,如BootLoader、Board Suppor
t Package(像PC的BIOS一樣,往下驅(qū)動硬件,往上支持操作系統(tǒng)),最初級的硬件
驅(qū)動程序等。他們的優(yōu)勢是對硬件原理非常清楚,不足是他們更擅長定義各種硬件
接口,但對復雜軟件系統(tǒng)往往力不從心(例如嵌入式操作系統(tǒng)原理和復雜應用軟件
等)。
另一類是學軟件、計算機專業(yè)出身的人,主要從事嵌入式操作系統(tǒng)和應用軟件
的開發(fā)。如果我們學軟件的人對硬件原理和接口有較好的掌握,我們完全也可寫B(tài)S
P和硬件驅(qū)動程序。嵌入式硬件設計完后,各種功能就全靠軟件來實現(xiàn)了,嵌入式設
備的增值很大程度上取決于嵌入式軟件,這占了嵌入式系統(tǒng)的最主要工作(目前有
很多公司將硬件設計包給了專門的硬件公司,稍復雜的硬件都交給臺灣或國外公司
設計,國內(nèi)的硬件設計力量很弱,很多嵌入式公司自己只負責開發(fā)軟件,因為公司
都知道,嵌入式產(chǎn)品的差異很大程度在軟件上,在軟件方面是最有“花頭“可做的
。,所以我們搞軟件的人完全不用擔心我們在嵌入式市場上的用武之地,越是智能
設備越是復雜系統(tǒng),軟件越起關(guān)鍵作用,而且這是目前的趨勢。
從事嵌入式軟件開發(fā)的好處是:
(1) 目前國內(nèi)外這方面的人都很稀缺。一方面,是因為這一領(lǐng)域入門門檻較高
,不僅要懂較底層軟件(例如操作系統(tǒng)級、驅(qū)動程序級軟件),對軟件專業(yè)水平要
求較高(嵌入式系統(tǒng)對軟件設計的時間和空間效率要求較高),而且必須懂得硬件
的工作原理,所以非專業(yè)IT人員很難切入這一領(lǐng)域;另一方面,是因為這一領(lǐng)域較
新,目前發(fā)展太快,很多軟硬件技術(shù)出現(xiàn)時間不長或正在出現(xiàn)(如ARM處理器、嵌入
式操作系統(tǒng)、MPEG技術(shù)、無線通信協(xié)議等),掌握這些新技術(shù)的人當然很找。嵌入
式人才稀缺,身價自然就高,越有經(jīng)驗價格就越高。其實嵌入式人才稀少,根本原因
可能是大多數(shù)人無條件接觸,這需要相應的嵌入式開發(fā)板和軟件,另外需要有經(jīng)驗的
人進行指導開發(fā)流程。
(2) 與企業(yè)計算等應用軟件不同,嵌入式領(lǐng)域人才的工作強度通常低一些(
但收入不低)。搞企業(yè)應用軟件的IT企業(yè),這個用戶的系統(tǒng)搞完了,又得去搞下一
個用戶的,而且每個用戶的需求和完成時間都得按客戶要求改變,往往疲于奔命,
重復勞動。相比而言,搞嵌入式系統(tǒng)的公司,都有自己的產(chǎn)品計劃,按自己的節(jié)奏
行事。所開發(fā)的產(chǎn)品通常是通用的,不會因客戶的不同而修改。一個產(chǎn)品型號開發(fā)
完了,往往有較長一段空閑時間(或只是對軟件進行一些小修補),有時間進行充
電和休整。另外,從事嵌入式軟件的每個人工作范圍相對狹窄,所涉及的專業(yè)技術(shù)
范圍就是那些(ARM、RTOS、MPEG、802.11等),時間長了這些東西會越搞越有經(jīng)驗
,賣賣老本,幾句指導也夠讓那些初入道者琢磨半年的。若搞應用軟件,可能下一
個客戶要換成一個完全不同的軟件開發(fā)平臺,那就苦了。
(3) 哪天若想創(chuàng)業(yè),搞自已的產(chǎn)品,那么嵌入式是一個不錯的主意,這可不
像應用軟件那樣容易被盜版。土木學院有一個叫啟明星的公司開發(fā)出一個好象叫“
工程e”的掌上PDA(南校區(qū)門口有廣告),施工技術(shù)人員用該PDA可當場進行土木概
預算和其它土木計算,據(jù)說銷路特好。我認識的某大學老師,他開發(fā)的飯館用的點
菜PDA(WinCE平臺,可無線連網(wǎng)和上網(wǎng)),據(jù)他說銷路不錯,飯館點點PDA讓客戶點
菜,多顯派頭檔次。我記得00級2+2班當年有一組同學在學Windows程序設計課程時
用VC++設計了一個功能很強的點菜系統(tǒng)做為課程項目,當時真想建議他們將這個軟
件做成PDA,估計會有些銷路(上;疖囌灸蠌V場的Macdonald便使用很漂亮的PDA給
用戶點食品,像摸像樣的)。這些PDA的硬件設計一般都是請其它公司給訂做(這叫
“貼牌”:OEM),都是通用的硬件,我們只管設計軟件就變成自己的產(chǎn)品了。
從事嵌入式軟件開發(fā)的缺點是:
(1) 入門起點較高,所用到的技術(shù)往往都有一定難度,若軟硬件基礎不好,
特別是操作系統(tǒng)級軟件功底不深,則可能不適于此行。
(2) 這方面的企業(yè)數(shù)量要遠少于企業(yè)計算類企業(yè)。特別是從事嵌入式的小企
業(yè)數(shù)量較多(小企業(yè)要搞自己的產(chǎn)品創(chuàng)業(yè)),知名大公司較少(搞嵌入式的大公司
主要有Intel、Motorola、TI、Philip、Samsung、Sony、Futjtum、Bell-Alcatel、
意法半導體、Microtek、研華、華為、中興通信、上廣電等制造類企業(yè))。這些企
業(yè)的習慣思維方式是到電子、通信等偏硬專業(yè)找人。由于我院以前畢業(yè)生以企業(yè)計
算為主,所以我院與這些企業(yè)聯(lián)系相對較少。我院正積極努力,目前已與其中部分
公司建立了聯(lián)系,爭取今后能有我院同學到這些企業(yè)中實習或就業(yè)。
。3)有少數(shù)公司經(jīng)常要碩士以上的人搞嵌入式,主要是基于嵌入式的難度。但大多
數(shù)公司也并無此要求,只要有經(jīng)驗即可。
我院同學若學習嵌入式,顯然應偏重于嵌入式軟件,特別是嵌入式操作系統(tǒng)方
面,應是我們的強項。對于搞嵌入式軟件的人,最重要的技術(shù)顯然是(實際上很多
公司的招聘廣告上就是這樣寫的):
(1) 掌握主流嵌入式微處理器的結(jié)構(gòu)與原理
(2) 必須掌握一個嵌入式操作系統(tǒng)
(3) 必須熟悉嵌入式軟件開發(fā)流程并至少做過一個嵌入式軟件項目。
嵌入式軟件方面最重要的課程包括:
(1) 嵌入式微處理器結(jié)構(gòu)與應用:這是一門嵌入式硬件基礎課程,我院用這
門課取代了傳統(tǒng)的“微機原理與接口”課程(目前國內(nèi)已有少部分高校IT專業(yè)這樣
做了,因為講x86微機原理與接口很難找到實際用處,只為教學而已)。我們說過,
嵌入式是軟硬件結(jié)合的技術(shù),搞嵌入式軟件的人應對ARM處理器工作原理和接口技術(shù)
有充分了解,包括ARM的匯編指令系統(tǒng)。若不了解處理器原理,怎么能控制硬件工作
,怎么能寫出節(jié)省內(nèi)存又運行高速的最優(yōu)代碼(嵌入式軟件設計>
|