32位嵌入式系統——IT從業(yè)人員的機遇與挑戰
近幾年來(lái),隨著(zhù)人們對嵌入式設備越來(lái)越高的應用需求,以32位嵌入式微處理器和嵌入式操作系統為核心的嵌入式技術(shù)逐漸深入到各個(gè)應用領(lǐng)域,雖然以8位機為核心的嵌入式技術(shù)也在不斷的發(fā)展,但由于其體系架構的局限性,已無(wú)法滿(mǎn)足當前和未來(lái)高性能嵌入式系統的應用與發(fā)展需求。同時(shí),激烈的市場(chǎng)競爭和技術(shù)競爭,要求產(chǎn)品的開(kāi)發(fā)周期越來(lái)越短,顯然,傳統的嵌入式軟、硬件技術(shù)和開(kāi)發(fā)手段已遠遠落后于時(shí)代的需求。
1、我國嵌入式技術(shù)及應用現狀
自上個(gè)世紀七十年代提出嵌入式系統的概念以來(lái),嵌入式系統以其高性能、低功耗、低成本和小體積等優(yōu)勢,獲得了飛速的發(fā)展與廣泛的應用,然而,由于受到當時(shí)硬件水平的制約,嵌入式系統的軟件開(kāi)發(fā)方式與以PC為代表的通用計算機系統的軟件開(kāi)發(fā)方式一開(kāi)始就完全不同。當時(shí)的嵌入式系統硬件平臺一般都是基于8位機的簡(jiǎn)單系統,系統的硬件設計者通常也是系統的軟件開(kāi)發(fā)者,編程語(yǔ)言絕大多數也以匯編語(yǔ)言為主,硬件設計者在進(jìn)行硬件系統的設計時(shí),同時(shí)會(huì )考慮程序如何編寫(xiě),而在進(jìn)行程序設計時(shí),也會(huì )考慮與硬件的配合,因此,嵌入式系統的設計開(kāi)發(fā)人員一般都非常了解系統的底層軟、硬件細節。由于軟、硬件條件的制約,這些系統一般都用于實(shí)現一個(gè)或幾個(gè)簡(jiǎn)單的數據采集與控制功能,程序結構多使用簡(jiǎn)單的控制循環(huán),配合中斷服務(wù)來(lái)實(shí)現對外界請求的相應,不采用操作系統,所以,他們對通用計算機基于操作系統的軟件開(kāi)發(fā)工具和技術(shù)的理解與掌握比較有限。而與此同時(shí),另一大批人則對以Microsoft Windows、Linux為代表的操作系統技術(shù)深深著(zhù)迷,醉心于在這些操作系統上的應用程序開(kāi)發(fā),他們感興趣的東西是如何使用諸如VB、VC、Java之類(lèi)的高級編程語(yǔ)言,在操作系統平臺上實(shí)現更復雜和更精彩的應用,而不太關(guān)心系統的更多的硬件細節。傳統的觀(guān)點(diǎn)一般將前者歸類(lèi)為硬件開(kāi)發(fā)人員,而后者通常被稱(chēng)之為軟件程序員。這兩大群體在很長(cháng)一段時(shí)間幾乎也是井水不犯河水,各自有著(zhù)不同的開(kāi)發(fā)應用領(lǐng)域。
然而,隨著(zhù)計算機軟、硬件技術(shù)的飛速發(fā)展和人們的應用需求越來(lái)越高,特別是隨著(zhù)以ARM、PowerPC、MIPS等為代表的高性能嵌入式微處理器普遍使用,使傳統意義上的嵌入式系統的概念發(fā)生了很大的變化。以基于8位機的嵌入式系統為例,當應用系統隨著(zhù)需求的增加變得越來(lái)越復雜、使用范圍變得越來(lái)越廣泛時(shí),系統每增加一項新的功能,都會(huì )帶來(lái)應用軟件結構的變化,甚至需要完全重新設計,而這種問(wèn)題在基于操作系統的通用計算機上就小得多,顯然,沒(méi)有操作系統的支持已經(jīng)成為傳統的嵌入式系統的最大的缺陷,但由于8位機系統有限的運算能力和存儲容量,不足以支持操作系統的運行,因此,在很長(cháng)一段時(shí)間以來(lái),人們盡管已經(jīng)意識到這個(gè)問(wèn)題的存在,但也沒(méi)有更好的解決辦法。
自上個(gè)世紀九十年代以來(lái),嵌入式系統的設計提出了“片上系統”(SoC,System on Chip)的概念,目前,嵌入式系統的硬件設計已進(jìn)入以SoC為核心的階段,顯然,SoC為高性能的嵌入式系統開(kāi)發(fā)的提供了功能豐富的硬件平臺,而這些平臺強大的運算能力和存儲能力,足以支持復雜嵌入式操作系統(EOS,Embedded Operating Systems)的運行。
嵌入式操作系統的發(fā)展是伴隨的嵌入式微處理器性能的不斷提高而逐漸發(fā)展起來(lái)的,最近幾年來(lái),嵌入式操作系統的應用領(lǐng)域不斷擴大,其原因主要是嵌入式系統軟件開(kāi)發(fā)復雜度的增加,同時(shí),高性能的嵌入式微處理器的推廣使用,為嵌入式操作系統的可靠運行提供了硬件平臺的保障。目前,在嵌入式系統中使用的操作系統種類(lèi)也非常繁多,其中,市場(chǎng)份額占有比較高的有Linux/uClinux、Windows CE、VxWorks、QNX、 uC/OS II等。嵌入式系統主要可分為兩大類(lèi),一類(lèi)是商業(yè)級的嵌入式操作系統,這類(lèi)操作系統一般都經(jīng)過(guò)較長(cháng)時(shí)間的使用,且都由一些大公司開(kāi)發(fā)與維護,在性能或服務(wù)上都有較好的保證,如Windows CE、VxWorks、QNX等,但這類(lèi)操作系統一般價(jià)格比較昂貴,且都不公開(kāi)核心代碼,這就與嵌入式系統用戶(hù)定制性較強、升級換代快等特點(diǎn)相違背,因此其應用范圍受到了很大的限制。另一類(lèi)則是源代碼開(kāi)放的嵌入式操作系統,如Linux/uClinux、uC/OSII等,盡管這類(lèi)系統在技術(shù)支持和服務(wù)上有所欠缺,且對開(kāi)發(fā)人員有較高的要求,但由于用戶(hù)可定制性好、具有可持續開(kāi)發(fā)的優(yōu)勢,從目前看來(lái),其應用范圍反而比商業(yè)嵌入式操作系統廣泛得多。
2、IT從業(yè)人員面臨的機遇與挑戰
隨著(zhù)信息技術(shù)、網(wǎng)絡(luò )通信技術(shù)的高速發(fā)展,嵌入式技術(shù)會(huì )深入到越來(lái)越多的應用領(lǐng)域,與實(shí)際應用緊密結合且技術(shù)高度分散的嵌入式技術(shù),為我們國內一大批優(yōu)秀的硬件系統工程師和軟件設計人員,提供了新的舞臺和發(fā)展空間,同時(shí)也為我國的IT技術(shù)發(fā)展提供了難得的歷史機遇,因此,提高我國整體的嵌入式技術(shù)開(kāi)發(fā)與應用水平,掌握一定的開(kāi)發(fā)核心技術(shù),既是我國IT技術(shù)發(fā)展的需要,也是廣大IT從業(yè)人員的責任。
眾所周知,任何一門(mén)技術(shù)的發(fā)展,人才的培養是關(guān)鍵,嵌入式技術(shù)的發(fā)展也不例外。對于我國嵌入式人才的培養,一方面可以充分利用我國的高等教育資源,在工科高校的相關(guān)專(zhuān)業(yè)加強嵌入式系統的教學(xué),為我國嵌入式技術(shù)的發(fā)展提供大量?jì)?yōu)秀的后備人才,而另一方面,鑒于目前我國有一大批高素質(zhì)的IT從業(yè)人員,他們通過(guò)一定的培訓和學(xué)習,就可以很快成為嵌入式技術(shù)開(kāi)發(fā)的主力軍。從目前的情況看來(lái),我國IT人員結構不太適合嵌入式技術(shù)發(fā)展的需要,即精通低端8位系統設計開(kāi)發(fā)的應用技術(shù)人才和純粹的軟件編程人員相對過(guò)剩,而真正掌握軟硬、件技術(shù)相結合的高端32位嵌入式系統開(kāi)發(fā)的人才卻比較少,整個(gè)IT從業(yè)人員的結構呈兩端大、中間小的啞鈴結構。
如何在較短的時(shí)間內解決我國高端嵌入式人才缺乏的現狀?筆者認為,比較行之有效的方法是除了加大在工科高校培養嵌入式應用人才的力度以外,更主要的是注重對現有IT從業(yè)人員的轉型,由于他們都有多年的IT從業(yè)經(jīng)驗和較高的專(zhuān)業(yè)素養,很快就可以成為行業(yè)應用的骨干力量。但目前的實(shí)際情況是,絕大多數的IT從業(yè)人員還沒(méi)有認識到轉型的必要性或對自身轉型的是否成功沒(méi)有太大的把握。在筆者所接觸的IT從業(yè)人員中,持此種觀(guān)點(diǎn)的人非常多。
對于傳統的8位機硬件工程師,他們一般都具有較深厚的硬件功底,有豐富的開(kāi)發(fā)與應用經(jīng)驗,對微處理器的結構有比較深入的了解,同時(shí)也具有相當的底層軟件開(kāi)發(fā)技能,他們的這些優(yōu)勢,在32位高端嵌入式系統的設計與開(kāi)發(fā)中也是必須的,因此,對于他們來(lái)說(shuō),轉型所面臨的問(wèn)題,從很大程度上講還不是技術(shù)層面上的,而是他們對嵌入式技術(shù)發(fā)展趨勢的認識問(wèn)題。有相當一部分工程師并不認為在嵌入式系統的設計中,推廣使用32位高性能嵌入式微處理器是必要的,甚至在一些比較復雜的應用中,還堅持使用8位機完成,一片不行用兩片,兩片不行用四片…,導致在以往的嵌入式設備中,復雜的多機系統比比皆是,這樣的系統,無(wú)論是從軟、硬件開(kāi)發(fā)的復雜度、可靠性,還是系統的性?xún)r(jià)比方面考慮,都是不盡如人意的。還有一部分工程師也嘗試將32位高性能嵌入式微處理器應用到自己的設計中,但由于對嵌入式操作系統及應用軟件的開(kāi)發(fā)過(guò)程了解得不夠深入,不太愿意使用嵌入式操作系統,軟件的開(kāi)發(fā)仍然采用傳統的8位機開(kāi)發(fā)模式,顯然,這樣的開(kāi)發(fā)模式不但不利于實(shí)現復雜的應用功能,同時(shí)也沒(méi)有充分發(fā)揮32位高性能嵌入式微處理器的固有優(yōu)點(diǎn),因此,對于傳統的8位機硬件工程師來(lái)說(shuō),設計方式的轉型,從很大程度上是思想的轉型,而跟蹤嵌入式技術(shù)的最新發(fā)展方向,及時(shí)更新自身的知識結構,并不需要花太大的代價(jià)。
而對于傳統的軟件設計人員來(lái)說(shuō),他們一般都具有比較深厚的應用程序開(kāi)發(fā)能力,對軟件開(kāi)發(fā)流程、軟件質(zhì)量保證等,也有較深入的了解,但他們對系統底層硬件結構的認識就相對欠缺,同時(shí),隨著(zhù)高級應用開(kāi)發(fā)工具的不斷發(fā)展,他們幾乎已經(jīng)完全不關(guān)心系統的硬件結構了。然而,眾所周知嵌入式系統是一個(gè)軟、硬件結合非常緊密的應用領(lǐng)域,因此,他們對嵌入式應用系統的軟件開(kāi)發(fā)有一種排斥的心態(tài),對自身是否能進(jìn)行這方面的工作持懷疑態(tài)度。但由于目前基于32位高性能微處理器的嵌入式系統無(wú)論是從運算能力、還是存儲能力,都足以支持一個(gè)復雜現代操作系統的運行,正是操作系統的引入,使得嵌入式系統的應用程序開(kāi)發(fā)與通用計算機平臺的程序開(kāi)發(fā)有很大的相似之處,也給廣大的傳統的軟件設計人員提供了新的舞臺和發(fā)展機遇。但是,嵌入式應用的開(kāi)發(fā)又不完全等同于純粹應用軟件的開(kāi)發(fā),需要和底層硬件聯(lián)系,因此,要求軟件開(kāi)發(fā)人員必須具備一定的硬件知識,對硬件系統的工作原理有大致的了解。以目前廣泛使用的嵌入式操作系統Linux為例,嵌入式Linux的內核與運行于通用計算機平臺的Linux具有完全一致的內核版本,運行于通用平臺Linux上的應用程序,只需要修改與硬件相關(guān)的代碼,就可以直接移植到嵌入式系統中運行。
3、共同努力,促進(jìn)我國嵌入式應用水平提高
筆者多年來(lái)一直從事嵌入式系統的教學(xué)與研究工作,也經(jīng)歷了一個(gè)對嵌入式系統的軟、硬件開(kāi)發(fā)從8位系統到32位系統的認識與轉型過(guò)程,在今后相當長(cháng)的一段時(shí)間內,我國的高端嵌入式應用人才還會(huì )比較缺乏,因此,如何讓目前的一部分IT從業(yè)人員、特別是軟件開(kāi)發(fā)人員向嵌入式應用領(lǐng)域轉型,具有重大的意義。
讓我們共同努力,促進(jìn)我國嵌入式應用與開(kāi)發(fā)水平的提高。
評論