摘 要:嵌入式軟件技術(shù)是一種常用的計(jì)算機(jī)技術(shù),并且已經(jīng)在社會經(jīng)濟(jì)發(fā)展中的生產(chǎn)生活領(lǐng)域得到了十分普遍的應(yīng)用。不論是航空航天、軍事國防,還是醫(yī)療衛(wèi)生、電子通訊等,嵌入式軟件技術(shù)隨處可見。就目前嵌入式軟件的發(fā)展情況來看,其擁有速度快、軟件代碼規(guī)模小等優(yōu)勢,在未來的智能化領(lǐng)域中擁有十分廣闊的發(fā)展前景?,F(xiàn)文章主要針對嵌入式軟件的現(xiàn)狀與發(fā)展趨勢進(jìn)行研究,以期充分發(fā)揮嵌入式軟件技術(shù)對生產(chǎn)生活的貢獻(xiàn)。
關(guān)鍵詞:嵌入式軟件;發(fā)展現(xiàn)狀;發(fā)展趨勢
在計(jì)算機(jī)技術(shù)快速發(fā)展的現(xiàn)代化社會中,單一的計(jì)算機(jī)設(shè)備已經(jīng)難以滿足人們的生活與生產(chǎn)需求,人們開始對各種類型的嵌入式軟件提出了新的要求。在日常生活中,嵌入式軟件隨處可見。網(wǎng)絡(luò)電視、智能家電、汽車電子控制、全球定位導(dǎo)航系統(tǒng)、智能手機(jī)、智能游戲機(jī)等等都是應(yīng)用嵌入式軟件的產(chǎn)品。人們的日常生活已經(jīng)離不開嵌入式軟件技術(shù),嵌入式軟件的發(fā)展方向?qū)蔀槲磥砩a(chǎn)生活的關(guān)鍵。因此,針對嵌入式軟件的現(xiàn)狀與發(fā)展趨勢進(jìn)行研究對于嵌入式軟件技術(shù)的發(fā)展進(jìn)步有著十分重要的實(shí)際意義。
1 嵌入式軟件
軟件是為了滿足使用需求而設(shè)計(jì)開發(fā)的程序、文件與相關(guān)技術(shù)。從分類的角度來看,軟件可以分為系統(tǒng)軟件與應(yīng)用軟件,從應(yīng)用范圍來分可以分為數(shù)據(jù)庫軟件、嵌入式軟件等。從計(jì)算理論來看,一般軟件可以看作是一組過程化的數(shù)學(xué)函數(shù),函數(shù)輸入數(shù)據(jù)隱射輸出數(shù)據(jù)。而嵌入式軟件同樣也是數(shù)學(xué)函數(shù),但是其于嵌入式軟件的主要作用并非轉(zhuǎn)化數(shù)據(jù),而是與物理領(lǐng)域進(jìn)行聯(lián)通。簡單的說,就是利用相關(guān)技術(shù)將操作系統(tǒng)或者其他開發(fā)軟件嵌入到硬件之中。
1.1 嵌入式軟件的分類
嵌入式操作系統(tǒng)。嵌入式操作系統(tǒng)EOS(Embedded Operating System)是一種運(yùn)用十分普及的系統(tǒng)軟件。以往該操作系統(tǒng)更多的是被用于工業(yè)生產(chǎn)以及國防管理控制領(lǐng)域當(dāng)中。嵌入式操作系統(tǒng)需要完成嵌入系統(tǒng)中所有的硬件、軟件的調(diào)度、調(diào)整、控制與協(xié)調(diào)工作。嵌入式操作系統(tǒng)必須要充分體現(xiàn)系統(tǒng)的特點(diǎn),通過安裝與卸載模塊的操作來完成系統(tǒng)的功能。一般來說,嵌入式操作系統(tǒng)主要在商業(yè)運(yùn)作中應(yīng)用更為合適。20世紀(jì)80年代開始,商業(yè)化的嵌入式操作系統(tǒng)就得到繁榮的發(fā)展。目前,全球主要的嵌入式操作系統(tǒng)有Windows CE、Palm OS、Linux、VxWorks等等[1]。其中在我國得到了普及應(yīng)用的軟件有WindRiver、Microsoft、QNX。相對于國外來說,我國嵌入式操作系統(tǒng)的發(fā)展起步時間較晚,與國外還存在一定的距離。國內(nèi)該類型產(chǎn)品主要是在自主版權(quán)的Linux操作系統(tǒng)上實(shí)現(xiàn)的,使用較為普及的有紅旗Linux、東方Linux等。
嵌入式支撐軟件。嵌入式支撐軟件的功能是輔助軟件開發(fā)行為,為軟件開發(fā)提供一定的幫助與支持。嵌入式支撐軟件一般涵蓋數(shù)據(jù)庫、常用開發(fā)工具等。其中,數(shù)據(jù)庫是十分關(guān)鍵的。目前,嵌入式數(shù)據(jù)庫技術(shù)的應(yīng)用已經(jīng)十分普及。同時,伴隨著移動互聯(lián)網(wǎng)技術(shù)的成熟,人們對移動數(shù)據(jù)的需求與要求也逐漸提高。嵌入式數(shù)據(jù)庫技術(shù)已經(jīng)在工業(yè)生產(chǎn)、軍事部門等得到了重視。而嵌入式移動數(shù)據(jù)庫則是用于輔助計(jì)算的數(shù)據(jù)庫管理系統(tǒng)。嵌入在移動設(shè)備中的數(shù)據(jù)庫系統(tǒng)牽涉到數(shù)據(jù)庫技術(shù)、分布式計(jì)算技術(shù)、通訊技術(shù)等不同技術(shù)領(lǐng)域,并且就當(dāng)前發(fā)展現(xiàn)狀來看已經(jīng)成為了一個研究氛圍濃厚,活躍進(jìn)步的領(lǐng)域[2]。
嵌入式應(yīng)用軟件。嵌入式應(yīng)用軟件是針對某一特定領(lǐng)域而形成的,基于某一特定硬件平臺的軟件,其能夠?qū)崿F(xiàn)用戶的與其目標(biāo)。鑒于用戶任務(wù)在時間與其他細(xì)節(jié)上的要求,因此部分嵌入式應(yīng)用軟件在應(yīng)用過程中需要指定的嵌入式操作系統(tǒng)。嵌入式應(yīng)用軟件相對于普通軟件來說有著十分顯著的區(qū)別,其不單單對精確性、穩(wěn)定性、安全性等方面有著更高的要求,同時還要盡可能的進(jìn)行優(yōu)化處理,從而減少對系統(tǒng)資源的占用,降低硬件的投入成本。目前,市場上已經(jīng)存在各種類型的嵌入式應(yīng)用軟件,常用的嵌入式軟件有瀏覽器、辦公處理軟件、多媒體軟件、人機(jī)控制軟件等等。在嵌入式系統(tǒng)中應(yīng)用軟件是最為活躍、最為積極的類型,每一款應(yīng)用軟件都擁有其指定的背景,雖然規(guī)模較小,但是技術(shù)含量高,因此嵌入式應(yīng)用軟件并沒有與操作系統(tǒng)與支撐軟件一樣被國外產(chǎn)品壟斷,而是擁有十分廣闊的發(fā)展前景。因此,嵌入式應(yīng)用軟件是我國嵌入式軟件的絕對優(yōu)勢領(lǐng)域。
1.2 嵌入式軟件開發(fā)的特點(diǎn)
相對于一般計(jì)算機(jī)軟件來說,嵌入式軟件開發(fā)存在一定的特殊性,主要體現(xiàn)在:第一,開發(fā)規(guī)模較小,難度較大。普通的嵌入式軟件規(guī)模相對較小,大部分都在若干MB以內(nèi)。雖然軟件規(guī)模不大,但是開發(fā)難度卻較大。在桌面機(jī)上完成開發(fā),在目標(biāo)機(jī)上順利運(yùn)行。嵌入式軟件開發(fā)需要涵蓋板級初始化程序、驅(qū)動程序、應(yīng)用程序以及測試程度等等。通常都是牽涉到低層軟件的開發(fā)[3]?;谶@一需求,嵌入式軟件的開發(fā)難度較大,在開發(fā)過程中需要使用各種來寫的開發(fā)技術(shù)與開發(fā)工具來完成。第二,快速啟動,立即運(yùn)行。在通電后若干秒內(nèi)就需要進(jìn)入正常的工作環(huán)境。所以大部分的嵌入式軟件往往都已經(jīng)被實(shí)現(xiàn)固化帶NorFlash等快速啟動的主存當(dāng)中,在通電后即可以立即運(yùn)行。或者直接動NorFlash調(diào)入內(nèi)存后直接進(jìn)行運(yùn)行。或者直接被存儲在計(jì)算機(jī)電子盤中,在通電后即可快速調(diào)入至RAM的運(yùn)行當(dāng)中。第三,實(shí)時性與可靠性要求高。嵌入式軟件不論當(dāng)前系統(tǒng)內(nèi)部狀態(tài)情況如何在遇到外部事件時需要快速做出反應(yīng)。同時,還需要處理一異步并發(fā)事件的能力以及處理出錯以及自動復(fù)位的功能。使用容錯、出錯處理手段,在軟件運(yùn)行出現(xiàn)錯誤或死機(jī)的時候可以自動恢復(fù)到原先的正常運(yùn)行狀態(tài)。第四,程序一體化。嵌入式軟件是一種一體化程度,是基于應(yīng)用程序與操作系統(tǒng)整合的程序,因此其開發(fā)過程中需要做到程序一體化。
1.3 嵌入式軟件的開發(fā)環(huán)境
在個人計(jì)算機(jī)上運(yùn)行的程序的開發(fā)過程與運(yùn)行環(huán)境大致相同。而嵌入式軟件則是在交叉的開發(fā)環(huán)境下進(jìn)行的,主要目的在于讓軟件開發(fā)過程中更加安全、更加可靠,全面提升開發(fā)的效率與質(zhì)量,降低軟件開發(fā)成本的難度與投入成本。嵌入式軟件的交叉開發(fā)環(huán)境即為用于編譯、鏈接、調(diào)試應(yīng)用程序的代碼環(huán)境與開展運(yùn)行應(yīng)用程序的代碼環(huán)境是不一致的,分別處于不同的設(shè)備裝置上。其中,進(jìn)行編譯、鏈接、調(diào)試環(huán)境的設(shè)備為宿主機(jī),而進(jìn)行應(yīng)用程序代碼運(yùn)行的設(shè)備為目標(biāo)機(jī)。圖1位嵌入式軟件開發(fā)環(huán)境的示意圖。
從嵌入式軟件的開發(fā)手段來看,交叉開發(fā)環(huán)境主要是由宿主機(jī)與目標(biāo)機(jī)一同構(gòu)成的,其兩者之間是基于物理連接基礎(chǔ)而形成的邏輯連接。其中,宿主機(jī)主要是用于開發(fā)嵌入式系統(tǒng)的計(jì)算機(jī),該計(jì)算機(jī)軟件資源十分豐富,不單單擁有十分強(qiáng)大的桌面操作系統(tǒng)以及人機(jī)交互體系,同時還擁有各種類型的開發(fā)工具,以便給編輯、鏈接、調(diào)試、測試等提供強(qiáng)力的支持。目標(biāo)機(jī)主要是所開發(fā)的嵌入式系統(tǒng),即為嵌入式軟件運(yùn)行的工作環(huán)境,通常是不具備任何資源與功能的裸機(jī)。在嵌入式軟件開發(fā)過程中,目標(biāo)機(jī)的功能在于接收以及執(zhí)行宿主機(jī)發(fā)出的各項(xiàng)指令,例如讀取內(nèi)存、寫入內(nèi)存等。然后將最終定價(jià)結(jié)果發(fā)送反饋給宿主機(jī),在旁配合宿主機(jī)開展的各項(xiàng)工作。宿主機(jī)與目標(biāo)機(jī)之間存在著一定的物理連接,即為通過物理線路,經(jīng)過串口與OCD的方式相連接。邏輯連接是指宿主機(jī)與目標(biāo)機(jī)之間通過既定的通信協(xié)議所形成的通信連接[4]。在開發(fā)嵌入式軟件的過程中則必須要以物理連接與邏輯連接為基礎(chǔ)。
1.4 嵌入式軟件開發(fā)過程
(1)嵌入式軟件的形成
嵌入式軟件形成主要是在宿主機(jī)上進(jìn)行的。軟件開發(fā)人員使用各類型工具來對應(yīng)用程序開展編輯、鏈接等工作,以形成可以被調(diào)試或固化的程序。相對于普通軟件開發(fā)過程,嵌入式軟件開發(fā)較為特殊,其交叉編譯器在宿主機(jī)上編譯形成另外一種嵌入式微處理器的二進(jìn)制程序。同時,交叉鏈接器會按照宿主機(jī)上的技術(shù)與手段來對目標(biāo)程序程序的運(yùn)行方式與內(nèi)存定位進(jìn)行選擇,調(diào)整相應(yīng)的信息配置,并且模塊對象與庫文件中的模塊轉(zhuǎn)變成為目標(biāo)程序。
(2)嵌入式軟件的調(diào)試過程
嵌入式軟件在調(diào)試過程中需要使用交叉調(diào)試器,該設(shè)備即為需要調(diào)試的程序以及調(diào)試的程序分別在不同設(shè)備上工作。調(diào)試器根據(jù)實(shí)際情況來使用某一種方式對目標(biāo)機(jī)上的調(diào)式對象進(jìn)行控制,并且對目標(biāo)機(jī)的內(nèi)存、寄存器以及調(diào)試程序?qū)ο筮M(jìn)行核實(shí)與挑戰(zhàn)。在開發(fā)嵌入式軟件過程中,交叉調(diào)試器是使用最為頻繁的工具,往往會占據(jù)軟件開發(fā)時間30%-50%。因此,交叉調(diào)試器的使用功能與效率將會直接影響到嵌入式軟件技術(shù)的開發(fā)的周期以及市場效應(yīng)。
(3)嵌入式軟件的固化運(yùn)行
嵌入式軟件在完成調(diào)試后,程序代碼需要完全被拷貝紙目標(biāo)機(jī)中的非易失性存儲器當(dāng)中,并且在物理硬件環(huán)境上開展運(yùn)行工作。這一過程即為嵌入式軟件的固化處理。因此,計(jì)算機(jī)系統(tǒng)啟動會將數(shù)據(jù)遷移至計(jì)算機(jī)的RAM當(dāng)中,程序代碼將在ROM、Flash Memory 中運(yùn)行。然后固化程序?qū)oot模塊。在真實(shí)的物理目標(biāo)環(huán)境中使得應(yīng)用程序開展工作,實(shí)現(xiàn)對計(jì)算機(jī)中央處理器環(huán)境的初始化。當(dāng)用戶打開目標(biāo)機(jī)時,該應(yīng)用程序即會被自動嵌入運(yùn)行。
1.5 嵌入式軟件的主要開發(fā)技術(shù)
(1)交叉開發(fā)技術(shù)
相對于其他通用軟件開發(fā)來說,嵌入式軟件并不存在自主開發(fā)的能力,在嵌入式軟件開發(fā)過程中需要宿主機(jī)與目標(biāo)機(jī)相互分配任務(wù)。宿主機(jī)的主要任務(wù)是開展編譯、鏈接、定址等過程,而目標(biāo)機(jī)則是嵌入式軟件實(shí)際運(yùn)行的平臺。首先,需要將應(yīng)用程序轉(zhuǎn)變成為可以在目標(biāo)機(jī)上開展工作的二進(jìn)制代碼。這一整體過程需要開展編譯、鏈接以及定址。其中編譯是交由交叉編譯器來實(shí)現(xiàn)。在編譯過程中所形成的目標(biāo)文件將會被鏈接成為指定的目標(biāo)文件,這一過程即為鏈接過程。而定址則是將物理存儲器地質(zhì)指定給目標(biāo)文件相對偏移處。這一過程形成的文件就是能夠在嵌入式平臺中工作的二進(jìn)制文件[5]。
(2)IP構(gòu)件庫技術(shù)
構(gòu)件技術(shù),即為組件技術(shù)。其能夠有效改善軟件威脅,使得軟件工廠化生產(chǎn)起到一定的積極作用。因此,IP構(gòu)件庫技術(shù)在嵌入式軟件開發(fā)中的應(yīng)用已經(jīng)越來越普遍。嵌入式系統(tǒng)實(shí)現(xiàn)的最佳形式是單一的芯片系統(tǒng)(SOC,SystemonChip),而單一芯片系統(tǒng)的核心就是即為IP核(Intelleetual Poperty KernelS)。其中,IP核包括硬件核、軟件核以及固件核。其中,硬件核即為MPU核或DSP核,軟件核則為將單一芯片系統(tǒng)所要求的功能軟件等構(gòu)件標(biāo)準(zhǔn)API方式與IP核構(gòu)件形式調(diào)制成為可以執(zhí)行的代碼單元,推動SOC的嵌入式系統(tǒng)的開發(fā)。當(dāng)前很多嵌入式軟件生產(chǎn)廠家已經(jīng)將成熟RTOS內(nèi)核以及功能擴(kuò)展件通過IP核構(gòu)件的形式賣出。可以看出,正在不斷發(fā)展成熟的IP構(gòu)件軟件技術(shù)在未來的發(fā)展過程中將會為中小型高技術(shù)的軟件公司提供發(fā)展空間。
1.6 嵌入式軟件的應(yīng)用
伴隨著嵌入式技術(shù)的進(jìn)步與成熟,嵌入式系統(tǒng)產(chǎn)品正在普及應(yīng)用至各個行業(yè)當(dāng)中,嵌入式軟件的開發(fā)與應(yīng)用面臨著重大的發(fā)展給予。目前,嵌入式軟件在移動終端、互聯(lián)網(wǎng)、通訊設(shè)備、汽車電子、工業(yè)生產(chǎn)等領(lǐng)域發(fā)揮著不可或缺的重要作用。嵌入式軟件在在消費(fèi)電子領(lǐng)域中的數(shù)字電視、掌上電腦、數(shù)碼相機(jī)、視頻電話等其他家用電器運(yùn)用廣泛。尤其是在數(shù)字電視市場中,我國上千萬用戶的有線電視都是通過嵌入式軟件來實(shí)現(xiàn)的;在通信領(lǐng)域中,嵌入式軟件在移動終端、電話交換系統(tǒng)、電纜系統(tǒng)、全球定位系統(tǒng)等領(lǐng)域運(yùn)用廣泛;在工業(yè)生產(chǎn)領(lǐng)域中,嵌入式軟件在數(shù)控機(jī)床、智能儀器儀表、污水處理系統(tǒng)、電力傳輸系統(tǒng)、石油制造行業(yè)、建筑工程技術(shù)、計(jì)算機(jī)輔助制造系統(tǒng)等領(lǐng)域中運(yùn)用廣泛;在金融商業(yè)行業(yè)中的自動柜員機(jī)、信用卡系統(tǒng)、售貨端系統(tǒng)等方面中運(yùn)用廣泛;在交通行業(yè)中的運(yùn)輸系統(tǒng)、檢票系統(tǒng)、行李檢查系統(tǒng)、汽車電子、交通監(jiān)控系統(tǒng)等方面運(yùn)用廣泛[6]。在上述眾多嵌入式軟件運(yùn)用的領(lǐng)域來看,終端是其運(yùn)用最為廣泛的領(lǐng)域,占據(jù)了嵌入式軟件應(yīng)用的50%以上。尤其是在4G時代,移動終端與智能終端的成熟發(fā)展給嵌入式軟件帶來了十分光明的前景。另外,移動設(shè)備與智能設(shè)備中很多基層功能都是通過嵌入式應(yīng)用軟件來完成的。例如,常用的多媒體、詞典、計(jì)算器等等。
2 嵌入式軟件技術(shù)的發(fā)展趨勢
伴隨著計(jì)算機(jī)技術(shù)與電子技術(shù)的成熟發(fā)展,電子設(shè)備之間的差異性越來越低,怎樣滿足市場需求,使得自己的產(chǎn)品在市場競爭中突圍而出成為了電子設(shè)備生產(chǎn)企業(yè)以及嵌入式系統(tǒng)設(shè)計(jì)面對的重大問題。軟件差異化的優(yōu)勢已經(jīng)逐漸凸顯,傳統(tǒng)3C行業(yè)(Communication, Consumer Electronics, Computer; 通信、消費(fèi)電子、計(jì)算機(jī))、工業(yè)生產(chǎn)領(lǐng)域、汽車生產(chǎn)行業(yè)、醫(yī)療電子商業(yè)、通信行業(yè)等都已經(jīng)普及使用了嵌入式軟件技術(shù)。可以看出,新的一輪嵌入式軟件技術(shù)應(yīng)用熱潮已經(jīng)席卷而來。
2.1 傳統(tǒng)行業(yè)應(yīng)用將繼續(xù)保持主流
從上文的論述已經(jīng)得知,嵌入式軟件技術(shù)即為嵌入硬件中的操作系統(tǒng)以及開發(fā)個工具軟件,其在產(chǎn)業(yè)的中的關(guān)系直接為芯片設(shè)計(jì)與制造——嵌入式系統(tǒng)軟件——嵌入式設(shè)備的開發(fā)與制造。其中,嵌入式系統(tǒng)是一種可以獨(dú)立執(zhí)行操作的計(jì)算機(jī)系統(tǒng),其涵蓋了微處理器、定時器、傳感器等一系列元件與芯片,與已經(jīng)存在于存儲器中的微型操作系統(tǒng)、控制應(yīng)用軟件組合而成,能夠同時實(shí)現(xiàn)實(shí)時控制管理、數(shù)據(jù)處理計(jì)算等自動化工作。嵌入式系統(tǒng)始終圍繞著應(yīng)用,將微電子技術(shù)、計(jì)算機(jī)技術(shù)、控制技術(shù)作為基礎(chǔ),使得軟件硬件一同協(xié)同整合,并且軟件與硬件能夠?qū)崟r調(diào)整,以滿足系統(tǒng)對投入成本、使用功能的需求。最為簡易的嵌入式系統(tǒng)僅僅只能夠完成單一的控制功能,在其中唯一的ROM中實(shí)現(xiàn)單一的控制程序,不具備微型操作系統(tǒng)。復(fù)雜的嵌入式系統(tǒng)。其中包括個人數(shù)字助理、手持電腦等,則可以與個人計(jì)算機(jī)實(shí)現(xiàn)同樣的功能[7]。實(shí)際上嵌入式系統(tǒng)與個人計(jì)算機(jī)本質(zhì)區(qū)別在于微型操作系統(tǒng)以及應(yīng)用軟件嵌入在ROM、RAM存儲器當(dāng)中,并不是存儲在磁盤的存儲載體中。而眾多復(fù)雜式的系統(tǒng)則是由數(shù)個微小嵌入式系統(tǒng)構(gòu)成的。作為嵌入式軟件應(yīng)用最為普遍的領(lǐng)域,3C與工業(yè)生產(chǎn)已經(jīng)離不開嵌入式軟件。在選擇嵌入式系統(tǒng)硬件的過程中則需要針對實(shí)際情況,根據(jù)不同的應(yīng)用任務(wù),充分考慮到成本、體積、可靠性、處理效率等方面。嵌入式系統(tǒng)的關(guān)鍵核心是應(yīng)用軟件以及系統(tǒng)軟件。然而由于存儲空間不足,因此對軟件代碼可靠、安全、緊湊有著較高的要求。值得注意的是,嵌入式多媒體處理軟件在3C終端產(chǎn)品中的應(yīng)用已經(jīng)相對普及,例如智能手機(jī)、路由器、移動游戲設(shè)備等,這些常見的終端產(chǎn)品都能夠通過連接網(wǎng)絡(luò)來實(shí)現(xiàn)語音與視頻通訊,而嵌入式多媒體處理軟件則可以顯著優(yōu)化網(wǎng)絡(luò)狀態(tài),避免網(wǎng)絡(luò)出現(xiàn)丟包、延時、抖動等情況,以便讓用戶獲得更高質(zhì)量的在線服務(wù)。對于嵌入式軟件來說,高級用戶界面與交互功能正在快速發(fā)展,在未來的發(fā)展中伴隨著智能家庭電器的普及以及便攜式設(shè)備的發(fā)展,嵌入式軟件將會給用戶帶來更加新奇、更加豐富的體驗(yàn)。同時,嵌入式軟件技術(shù)為了滿足人們的個性化需求,還會朝著人工智能技術(shù)的方向發(fā)展。人工智能技術(shù)與嵌入式軟件相結(jié)合,可以深入的實(shí)現(xiàn)人機(jī)交互過程,使得嵌入式軟件可以得到更加廣泛的應(yīng)用。智能儀表實(shí)現(xiàn)自動化、自動化溫度控制、自動化壓力控制等等都將為人類的進(jìn)步發(fā)展做出貢獻(xiàn)。
2.2 汽車應(yīng)用擁有巨大的發(fā)展?jié)摿?/p>
在汽車行業(yè)與電子工業(yè)持續(xù)發(fā)展的現(xiàn)代社會,電子技術(shù)在汽車行業(yè)的應(yīng)用愈加廣泛,現(xiàn)代的汽車行業(yè)已經(jīng)邁入計(jì)算機(jī)控制時代。汽車電子可以實(shí)現(xiàn)發(fā)動機(jī)控制、底盤應(yīng)用等各項(xiàng)功能。在汽車電子逐漸朝向網(wǎng)絡(luò)化、智能化、人性化趨勢發(fā)展的過程中,對相關(guān)控制軟件的需求也必然會有所增加,并且有需要進(jìn)一步進(jìn)行計(jì)算機(jī)聯(lián)網(wǎng),需要應(yīng)用各種類型的嵌入式軟件,并且開發(fā)設(shè)計(jì)出能夠通用的高水平語言,以滿足不同硬件的控制需求。嵌入式軟件作為一種可以移植的應(yīng)用技術(shù),在未來的發(fā)展過程中必然將在汽車行業(yè)應(yīng)用上發(fā)揮著不可替代的作用。在電子設(shè)備市場處于爆炸式增長的背景下,汽車電子產(chǎn)業(yè)僅僅只是一個細(xì)分市場。在應(yīng)用嵌入式軟件的情況,汽車必然將朝著智能化發(fā)展,從當(dāng)前的實(shí)現(xiàn)與手機(jī)同步訪問發(fā)展到手機(jī)被置入汽車系統(tǒng)中,以獲取更強(qiáng)大的計(jì)算能力與顯示屏幕[8]。
2.3 為醫(yī)療電子商業(yè)錦上添花
在人們生活質(zhì)量不斷提升的現(xiàn)代化社會,醫(yī)療電子產(chǎn)品的市場正在不斷擴(kuò)大,特別是對于計(jì)算機(jī)斷層掃描、超聲波診斷儀器、磁共振儀器等醫(yī)療影像設(shè)備的需求正在快速增加。相對于同樣的高端產(chǎn)品來說,嵌入式軟件擁有獨(dú)特的優(yōu)勢,其硬件的低功耗以及高效處理能力能夠?yàn)橥茝V產(chǎn)品有著十分重要的積極作用。相對于軟件系統(tǒng)來說,嵌入式軟件不單單可以滿足需求,同時還能夠提供更佳的實(shí)施方案。在未來若干年的發(fā)展過程中,嵌入式軟件必然在醫(yī)療電子領(lǐng)域有著更加深入的應(yīng)用[9]。面對便攜式、智能式醫(yī)療電子設(shè)備帶來的全新發(fā)展機(jī)遇,全球電子醫(yī)療廠商都加大了研究開發(fā)的力度,積極面對半導(dǎo)體技術(shù)帶來的挑戰(zhàn)與發(fā)展機(jī)遇,而軟件供應(yīng)商則相應(yīng)的推出了各類型的產(chǎn)品,以支持半導(dǎo)體廠商的技術(shù),使得嵌入式軟件支持的產(chǎn)品能夠快速的面向市場。醫(yī)療行業(yè)在朝向電子技術(shù)方向發(fā)展過程中需要更加智能、更加可靠的系統(tǒng)提供支持。其中,微軟Windows Embedded系列操作系統(tǒng)如Windows Embedded CE和Windows XP Embedded,在工具中提供了安全穩(wěn)定的架構(gòu)、行業(yè)標(biāo)準(zhǔn)的支持、完善穩(wěn)定的網(wǎng)絡(luò)支持等,為醫(yī)療行業(yè)電子設(shè)備的發(fā)展掃除障礙。在未來醫(yī)療發(fā)展領(lǐng)域中,具有連接選項(xiàng)功能的,更加完善、更加智能的醫(yī)療設(shè)備將會持續(xù)保持增長狀態(tài),醫(yī)療設(shè)備制造廠商將可以使用Windows Embedded技術(shù)來開發(fā)醫(yī)療設(shè)備,其中包括血糖儀、患者監(jiān)護(hù)設(shè)備、超聲波設(shè)備、遠(yuǎn)程診斷、本地診斷設(shè)備等。
2.4 嵌入式軟件發(fā)展面臨挑戰(zhàn)和機(jī)遇
當(dāng)前嵌入式軟件技術(shù)正在面臨著不可規(guī)避的挑戰(zhàn),主要集中在產(chǎn)品的功能要求越來越多,越來越復(fù)雜,開發(fā)周期越來越短。MCU馬上就朝著32位轉(zhuǎn)移,工程師要面臨著操作系統(tǒng)編程的全新挑戰(zhàn)。嵌入式微處理器持續(xù)處于升級優(yōu)化狀態(tài)中,面臨著多核、虛擬技術(shù)的帶來的挑戰(zhàn)。嵌入式操作系統(tǒng)、JAVA語言、中間件、嵌入式操作系統(tǒng)等技術(shù)對嵌入式軟件的開發(fā)、測試與管理都帶來了巨大的挑戰(zhàn)。一般來說,一個嵌入式系統(tǒng)設(shè)備同時通過嵌入式計(jì)算機(jī)系統(tǒng)與執(zhí)行裝置而構(gòu)成的,嵌入式計(jì)算機(jī)系統(tǒng)作為嵌入式系統(tǒng)的核心的架構(gòu)包括硬件層、中間層、系統(tǒng)軟件層以及應(yīng)用軟件層。被控制對象能夠直接接收到嵌入式計(jì)算機(jī)系統(tǒng)所發(fā)出的指令,執(zhí)行相關(guān)的操作與任務(wù)。執(zhí)行裝置的設(shè)計(jì)可以進(jìn)行簡單化處理,例如智能手機(jī)中的微小型點(diǎn)擊,在手機(jī)處于震動狀態(tài)時打開;執(zhí)行裝置的設(shè)計(jì)也可以進(jìn)行復(fù)雜化處理,例如SONY的智能機(jī)器狗上集成組合了多個微、小型的控制點(diǎn)擊與傳感器,能夠執(zhí)行傳達(dá)的各種指令,完成各種動作[10]。
軟件測試也是當(dāng)前嵌入式軟件技術(shù)面臨的重大問題之一。當(dāng)前國際上的嵌入式軟件技術(shù)及其相關(guān)產(chǎn)品相對于國內(nèi)技術(shù)與產(chǎn)品的穩(wěn)定性有著十分明顯的優(yōu)勢。造成這一差距的重要原因之一就是我國對嵌入式軟件測試工作不夠重視。我國對軟件測試的重視程度,軟件測試工作人員的素質(zhì)、軟件測試工作的科學(xué)化管理都是導(dǎo)致產(chǎn)品生產(chǎn)不穩(wěn)定,使用出現(xiàn)問題的重要原因,有很多BUG往往在投入商業(yè)使用之后頻繁出現(xiàn)。
就目前來看,嵌入式軟件技術(shù)必然存在一些難以跨越的鴻溝,但是面對技術(shù)難題,嵌入式軟件技術(shù)開發(fā)人員的綜合素質(zhì)也是十分關(guān)鍵的。目前,在嵌入式軟件開發(fā)過程中往往存在過于樂觀的情況,經(jīng)常制定一些不切實(shí)際的項(xiàng)目管理進(jìn)度表,對軟件開發(fā)工程師要求較高,對項(xiàng)目開發(fā)的難度進(jìn)行了錯誤的評估。這種種因素都會導(dǎo)致項(xiàng)目失敗。
3 結(jié)束語
在嵌入式產(chǎn)業(yè)不斷成熟發(fā)展的背景下,嵌入式軟件技術(shù)也必然會朝著無線網(wǎng)絡(luò)技術(shù)、智能化的趨勢發(fā)展,成為我國計(jì)算機(jī)軟件產(chǎn)業(yè)中不可或缺的重要領(lǐng)域,并且廣泛的運(yùn)用在日常生產(chǎn)生活領(lǐng)域中,為改善人民生活,提升工業(yè)生產(chǎn)效率,推動我國經(jīng)濟(jì)發(fā)展做出更多的貢獻(xiàn)。
參考文獻(xiàn)
[1]羅剛,郭兵,沈艷.源程序級和算法級嵌入式軟件功耗特性的分析與優(yōu)化方法研究[J].計(jì)算機(jī)學(xué)報(bào),2009(9):1869-1875.
[2]殷永峰,鄭本燾,陸民燕.基于UML實(shí)時擴(kuò)展的嵌入式軟件測試用例生成技術(shù)[J].系統(tǒng)工程與電子技術(shù),2011(3):694-699.
[3]宋文,于林宇,劉軍.通用嵌入式軟件測試環(huán)境在武器裝備軟件測試中的應(yīng)用[J].測控技術(shù),2005(10):65-68.
[4]肖健宇,張德運(yùn),陳海詮.基于UML狀態(tài)機(jī)與B方法的高可信嵌入式軟件開發(fā)[J].計(jì)算機(jī)工程,2006(8):64-66.
[5]Rodrigo Pastl Pontes , Paulo Claudino Véras, Ana Maria Ambrosio.Contributions of model checking and CoFI methodology to the development of space embedded software[J].Empirical Software Engineering,2014,19(1):39-68S.
[6]王艷娜.自動售票機(jī)嵌入式軟件可復(fù)用測試框架的研究與實(shí)現(xiàn)[J].上海電力學(xué)院學(xué)報(bào),2007(4):363-366+370.
[7]楊芳,賀紅衛(wèi),謝鵬.嵌入式軟件目標(biāo)碼仿真測試平臺的研究與設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2009(19):4364-4367.
[8]Jani Mets?覿, Shahar Maoz, Mika Katara.Using aspects for testing of embedded software: experiences from two industrial case studies[J].Software Quality Journal,2014,22(2):185-213.
[9]黃百喬,賴婧,張虹.基于IPO功能分解的嵌入式軟件故障樹分層構(gòu)建方法[J].沈陽工業(yè)大學(xué)學(xué)報(bào),2013(2):204-211.
[10]王恒,王 ,李敏.一種高可靠的嵌入式軟件遠(yuǎn)程自更新機(jī)制的研究與實(shí)現(xiàn)[J].工業(yè)控制計(jì)算機(jī),2007(9):39-40+43.
作者簡介:張琦(1992-),男,漢族,山東濱州,曲阜師范大學(xué)信息科學(xué)與工程學(xué)院2013級本科生在讀,研究方向:軟件工程。