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