陳元博 邵 健
(曲阜師范大學 計算機科學學院,山東 日照 276826)
嵌入式軟件是指嵌入在硬件中的操作系統和開發工具。軟件嵌入式擁有悠久的歷史,從一開始主要集中在軍事領域、航空領域以及工業過程控制等領域。為適應社會的發展,經過數年的發展,從上世紀90年代中后期開始,隨著互聯網和通訊信息等事物的興起使嵌入式系統逐漸進入了人們的生活當中。對于嵌入式系統來說,計算機系統是其中心,。嵌入式系統具有實時性、專用性以及有限性等特點。與常規的系統軟件相比,嵌入式軟件的設計既有共同的特點,又存在特殊性。隨著人們知識水平的提高以及生活的需要,嵌入式軟件的使用程度越來越廣泛,因此,對嵌入式軟件開發的要求越來越高。為促進嵌入式軟件開發的不斷發展,我們應該加深對嵌入式軟件開發原則及模式的研究。
研究嵌入式軟件開發的原則與模式,應從根本出發,既了解嵌入式軟件開發的方法。嵌入式軟件開發的方法包括結構化設計方法、面向對象的設計方法、基于構件的設計方法等。
作為各種設計方法中使用最廣泛的設計方法,結構化設計方法有著獨特的自身優勢。分為兩種不同的設計方法。一是單任務的結構化設計方法,它的核心是根據結構化的設計原則,將各個時間的處理模式驚醒較好的處理,然后循環調用。二是多任務的結構化設計方法,它是先將模塊進行劃分,然后將模塊進行綜合。但是,多任務的結構化設計方法要求過高,因此,無法在嵌入式軟件中使用。
面向對象設計方法符合人們的思考方式,與多任務設計方法不同,它將數據與數據上的操作密封于實體中,想要訪問對象,只能通過消息的方式,這相對增加了安全系數。另外,面向對象的設計方法可以捕捉大規模應用的設計模式,將軟件體系結構的重用性大大提高。有利于將軟件的擴展性、維護性和重用性提升到新的高度。
基于構件的設計方法強調軟件體系結構的重要性。其具有的獨特性更加強調構件實現目的的手段,其重用性更加側重于構件對軟件的重要性。
在了解嵌入式軟件開發的方法后,有利于指導我們進行嵌入式軟件開發原則及模式的研究。
對于嵌入式軟件開發來說,全面分析系統有利于推進開發的進行。
(1)做好前期分析,形成指導提綱
對設計的每一個環節做到認真仔細是系統分析的要求,不僅要做到用心考慮細節,而且要系統考慮整體。這就要求我們,在做系統分析這項工作之前,一定要把前期分析做好,形成切實可行的提綱,這樣做有利于開發者提高效率。分析工作對整個設計工作意義重大,這就要求我們,不能局限于大腦中的思考,要形成書面記載,否則,很難全面分析,很難分析的透徹。較好的實現方案,能幫助設計者整理思路,在工作中少走彎路。并且,我們還可以利用不斷改進設計方法來提高程序的效率。
(2)接口以及定義
對一個外部調用函數的較為完整的定義就是接口的含義。在一個模塊設計中,通常會有很多功能相對簡單,但卻對實現重要模塊有輔助作用的局部函數。外部調用所設計的那些函數,對于它們的參數類型、參數范圍及限制必須清楚,這就是討論的接口。
我們必須分清外部調用的函數和內部使用的函數。一般情況下,有一個定義多個源文件的頭文件。最好將那些外部調用接口以集中放置在頭文件中。此外,我們也應該集中放置局部調用函數的聲明,以便方便文件的閱讀。還有一點,加上簡單的注釋可以保護頭文件的簡介。
對于嵌入式軟件來說,算法是非常重要的。為提高軟件性能,改進軟件,我們應優化函數算法。
優化函數算法主要有以下幾種方式:(1)簡單化,把完整的短句用縮略詞代替。(2)一致性,包括函數名的大小寫、分隔符的使用以及其風格的一致性。(3)良好的習慣,頭文件是非常復雜的,有很多需要定義的的常量、數據結構和外部函數,這就要求必須保證良好的習慣。
算法的優化對于函數的實現相當重要。事實上,軟件策略同樣是算法的一種。因此,程序設計中的算法是包括了計算方法設計的算法以及音視頻使用的算法,是一種廣義的概念。算法也體現在循環、數據結構設計等多個方面。
程序算法的優化,目的主要有兩個:一個是時間上的優化——優化運行時間另一個是空間上的優化——優化代碼的存儲空間。優化后占用的內存空間減小,運行也得以提高。如果能夠將兩者兼顧,那樣最好,但往往不如所愿,因此,要具體情況具體分析。
作為程序設計后期進行的工作,一是,對局部代碼進行優化,如改變循環體結構、合并類似分支等,二是,刪除局部無用變量,修改代碼,補充注釋,增強代碼的可讀性。
程序設計后期,必不可少的工作就是調試和該進設計好的程序。它是一個重要的工作過程,它可以發現程序漏洞、完善程序功能。在這個過程中,要做到系統軟件的設計需要與其他模塊互動。其次,是對做好的分析文檔進行完善,這回對整個嵌入式軟件的開發起到很大的幫助。
嵌入式軟件憑借其自身鮮明的特點被廣泛運用在各個領域,它的開發具有中煙價值,開發過程不斷進步。本文從不同角度提出了一些原則和模式,希望可以在今后的設計工作中起到一定的作用,促進相關開發工作的進行。
[1]電子科技大學計算機學院.CRTOS x86/pm嵌入式實時操作系統原理與應用設計[Z].增補版.成都:電子科技大學,2011.
[2]趙秋云,魏樂,劉文清.嵌入式軟件的構件化開發研究[J].科技資訊.2011