吳文慶
摘? ?要:嵌入式系統(tǒng)在目前計(jì)算機(jī)技術(shù)的發(fā)展過(guò)程中逐漸得到了廣泛應(yīng)用,作為一種專用計(jì)算機(jī)系統(tǒng),具有專用性與實(shí)時(shí)性強(qiáng)的特點(diǎn)。在嵌入式系統(tǒng)的開發(fā)過(guò)程中,采取工程化流程進(jìn)行系統(tǒng)開發(fā),更有利于高效完成嵌入式系統(tǒng)開發(fā)工作。本文對(duì)嵌入式系統(tǒng)及其主要特征作出簡(jiǎn)單概述,而后分析了基于工程化流程的嵌入式系統(tǒng)開發(fā)方法,為相關(guān)研究人員提供參考。
關(guān)鍵詞:工程化流程? 嵌入式? 系統(tǒng)開發(fā)
中圖分類號(hào):TP311.52? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A? ? ? ? ? ? ? ? ? ? ? ? 文章編號(hào):1674-098X(2020)06(c)-0114-02
Abstract: Embedded system has been widely used in the development of computer technology. As a special computer system, it has the characteristics of special and real-time. In the development process of embedded system, engineering process is adopted to develop the system, which is more conducive to the efficient completion of embedded system development. This paper gives a brief overview of embedded system and its main features, and then analyzes the development method of embedded system based on engineering process. To provide reference for related researchers.
Key Words: Engineering process; Embedded; System development
1? 嵌入式系統(tǒng)概述
1.1 嵌入式系統(tǒng)及其組成
根據(jù)目前對(duì)計(jì)算機(jī)系統(tǒng)的分類方法,計(jì)算機(jī)系統(tǒng)可以分為通用計(jì)算機(jī)系統(tǒng)、專用計(jì)算機(jī)系統(tǒng)兩類。嵌入式系統(tǒng)屬于一種專用的計(jì)算機(jī)系統(tǒng),也就是嵌入到對(duì)象體系中的專用計(jì)算機(jī)應(yīng)用系統(tǒng),其設(shè)計(jì)目的主要是為了完成某種特定功能,其主要特征可以概括為嵌入性、專用性和有CPU[1]。目前,嵌入式系統(tǒng)在包括家電、工業(yè)控制、通信和商業(yè)在內(nèi)的許多領(lǐng)域都得到了推廣和應(yīng)用,具備重要的應(yīng)用價(jià)值。嵌入式系統(tǒng)的組成部分可以分為硬件和軟件兩部分。硬件部分主要包括嵌入式微處理器、外設(shè)接口與操作控制臺(tái),其中嵌入式微處理器具有很高集成性,主要集成了ROM、RAM、串口、總線接口等[2]。外設(shè)接口包括具有輸入、輸出及通信等功能的普通外設(shè),以及具有語(yǔ)音編解碼、信道編碼等特定功能的專用外設(shè)。操作控制臺(tái)主要作用是實(shí)現(xiàn)人機(jī)交互,組成部分包括開關(guān)、指示燈、顯示屏等。軟件系統(tǒng)包含嵌入式操作系統(tǒng)與用戶程序兩部分,與硬件系統(tǒng)相互配合,其中實(shí)時(shí)操作系統(tǒng)發(fā)揮著主要作用。
1.2 嵌入式系統(tǒng)的特點(diǎn)
相對(duì)于通用計(jì)算機(jī)來(lái)說(shuō),嵌入式系統(tǒng)還具有以下幾方面特點(diǎn):第一是專用性強(qiáng),是針對(duì)于某種特定應(yīng)用所設(shè)計(jì)的系統(tǒng),相對(duì)于通用計(jì)算機(jī)系統(tǒng),在系統(tǒng)的可靠性、成本、體積與功耗等方面也具有更高要求。第二是具備較強(qiáng)的實(shí)時(shí)性,主要應(yīng)用于過(guò)程控制,因此需要采用實(shí)時(shí)系統(tǒng),更有利于系統(tǒng)的實(shí)時(shí)反應(yīng)。第三是軟件與硬件之間結(jié)合密切,軟件需要隨著硬件平臺(tái)的變化作出相應(yīng)更改。第四是系統(tǒng)資源比較有限,相對(duì)于通用計(jì)算機(jī)具有更高的集成度。上述特點(diǎn)也決定了嵌入式系統(tǒng)的開發(fā)與通用計(jì)算機(jī)軟件的開發(fā)存在較大的差異性。
2? 基于工程化流程的嵌入式系統(tǒng)開發(fā)方法
2.1 系統(tǒng)工程化開發(fā)總體流程
系統(tǒng)工程化開發(fā)是指采用系統(tǒng)化、規(guī)范化和數(shù)量化等工程原則與操作方法進(jìn)行系統(tǒng)的開發(fā)與維護(hù)[3]。其中主要包括開發(fā)技術(shù)、項(xiàng)目管理兩方面,開發(fā)技術(shù)可以具體分為開發(fā)工具、開發(fā)方法以及工程環(huán)境;項(xiàng)目管理主要包括項(xiàng)目估算、項(xiàng)目計(jì)劃、進(jìn)度控制、人員和配置管理等。系統(tǒng)工程化開發(fā)的總體流程與建筑工程的實(shí)施流程之間具有一定程度的相似性,主要包括項(xiàng)目需求提出、任務(wù)分配、需求分析、概要設(shè)計(jì)、任務(wù)細(xì)分、詳細(xì)設(shè)計(jì)、開發(fā)實(shí)施、集成測(cè)試、試運(yùn)行等環(huán)節(jié)[4]。系統(tǒng)工程化開發(fā)流程圖如圖1所示。
2.2 嵌入式系統(tǒng)工程化開發(fā)方法
在嵌入式系統(tǒng)的工程化開發(fā)過(guò)程中,需要采取上述工程化開發(fā)流程,并根據(jù)嵌入式系統(tǒng)自身的特點(diǎn),采取有效的技術(shù)手段完成系統(tǒng)的開發(fā)。具體開發(fā)流程如下。
2.2.1 立項(xiàng)與調(diào)研
嵌入式系統(tǒng)開發(fā)項(xiàng)目的立項(xiàng)與調(diào)研階段,需要重點(diǎn)解決以下兩方面的問(wèn)題,一方面要充分考慮市場(chǎng)因素,全面了解用戶的需求,同時(shí)對(duì)生產(chǎn)成本加以最大程度的控制,從而提升經(jīng)濟(jì)效益。另一方面需要全面考慮產(chǎn)品開發(fā)過(guò)程的可行性,在開發(fā)過(guò)程中選擇合適的技術(shù)手段,確保產(chǎn)品運(yùn)行的穩(wěn)定性。針對(duì)于以上兩方面問(wèn)題,需要采取調(diào)研的方式進(jìn)行詳細(xì)研究,使得上述問(wèn)題得到合理解決。在此階段還需要制作相應(yīng)的書面材料對(duì)調(diào)研結(jié)果加以落實(shí),其中包括《市場(chǎng)需求調(diào)研報(bào)告》以及《可行性分析報(bào)告》等[5]。
2.2.2 系統(tǒng)需求分析
在項(xiàng)目立項(xiàng)完成后,需要開展相關(guān)的分析工作。其中需要將用戶對(duì)于產(chǎn)品的需求作出歸納總結(jié),而后制作成《用戶需求說(shuō)明書》,對(duì)系統(tǒng)的功能等相關(guān)要求進(jìn)行描述。在制作過(guò)程中,需要最終用戶提出意見并進(jìn)行修改。最后由系統(tǒng)分析員根據(jù)用戶需求,為產(chǎn)品開發(fā)設(shè)計(jì)人員編寫《系統(tǒng)需求說(shuō)明書》。
系統(tǒng)需求的分析過(guò)程中,由于嵌入式系統(tǒng)常具有某些特殊要求,因此需要重點(diǎn)考慮以下幾方面內(nèi)容。第一是系統(tǒng)是否能夠滿足應(yīng)用環(huán)境對(duì)溫度、濕度以及相關(guān)安全標(biāo)準(zhǔn)等的要求,在此基礎(chǔ)上對(duì)設(shè)備的體積、功耗、成本與開發(fā)周期作出合理安排。第二是對(duì)系統(tǒng)的規(guī)模極其復(fù)雜程度作出合理評(píng)估,從而為系統(tǒng)開發(fā)工作量以及開發(fā)進(jìn)度的判斷提供依據(jù)。其中可以從系統(tǒng)能夠提供的功能以及系統(tǒng)的技術(shù)規(guī)模兩方面進(jìn)行有效評(píng)價(jià)。在上述工作的基礎(chǔ)上制定系統(tǒng)需求規(guī)格表,對(duì)系統(tǒng)需求作出詳細(xì)記錄。
2.2.3 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
嵌入式系統(tǒng)的設(shè)計(jì)方面,具體包括軟件設(shè)計(jì)、硬件設(shè)計(jì)、協(xié)調(diào)設(shè)計(jì)等方面。在具體開展設(shè)計(jì)工作時(shí),需要依據(jù)相應(yīng)的說(shuō)明書,比如《軟件設(shè)計(jì)說(shuō)明書》、《硬件設(shè)計(jì)說(shuō)明書》、《軟硬件協(xié)同設(shè)計(jì)說(shuō)明書》、系統(tǒng)架構(gòu)設(shè)計(jì)方案圖等[6]。在對(duì)嵌入式系統(tǒng)進(jìn)行合理設(shè)計(jì)的基礎(chǔ)上,需要由軟硬件工程師進(jìn)行系統(tǒng)的實(shí)現(xiàn),按照統(tǒng)一的設(shè)計(jì)規(guī)范進(jìn)行應(yīng)用軟件開發(fā)及測(cè)試、硬件電路板制作以及協(xié)同設(shè)計(jì)等工作。并確保系統(tǒng)能夠穩(wěn)定運(yùn)行。
在傳統(tǒng)的嵌入式軟件開發(fā)過(guò)程中,主要采取結(jié)構(gòu)化開發(fā)方法,根據(jù)硬件設(shè)備進(jìn)行軟件的開發(fā)工作。此種方式存在代碼重用性較差、軟件適應(yīng)性、維護(hù)水平不高等問(wèn)題。通過(guò)有效應(yīng)用分層技術(shù),能夠顯著提升軟件開發(fā)與維護(hù)效率。其開發(fā)過(guò)程主要依據(jù)高內(nèi)聚、低耦合原則,具體可以分為應(yīng)用管理層、算法協(xié)議層、功能拓展層與硬件驅(qū)動(dòng)層四部分。此種設(shè)計(jì)方式通過(guò)合理分層,增強(qiáng)其對(duì)硬件環(huán)境的適應(yīng)性,因此能夠提高軟件的可復(fù)用性,并顯著簡(jiǎn)化項(xiàng)目開發(fā)過(guò)程。在后期維護(hù)過(guò)程中對(duì)應(yīng)用管理層以及功能拓展層進(jìn)行修改即可。嵌入式軟件分層開發(fā)模型如圖2所示。
2.2.4 調(diào)試、運(yùn)行與維護(hù)
在完成嵌入式系統(tǒng)的設(shè)計(jì)后,需要開展調(diào)試工作,從而判斷系統(tǒng)設(shè)計(jì)能否實(shí)現(xiàn)此前預(yù)想的功能。具體需要由專業(yè)人員進(jìn)行系統(tǒng)的測(cè)試。進(jìn)行系統(tǒng)測(cè)試工作過(guò)程中,需要依據(jù)《用戶需求說(shuō)明書》,重點(diǎn)開展集成測(cè)試與可靠性測(cè)試。同時(shí)還需要對(duì)三個(gè)月內(nèi)的不間斷運(yùn)行數(shù)據(jù)作出統(tǒng)計(jì)。如果發(fā)現(xiàn)在測(cè)試中存在問(wèn)題,需要準(zhǔn)確查找原因并加以解決。其中主要包括硬件調(diào)試與軟件調(diào)試。硬件調(diào)試的具體內(nèi)容包括線路檢查、存儲(chǔ)器測(cè)試、通信時(shí)序確認(rèn)等方面,上述調(diào)試過(guò)程有利于解決常見的硬件問(wèn)題。軟件調(diào)試的過(guò)程相對(duì)比較復(fù)雜,其內(nèi)容主要在于對(duì)驅(qū)動(dòng)程序的調(diào)試,也是嵌入式系統(tǒng)開發(fā)過(guò)程中的重點(diǎn)部分之一。調(diào)試過(guò)程中對(duì)于軟件以及硬件的相關(guān)問(wèn)題都會(huì)有所涉及。調(diào)試完成后還需要進(jìn)行系統(tǒng)測(cè)試,測(cè)試步驟分為單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試與環(huán)境測(cè)試四個(gè)步驟。單元測(cè)試主要針對(duì)系統(tǒng)中的單元模塊,比如在軟件單元測(cè)試上可以應(yīng)用黑盒子、白盒子測(cè)試方法。單元測(cè)試完成后,需要開展針對(duì)于不同功能模塊組合的集成測(cè)試,主要明確模塊之間的接口問(wèn)題。而后開展系統(tǒng)測(cè)試,判斷系統(tǒng)能否實(shí)現(xiàn)系統(tǒng)規(guī)格的標(biāo)準(zhǔn)。最后需要進(jìn)行環(huán)境測(cè)試,依據(jù)真實(shí)操作環(huán)境全面判斷系統(tǒng)的功能及其穩(wěn)定性,確保其能夠滿足使用需求。設(shè)備通過(guò)測(cè)試之后,需要對(duì)用戶進(jìn)行長(zhǎng)期的追蹤,從而對(duì)設(shè)備及系統(tǒng)相關(guān)信息作出進(jìn)一步豐富,更有利于進(jìn)行設(shè)備后續(xù)的升級(jí)與維護(hù)工作。
3? 結(jié)語(yǔ)
嵌入式系統(tǒng)在目前得到了十分普遍的應(yīng)用,在嵌入式系統(tǒng)的開發(fā)過(guò)程中,運(yùn)用工程化的開發(fā)流程,有利于更好滿足系統(tǒng)的使用需求,并能夠有效提高系統(tǒng)開發(fā)效率。因此在今后也應(yīng)加強(qiáng)工程化開發(fā)流程在嵌入式系統(tǒng)開發(fā)中的應(yīng)用。
參考文獻(xiàn)
[1] 孫伯文,蔡陸迪.淺談嵌入式操作系統(tǒng)[J].移動(dòng)信息,2017(10):45.
[2] 陸天波,楊金翠,孫藝,等.基于工程化的軟件工程教學(xué)案例研究[J].軟件,2019(3):78-87.
[3] 張智慧.多層模型在嵌入式軟件開發(fā)中的應(yīng)用研究[J].計(jì)算機(jī)時(shí)代,2017(4):17-20.
[4] 陳妍茹.嵌入式系統(tǒng)的應(yīng)用領(lǐng)域及發(fā)展趨勢(shì)[J].中外企業(yè)家,2020(1):82.
[5] 何曉亮,李剛.探究嵌入式系統(tǒng)在電子信息技術(shù)中的應(yīng)用[J].中國(guó)新技術(shù)新產(chǎn)品,2019(24):13-14.
[6] 何祖恩.基于嵌入式系統(tǒng)的電梯導(dǎo)軌支架間距自動(dòng)測(cè)量?jī)x[J].自動(dòng)化與儀表,2019,34(12):57-60.
[7] 黃澤輝,陳伯亨.基于嵌入式系統(tǒng)應(yīng)用的研究及趨勢(shì)分析[J].農(nóng)家參謀,2019(23):149.