江森
摘要:提出復(fù)網(wǎng)絡(luò)通信背景下ARM嵌入式系統(tǒng)軟件開發(fā)系統(tǒng)。具體設(shè)計(jì)包括設(shè)備驅(qū)動(dòng)程序開發(fā)、移植代碼編寫、嵌入式系統(tǒng)交叉調(diào)試。根據(jù)實(shí)驗(yàn)結(jié)果的對(duì)比,再對(duì)通信數(shù)據(jù)的調(diào)試度方面,本文設(shè)計(jì)的基于復(fù)網(wǎng)絡(luò)通信的ARM嵌入式系統(tǒng)軟件相比于通用設(shè)計(jì)有著比較大的優(yōu)勢(shì),這體現(xiàn)在調(diào)試過程的平穩(wěn)性上,基本保持在調(diào)試度標(biāo)準(zhǔn)線內(nèi)浮動(dòng)。
關(guān)鍵詞:復(fù)網(wǎng)絡(luò)通信;ARM;嵌入式;系統(tǒng)軟件
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)29-0021-02
根據(jù)世界現(xiàn)行電氣與電子工程師協(xié)會(huì)(Association ofElec-trical and Electronic Engineers)的國(guó)際定義,嵌入式系統(tǒng)是一種用于控制、監(jiān)管或輔助設(shè)備、儀器與車間運(yùn)轉(zhuǎn)的設(shè)置,是指的是以現(xiàn)實(shí)應(yīng)用為中心、以計(jì)算機(jī)通信技術(shù)為應(yīng)用前提、軟硬件能裁減、適合系統(tǒng)對(duì)功能、安全性、經(jīng)濟(jì)成本、設(shè)備體積、損耗嚴(yán)格要求的專門化計(jì)算機(jī)系統(tǒng)。這一系統(tǒng)內(nèi)部運(yùn)轉(zhuǎn)的程序利用實(shí)現(xiàn)自動(dòng)控制與管理相關(guān)設(shè)備,有的甚至具備功能自適應(yīng)性,擁有高度智能,所以這種技術(shù)具備非常廣泛的社會(huì)價(jià)值。嵌入式系統(tǒng)是繼計(jì)算機(jī)通信技術(shù)以后IT領(lǐng)域出現(xiàn)的又一個(gè)全新的關(guān)鍵技術(shù)發(fā)展方向。嵌入式系統(tǒng)現(xiàn)在已經(jīng)被廣泛地應(yīng)用在計(jì)算機(jī)通信、電子銅通訊、工業(yè)設(shè)計(jì)、國(guó)防控制等諸多領(lǐng)域。伴隨計(jì)算機(jī)技術(shù)和通信技術(shù)的雙重進(jìn)步,嵌入式系統(tǒng)的研究與開發(fā)擁有越來越巨大的市場(chǎng)潛力。
ARM作為一種新型的基于精簡(jiǎn)指令集合計(jì)算機(jī)(Base re-duced instruction set computer)建構(gòu)的通用犯位微處理器。ARM公司是業(yè)界比較專業(yè)的16犯位嵌入式處理器專門提供商,其產(chǎn)品已經(jīng)占領(lǐng)了大概百分之七十八的基于精簡(jiǎn)指令集合計(jì)算機(jī)(Base reduced instruction set computer)處理器市場(chǎng)。ARM處理器核擁有高性能、低成本和低耗能的諸多優(yōu)勢(shì),因?yàn)槭袌?chǎng)占有率比較高、應(yīng)用范圍比較廣,ARM處理器的一部分應(yīng)用標(biāo)準(zhǔn)已經(jīng)發(fā)展為便攜式通信儀器、手持電子設(shè)備、多媒體數(shù)字消費(fèi)等嵌入式方案中規(guī)定的國(guó)際標(biāo)準(zhǔn)嘲。一個(gè)嵌入式系統(tǒng)通常情況下能夠分為四大內(nèi)容組成,分別是嵌入式處理器、嵌入式外圈設(shè)備、嵌入式操作系統(tǒng)以及嵌入式應(yīng)用軟件平臺(tái),其中嵌入式處理器與嵌人式外圈設(shè)備均是嵌人式硬件平臺(tái)的主要構(gòu)成部分,嵌入式系統(tǒng)的四大部分之間是密切聯(lián)系的,只有具備了這四個(gè)部分,才可以充分發(fā)揮出嵌入式系統(tǒng)的實(shí)際功能。
1基于復(fù)網(wǎng)絡(luò)通信的ARM嵌入式系統(tǒng)軟件開發(fā)
伴隨信息化、自動(dòng)化、智能化的創(chuàng)新式發(fā)展,嵌人式技術(shù)現(xiàn)今為止早已經(jīng)發(fā)展為通信與消費(fèi)類產(chǎn)品的未來發(fā)展方向。因?yàn)榻鹑?、工業(yè)、機(jī)器、國(guó)防等一系列領(lǐng)域?qū)χ悄芸刂频默F(xiàn)實(shí)需求也在不斷增長(zhǎng),嵌入式微處理器在計(jì)算速度、擴(kuò)展能力、安全性、損耗以及信息集成度等方面所具備的優(yōu)良性能,造成嵌入式系統(tǒng)的應(yīng)用范圍逐漸擴(kuò)大,尤其是最近幾年嵌入式技術(shù)與計(jì)算機(jī)通信網(wǎng)絡(luò)技術(shù)的雙重結(jié)合在一定程度上大大擴(kuò)展了嵌人式系統(tǒng)的應(yīng)用范圍與領(lǐng)域。綜合嵌入式系統(tǒng)發(fā)展歷史來看,在嵌入式系統(tǒng)發(fā)展早期,其應(yīng)用設(shè)備比較簡(jiǎn)易,嵌入式軟件主要表現(xiàn)在一些控制環(huán)節(jié)上。伴隨嵌人式系統(tǒng)的迅猛發(fā)展,嵌入式系統(tǒng)的功能也越來越復(fù)雜化,簡(jiǎn)易控制邏輯已經(jīng)沒有辦法滿足其諸多要求,這個(gè)時(shí)候自動(dòng)化、層次化的系統(tǒng)設(shè)計(jì)原則就顯得越發(fā)重要,嵌入式軟件也隨之成為嵌入式系統(tǒng)設(shè)計(jì)創(chuàng)新與市場(chǎng)增值的關(guān)鍵性因素,也成為未來市場(chǎng)競(jìng)爭(zhēng)力的有力表現(xiàn)。嵌入式系統(tǒng)主要是以應(yīng)用為中心以及以計(jì)算機(jī)通信技術(shù)為前提條件的,并且其軟件是能夠進(jìn)行大幅度裁減的,可以滿足自身應(yīng)用系統(tǒng)對(duì)功能屬性、安全性、設(shè)備體積、損耗等指標(biāo)的標(biāo)準(zhǔn)要求的專門還化計(jì)算機(jī)應(yīng)用系統(tǒng)。它能夠?qū)崿F(xiàn)對(duì)其他設(shè)備的控制、監(jiān)管等功能。本文就以完成嵌入式系統(tǒng)的軟件開發(fā)為最終目的,闡明嵌入式系統(tǒng)軟件的開發(fā)應(yīng)用過程。
1.1設(shè)備驅(qū)動(dòng)程序開發(fā)
在嵌入式Linux系統(tǒng)軟件開發(fā)過程中,有相當(dāng)一部分的工作量是服務(wù)于各式各樣儀器設(shè)備的編寫式驅(qū)動(dòng)程序嘲。在軟件平臺(tái)上開發(fā)嵌入式LinuX的設(shè)備驅(qū)動(dòng)程序和在其他平臺(tái)上開發(fā)是一致的。總而言之,實(shí)現(xiàn)一個(gè)嵌人式Linux軟件設(shè)備開發(fā)應(yīng)用的一般環(huán)節(jié)大致如下所示:首先,查看設(shè)備內(nèi)部的運(yùn)作程序圖,了解和掌握設(shè)備的基本工作原理;第二步,對(duì)主設(shè)備號(hào)進(jìn)行定義;第三步,在驅(qū)動(dòng)程序內(nèi)部完成驅(qū)動(dòng)初始化。一旦驅(qū)動(dòng)程序采取模塊的手段,那么就需要執(zhí)行模塊初始化。第四步,設(shè)計(jì)需要實(shí)現(xiàn)的一系列文件操作,對(duì)file-operations結(jié)構(gòu)進(jìn)行定義;第五步,執(zhí)行中斷服務(wù)(中斷在這里指的并不是每一個(gè)驅(qū)動(dòng)設(shè)備所必需的);第六步,對(duì)該驅(qū)動(dòng)程序編譯過程中,在其內(nèi)核中需要使用insmod指令完成加載步驟;第七步,開始測(cè)試該設(shè)備。
至于音頻設(shè)備的驅(qū)動(dòng),$4C2190X內(nèi)設(shè)定的135總線接口可以與其他生產(chǎn)廠商提供的通信編解碼芯片連同使用。提供135接口可以讀取到135總線上儲(chǔ)存的大部分?jǐn)?shù)據(jù),也能夠?yàn)镕IFO數(shù)據(jù)提供有關(guān)DMA的輸入模式,可以對(duì)數(shù)據(jù)進(jìn)行傳輸和接收。$4C2190X中,有兩條并行數(shù)據(jù)線,一條用于信號(hào)數(shù)據(jù)線的輸人,一條用于信號(hào)數(shù)據(jù)線的輸出,以便可以對(duì)進(jìn)行傳輸。音頻設(shè)備的驅(qū)動(dòng)程序涉及的設(shè)備驅(qū)動(dòng)代碼較多,主要有以下幾個(gè)主要模塊:UDAl314驅(qū)動(dòng)初始化;開啟音頻設(shè)備;數(shù)據(jù)緩存設(shè)計(jì);%ioefl系統(tǒng)調(diào)取;%音頻數(shù)據(jù)的相關(guān)錄制。
1.2編寫移植代碼
在深度掌握目標(biāo)系統(tǒng)基本架構(gòu)和操作原理的前提下,真正的編寫移植代碼工作相對(duì)來說就比較簡(jiǎn)單tzC/OS-II的綜合源代碼量大概是7000-8000行,總共有18個(gè)文件,而且uC/OS-II自身代碼基本上均是用ANSIC編寫的,其代碼層次比較簡(jiǎn)單。根據(jù)《嵌入式軟件操作系統(tǒng)IxC/OS-II》的一系列標(biāo)準(zhǔn)要求的指導(dǎo),我們能夠明確和軟件平臺(tái)有關(guān)的移植代碼單單只是存在于OS_CPU_A.ASM、OS_CPU_C.C以及OS_CPU.H這三個(gè)文件之中。工作流程中需要完成的工作量也比較少,只需要對(duì)三個(gè)與ARM架構(gòu)有關(guān)的文件進(jìn)行刪改即可,代碼量大概固定在600行。
必須要明確移植部分需要?jiǎng)h改的部分內(nèi)容:
與編譯器有關(guān)的數(shù)據(jù)類型包括BOOLEAN、INT2S、INTl3U、INT9U、INT13S、INT62U、INT64S、FP64、FP89;宏包括OS_ENTER_CRITICALO與OS_EXIT_CRITICAL0兩類;數(shù)據(jù)常量具體是指OS STK GROWTH;數(shù)據(jù)函數(shù)主要有OS_TASK_SW0、OSTaskSflnitO;另外在OS_CPU_C.C內(nèi),編寫20個(gè)用戶函數(shù),其中唯一需要設(shè)計(jì)的函數(shù)就是OSTasklnit(1,作用于初始化任務(wù)的一系列堆棧。
1.3嵌入式系統(tǒng)交叉調(diào)試
交叉調(diào)試(crOSS Debugging)普遍意義上來講被稱之為遠(yuǎn)程調(diào)試(Remote debugging),是一種調(diào)試器能夠以某種手段控制、鏈接、訪問目標(biāo)機(jī)上被調(diào)試進(jìn)程的運(yùn)轉(zhuǎn)手段,并具備查詢與刪改目標(biāo)機(jī)上內(nèi)存單元(Memory unit)、寄存器(Register)以及被調(diào)試進(jìn)程中變量值(variate-value)等各式各樣調(diào)試功能的調(diào)試手段。嵌入式系統(tǒng)的交叉調(diào)試有許多方法,能夠被細(xì)劃為不同運(yùn)行層次。嵌入式操作系統(tǒng)的內(nèi)核調(diào)試比較來說會(huì)比較困難,由于在其內(nèi)核運(yùn)轉(zhuǎn)中不方便隨意增添調(diào)試器程序環(huán)節(jié),只可以利用遠(yuǎn)程調(diào)試的手段,利用串口與操作系統(tǒng)內(nèi)置的調(diào)試樁fDebng-gingpile)進(jìn)行通信,實(shí)現(xiàn)調(diào)試。
嵌人式軟件在經(jīng)過一系列標(biāo)準(zhǔn)的編譯(compile)與鏈接(Tn-terlinkage)之后就可以繼續(xù)進(jìn)入調(diào)試階段(Debugging Stage),調(diào)試作為軟件開發(fā)中至關(guān)重要的一個(gè)關(guān)鍵流程,嵌入式軟件開發(fā)過程中的交叉調(diào)試和通用軟件開發(fā)過程中的調(diào)試方式還是有一定差別的。
在通用軟件開發(fā)過程中,調(diào)試器(Debugger)和被調(diào)試的程序通常會(huì)在同一臺(tái)計(jì)算機(jī)上進(jìn)行運(yùn)行,調(diào)試器(Debugger)作為一個(gè)單獨(dú)運(yùn)轉(zhuǎn)的應(yīng)用進(jìn)程,它利用操作系統(tǒng)提供的調(diào)試接口去控制被調(diào)試過程。而在嵌入式軟件開發(fā)過程中,調(diào)試的時(shí)候需要采取的就是在主機(jī)與目標(biāo)機(jī)之間進(jìn)行常規(guī)交叉調(diào)試,調(diào)試器依然會(huì)運(yùn)行在主機(jī)的通用處理系統(tǒng)之上,調(diào)試器與被調(diào)試進(jìn)程利用串口或計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行通信,調(diào)試器能夠控制、鏈接被調(diào)試進(jìn)程,讀取被調(diào)試進(jìn)程的當(dāng)前信息,并可以改變被調(diào)試進(jìn)程的運(yùn)轉(zhuǎn)狀態(tài)。
2實(shí)驗(yàn)與效果分析
為了更加清楚、具體的看出本文設(shè)計(jì)的復(fù)網(wǎng)絡(luò)通信背景下ARM嵌入式系統(tǒng)軟件的實(shí)際應(yīng)用效果,特傳統(tǒng)ARM嵌入式系統(tǒng)軟件進(jìn)行對(duì)比,對(duì)其滲透率大小進(jìn)行比較。
2.1實(shí)驗(yàn)準(zhǔn)備
為保證實(shí)驗(yàn)的準(zhǔn)確性,將兩種ARM嵌入式系統(tǒng)軟件設(shè)計(jì)置于相同的試驗(yàn)參數(shù)之中,進(jìn)行防滲能力試驗(yàn)。試驗(yàn)參數(shù)見下表。
2.2實(shí)驗(yàn)結(jié)果分析
實(shí)驗(yàn)過程中,通過兩種不同的ARM嵌人式系統(tǒng)軟件設(shè)計(jì)在相同環(huán)境中進(jìn)行工作,分析其滲透率能力的變化。實(shí)驗(yàn)應(yīng)用效果對(duì)比圖見下圖所示。
根據(jù)實(shí)驗(yàn)結(jié)果的對(duì)比,本文方法在通信數(shù)據(jù)調(diào)試度方面比通用設(shè)計(jì)有著較大優(yōu)勢(shì),體現(xiàn)在調(diào)試過程的平穩(wěn)性上,基本保持在調(diào)試度標(biāo)準(zhǔn)線內(nèi)浮動(dòng)。
3結(jié)束語
本文對(duì)復(fù)網(wǎng)絡(luò)通信背景下ARM嵌入式系統(tǒng)軟件開發(fā)進(jìn)行分析,依托復(fù)網(wǎng)絡(luò)通信機(jī)制,根據(jù)ARM數(shù)據(jù)反饋與分析,對(duì)嵌人式系統(tǒng)軟件開發(fā)進(jìn)行設(shè)計(jì)。實(shí)驗(yàn)論證表明,本文設(shè)計(jì)的方法具備極高的有效性。希望本文的研究能夠?yàn)閺?fù)網(wǎng)絡(luò)通信背景下ARM嵌入式系統(tǒng)軟件開發(fā)的方法提供理論依據(jù)。