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