晁 穎 雷 蕾 齊浩程
1.西北工業(yè)大學(xué) 陜西 西安 710000
2.中國飛行試驗研究院 陜西 西安 710000
3.北方光電集團(tuán)有限公司 陜西 西安 710000
隨著當(dāng)前計算機(jī)的迅速發(fā)展和普及,與其配套的軟件也越來越多,同時遍布到各個行業(yè)領(lǐng)域,并受到整個社會的高度重視。而在計算機(jī)軟件的開發(fā)中,嵌入式軟件具有其他軟件不可代替的作用,并一直被廣泛使用。本文主要基于計算機(jī)軟件中的嵌入式軟件進(jìn)行研究,就嵌入式軟件的開發(fā)流程、應(yīng)用原理等關(guān)鍵點進(jìn)行嵌入式軟件在計算機(jī)軟件開發(fā)過程中的價值分析。希望能為計算機(jī)軟件開發(fā)者提供參考意見。
計算機(jī)主要由軟件與硬件組成,軟件與硬件相互依存,共同為計算機(jī)的應(yīng)用進(jìn)行服務(wù)。相同的硬件條件下,計算機(jī)的軟件將直接影響到計算機(jī)的運行速度與使用。根據(jù)軟件使用的平臺不同,可以分為嵌入式軟件和非嵌入式軟件。嵌入式軟件具體是指嵌入在硬件中的軟件開發(fā)工具,其產(chǎn)業(yè)鏈主要包括芯片設(shè)計制造、嵌入式系統(tǒng)軟件開發(fā)、嵌入式電子設(shè)備的開發(fā)和制造。隨著計算機(jī)軟件技術(shù)的發(fā)展,嵌入式軟件軟件的開發(fā)環(huán)境也有了很大的變化。嵌入式軟件所使用的軟件開發(fā)語言,主要有C語言、C++、Java語言等。其中,C語言出現(xiàn)時間早,使用的范圍廣,隨著不斷的應(yīng)用于發(fā)展,C語言成為成熟、完善的開發(fā)語言,目前多用于嵌入式的底層軟件。而Java語言的出現(xiàn)簡化了軟件的編程工作,它繼承了C++技術(shù),不僅編寫方便,對計算機(jī)的資源占用也更為合理。因此Java語言出現(xiàn)后便迅速得到廣泛的應(yīng)用,目前多用于做嵌入式上層應(yīng)用軟件。
2.1 嵌入式軟件技術(shù)的應(yīng)用 嵌入式軟件是嵌入式系統(tǒng)的重要組成部分,其本質(zhì)也屬于一種計算機(jī)軟件,包括系統(tǒng)型軟件、支撐型軟件和應(yīng)用型軟件三大類。早期嵌入式系統(tǒng)開發(fā)采用硬件優(yōu)先原則,在估計軟件任務(wù)需求后,先完成硬件的設(shè)計與實現(xiàn),再利用硬件平臺完成軟件開發(fā)設(shè)計。但這種設(shè)計方式難以充分利用硬件資源,出現(xiàn)設(shè)計變更時,還需要重新設(shè)計整個流程。隨著嵌入式技術(shù)的不斷成熟,目前主要采用軟硬件協(xié)同設(shè)計理念,最大限度地提高軟硬件能力,得到優(yōu)化設(shè)計方案。目前,嵌入式軟件已經(jīng)被廣泛應(yīng)用于國防、工業(yè)、商業(yè)、醫(yī)療、通信產(chǎn)業(yè)等重要領(lǐng)域。其中,被應(yīng)用于計算機(jī)軟件開發(fā)的主要是指嵌入式支撐軟件,此類軟件包含數(shù)據(jù)庫和各種開發(fā)工具,尤其提供的EMDBS數(shù)據(jù)庫可以作為某種特定計算的數(shù)據(jù)庫管理系統(tǒng),可運行在計算機(jī)和各種移動智能設(shè)備上。利用嵌入式軟件為計算機(jī)軟件開發(fā)提供支持,可以提高軟件開發(fā)過程的資源整合能力和系統(tǒng)開發(fā)效率。
2.2 嵌入式軟件開發(fā)過程中的要點分析 嵌入式軟件的開發(fā)過程與普通軟件開發(fā)過程類似,嵌入式軟件的開發(fā)過程包括需求分析、軟件設(shè)計、代碼實現(xiàn)、軟件測試等。
在需求分析及設(shè)計階段,一方面設(shè)計者需要對軟件設(shè)計的總體要求進(jìn)行綜合考慮,另一方面設(shè)計者需要根據(jù)軟件各組成部分以及各部分拼接工作的需要進(jìn)行綜合考慮。同時,設(shè)計者必須從客戶體驗的角度進(jìn)行分析,通過與用戶的不斷交流,了解客戶的真實需求,并在開發(fā)過程中根據(jù)意見不斷改善軟件程序。
在開發(fā)階段,開發(fā)者要了解設(shè)計要點,使硬件與軟件部分相匹配,從而有效提升軟件的穩(wěn)定性及使用效果。在進(jìn)行相關(guān)的程序設(shè)計和編碼時,要對控制時間的管理進(jìn)行詳細(xì)而縝密的研究和設(shè)計,從而保證嵌入式系統(tǒng)不會造成時間偏差,繼而對整個計算機(jī)系統(tǒng)造成影響。
在測試階段,由于嵌入式軟件的特殊性使得它在軟件測試方面會遇到很多問題。首先,嵌入式軟件的研發(fā)需在特定的開發(fā)環(huán)境當(dāng)中,要使用專業(yè)的開發(fā)工具及測試技術(shù),通常需要建立仿真模式進(jìn)行概念的驗證與設(shè)計的優(yōu)化。其次,嵌入式軟件測試包含較多階段,如單元測試、功能調(diào)試、硬件集成測試、系統(tǒng)測試等。每個階段均需要特定的測試環(huán)境,利用專業(yè)的測試工具,同時不同測試階段所使用的測試技術(shù)也有所不同,這些都加大了測試的難度。因此,需要開發(fā)者引用靈活的測試方法,如故障注入、插樁測試等,不斷提升自動化測試的比重,并通過分級測試等策略保證嵌入式軟件的測試質(zhì)量。
(1)綜合考慮嵌入式軟件系統(tǒng)的開發(fā)工作,實現(xiàn)軟件系統(tǒng)和硬件系統(tǒng)相互聯(lián)系。加強(qiáng)軟件系統(tǒng)和硬件系統(tǒng)的相容性,在一定程度上降低軟件系統(tǒng)對硬件系統(tǒng)的依賴性,進(jìn)而提升整個系統(tǒng)的安全性、穩(wěn)定性和實用價值。(2)避免對硬件設(shè)備和計算機(jī)資源的管理和操作。嵌入式軟件的方便之處也體現(xiàn)在它在應(yīng)用過程中就完成了軟件系統(tǒng)中相關(guān)數(shù)據(jù)的格式化和初始化。軟件開發(fā)工作者不用直接對硬件設(shè)備和資源進(jìn)行控制性的操作,這在一定程度上,減少了人們的工作量,縮短了整個工作時間。(3)在計算機(jī)設(shè)計者改善計算機(jī)編碼的同時,提高計算機(jī)技術(shù)水平,不斷創(chuàng)新、升級以及完善操作硬件的支持,以硬件作為開發(fā)中心,促使軟件運作效率得以提高。嵌入式軟件使得計算機(jī)軟件開發(fā)難度得到控制,軟件在操作過程中節(jié)省所占空間,從而使計算機(jī)軟件的操作效率得以提高。
綜上所述,嵌入式軟件在軟件設(shè)計開發(fā)過程中的應(yīng)用通過融入實時處理技術(shù)、利用軟件提供的組件,可以明顯提高軟件開發(fā)效率?;谇度胧杰浖能浖_發(fā)過程系統(tǒng)化程度更高,可以實現(xiàn)對資源的有效整合,并提高軟件的運行合理性。因此,應(yīng)推廣嵌入式軟件在計算機(jī)軟件開發(fā)過程中的應(yīng)用,能夠促進(jìn)軟件開發(fā)水平的整體提升。