亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種低耦合可移植的嵌入式主控軟件架構(gòu)設(shè)計(jì)

        2020-12-25 08:41:54趙興祥
        微處理機(jī) 2020年6期
        關(guān)鍵詞:中間件日志嵌入式

        趙興祥,趙 濤,唐 瑜,黃 華,彭 湖

        (重慶金美通信有限責(zé)任公司,重慶400030)

        1 引 言

        嵌入式系統(tǒng)因其的裁剪性強(qiáng)、可靠性高、實(shí)時(shí)性好、能耗低等特性,被廣泛應(yīng)用在電子、通信、醫(yī)療等各行業(yè)中。隨著互聯(lián)網(wǎng)、5G、物聯(lián)網(wǎng)等技術(shù)的快速發(fā)展,嵌入式系統(tǒng)呈現(xiàn)出了系統(tǒng)化、生活化、網(wǎng)絡(luò)化、精簡(jiǎn)化等發(fā)展趨勢(shì)[1]。在此背景下,穩(wěn)定、易擴(kuò)展、兼容性好的嵌入式軟件架構(gòu)是高水準(zhǔn)嵌入式軟件設(shè)計(jì)的可靠保障,也是嵌入式產(chǎn)品的性能及穩(wěn)定性的重要決定因素?,F(xiàn)有研究大多集中于此,但并不完善,例如:文獻(xiàn)[2]中提出的軟件架構(gòu),通過(guò)線程管理、備份硬件喚醒、通信協(xié)議設(shè)計(jì)等手段增強(qiáng)軟件的可靠性和穩(wěn)定性,但在移植性、擴(kuò)展性方面的設(shè)計(jì)還不充分;文獻(xiàn)[3]中通過(guò)擴(kuò)展Bios 設(shè)計(jì)提高嵌入式系統(tǒng)的可靠性,但沒有在擴(kuò)展性、兼容性方向做出設(shè)計(jì);文獻(xiàn)[4]設(shè)計(jì)并實(shí)現(xiàn)了基于通信中間件的綜合化信號(hào)與信息處理機(jī)軟件架構(gòu)RCSSystem,采用直接數(shù)據(jù)包通信方式取代了CORBA 中間件的遠(yuǎn)程函數(shù)調(diào)用,通過(guò)總線互連,增強(qiáng)系統(tǒng)的穩(wěn)定性和可靠性,但架構(gòu)復(fù)雜,與硬件、驅(qū)動(dòng)層耦合性大;文獻(xiàn)[5]中給出了基于多任務(wù)的實(shí)時(shí)處理架構(gòu)設(shè)計(jì)方法,但仍存在硬件耦合性大的問(wèn)題。

        針對(duì)嵌入式系統(tǒng)耦合高、擴(kuò)展性不足的現(xiàn)狀,在此設(shè)計(jì)一種低耦合、可移植、易擴(kuò)展、支持熱插拔的嵌入式設(shè)備主控軟件架構(gòu)。

        2 軟件架構(gòu)設(shè)計(jì)

        2.1 總體架構(gòu)設(shè)計(jì)

        結(jié)合 SOA(Service Oriented Architecture)思想及分層思想,將軟件定義為服務(wù),服務(wù)之間通過(guò)輕量化通信中間件進(jìn)行整合[6],各服務(wù)以插件的方式獨(dú)立運(yùn)行于系統(tǒng)中,可以根據(jù)需求動(dòng)態(tài)加載或卸載各功能模塊,以滿足用戶業(yè)務(wù)、服務(wù)及性能的擴(kuò)展性要求。軟件總體結(jié)構(gòu)如圖1。

        圖1 軟件總體架構(gòu)圖

        結(jié)合嵌入式系統(tǒng)平臺(tái),核心管理服務(wù)、通信中間件及硬件抽象層構(gòu)成了服務(wù)的基礎(chǔ),形成物理層、MAC 層、網(wǎng)絡(luò)層以及安全等多種類的標(biāo)準(zhǔn)接口服務(wù)組件,其詳細(xì)架構(gòu)如圖2 所示。

        圖2 軟件架構(gòu)圖

        2.2 核心管理服務(wù)

        核心管理服務(wù)是整個(gè)架構(gòu)的基礎(chǔ)服務(wù),作為獨(dú)立進(jìn)程,主要用來(lái)實(shí)現(xiàn)整個(gè)軟件框架的模塊(組件)管理和消息(類似參數(shù))管理。

        2.2.1 模塊管理

        模塊管理負(fù)責(zé)對(duì)各服務(wù)模塊的加載/卸載過(guò)程及服務(wù)組件狀態(tài)等進(jìn)行管理與監(jiān)控,對(duì)外提供模塊注冊(cè)注銷、模塊狀態(tài)查詢及狀態(tài)主動(dòng)匯報(bào)等標(biāo)準(zhǔn)接口。模塊管理的運(yùn)作機(jī)制如圖3 所示。

        圖3 模塊管理服務(wù)結(jié)構(gòu)圖

        當(dāng)某個(gè)服務(wù)啟動(dòng)時(shí),先調(diào)用注冊(cè)接口向模塊管理注冊(cè)。模塊管理將該服務(wù)加入管理鏈表后,開始啟動(dòng)監(jiān)控機(jī)制。監(jiān)控方式可以是由服務(wù)程序主動(dòng)狀態(tài)匯報(bào),也可以是模塊管理周期地查詢狀態(tài)。服務(wù)需要退出時(shí),要先調(diào)用注銷接口脫離模塊管理。

        2.2.2 消息管理

        參數(shù)管理是參數(shù)(狀態(tài)及配置參數(shù))的集合,包含參數(shù)的定義與操作。消息管理對(duì)消息的訂閱、發(fā)布、可靠性保證等進(jìn)行管控,與參數(shù)具體含義無(wú)關(guān)。參數(shù)管理配合消息管理,實(shí)現(xiàn)配置消息的檢查、存儲(chǔ)與初始化。

        服務(wù)完成注冊(cè)后,向消息管理模塊訂閱該服務(wù)啟動(dòng)及運(yùn)行過(guò)程中所需的全部參數(shù)。消息管理將該服務(wù)所訂閱的參數(shù)記錄到參數(shù)訂閱列表,并通過(guò)參數(shù)管理模塊獲取參數(shù)值后,發(fā)給消費(fèi)者服務(wù)程序。如果某個(gè)參數(shù)值被修改,參數(shù)管理依據(jù)參數(shù)訂閱列表分發(fā)給各服務(wù)模塊。消息管理的體制如圖4。

        圖4 消息管理服務(wù)結(jié)構(gòu)圖

        路由拓?fù)?、信道質(zhì)量等實(shí)時(shí)且不需要保存的信息,由提供者主動(dòng)發(fā)布,消息管理按需分發(fā)給服務(wù)消費(fèi)者。

        這一設(shè)計(jì)的思想是:參數(shù)管理只需關(guān)注初始化配置參數(shù),設(shè)備狀態(tài)信息無(wú)需初始化,由供方服務(wù)主動(dòng)發(fā)布;設(shè)備新增的參數(shù),只需信息提供方、需求方自行訂閱分發(fā)即可,核心管理模塊無(wú)需做任何更改。

        2.3 通信中間件

        本架構(gòu)中,服務(wù)間通信均通過(guò)通信中間件來(lái)實(shí)現(xiàn)。借鑒SCA 思想,通信中間件類似CORBA(Common Object Request Broker Architecture)的對(duì)象請(qǐng)求代理ORB。中間件以庫(kù)文件的形式集成到服務(wù)軟件中,通過(guò)宏定義選擇編譯,可廣泛移植于不同操作系統(tǒng)平臺(tái)。一般情況下,作為獨(dú)立的線程運(yùn)行在各個(gè)調(diào)用服務(wù)中,在沒有操作系統(tǒng)的CPU 上,中間件可以是一個(gè)接口封裝。

        通信中間件的功能包括:

        1)自動(dòng)完成通信目標(biāo)的查詢及信息可靠傳輸;

        2)為宿主程序提供同步、異步消息傳輸保障;

        3)記錄各個(gè)模塊的通訊地址而無(wú)需每次發(fā)送消息重復(fù)查詢服務(wù)。

        通信中間件的工作流程如圖5。

        圖5 通信中間件工作流程圖

        假設(shè)有服務(wù)A、B,在相互不知道對(duì)方是否存在的情況下,服務(wù)A 需要向服務(wù)B 發(fā)送業(yè)務(wù)時(shí),服務(wù)A 向通信中間件發(fā)起試探,并從中間件獲得服務(wù)B的通信接口信息,隨后,即可向服務(wù)B 發(fā)起業(yè)務(wù)。通信的可靠性由通信中間件來(lái)保障。服務(wù)B 向服務(wù)A發(fā)起業(yè)務(wù)時(shí),也是相同的操作。

        通信中間件對(duì)外提供的接口如圖6 所示。

        圖6 通信中間件結(jié)構(gòu)圖

        消息中間件的創(chuàng)建由服務(wù)調(diào)用發(fā)起,服務(wù)需為通信中間件提供接收消息的回調(diào)函數(shù)。消息中間件的同步發(fā)送接口會(huì)阻塞服務(wù)進(jìn)程,異步發(fā)送接口要求服務(wù)提供回調(diào)函數(shù)。

        2.4 平臺(tái)基礎(chǔ)服務(wù)

        平臺(tái)基礎(chǔ)服務(wù)包括日志服務(wù)及調(diào)試打印服務(wù)兩個(gè)基本服務(wù)和系統(tǒng)資源抽象服務(wù)。

        (1) 日志服務(wù)

        日志記錄了包括各服務(wù)啟動(dòng)、異?,F(xiàn)場(chǎng)、系統(tǒng)資源使用情況等重要信息[7]。日志服務(wù)的數(shù)據(jù)在內(nèi)存中匯聚,周期性更新并保存到flash 上。

        日志服務(wù)對(duì)外提供日志輸入與日志顯示兩種標(biāo)準(zhǔn)接口。外部程序按照接口要求調(diào)用獲得日志服務(wù)。日志服務(wù)的構(gòu)建如圖7 所示。

        圖7 日志服務(wù)結(jié)構(gòu)圖

        (2) 網(wǎng)絡(luò)調(diào)試打印服務(wù)

        網(wǎng)絡(luò)調(diào)試服務(wù)提供基于優(yōu)先級(jí)的、支持本地/遠(yuǎn)端信息輸出的服務(wù)[8],結(jié)構(gòu)如圖8 所示。

        圖8 網(wǎng)絡(luò)調(diào)試打印服務(wù)結(jié)構(gòu)圖

        調(diào)用print_config 標(biāo)準(zhǔn)接口啟動(dòng)調(diào)試打印服務(wù),并配置優(yōu)先級(jí)、輸出目標(biāo)IP 等參數(shù)。通過(guò)xPrint 接口打印自定義的輸出格式數(shù)據(jù)。

        (3) 系統(tǒng)資源抽象服務(wù)

        服務(wù)對(duì)平臺(tái)IPC(Inter-Process Communication)、信號(hào)、串口等系統(tǒng)資源進(jìn)行抽象化,將其封裝成標(biāo)準(zhǔn)的服務(wù)接口,無(wú)差別地為其他服務(wù)(包括通信中間件)提供支持。

        2.5 公共應(yīng)用服務(wù)

        公共應(yīng)用服務(wù)是指一般嵌入式通信設(shè)備均需要的一般服務(wù),如人機(jī)交互服務(wù)、網(wǎng)絡(luò)管理服務(wù)、軟件維護(hù)服務(wù)、測(cè)試支撐服務(wù)等。

        架構(gòu)支持 LED 顯示屏、WEB、控制臺(tái)命令(Shell)等多手段的人機(jī)交互方式,形成標(biāo)準(zhǔn)的接口對(duì)外提供調(diào)用服務(wù)。類似于以操作為對(duì)象,對(duì)外提供不同的網(wǎng)絡(luò)管理服務(wù)接口,為上層應(yīng)用或服務(wù)提供網(wǎng)絡(luò)管控手段。

        軟件維護(hù)服務(wù)主要是指軟件升級(jí),涉及的場(chǎng)景共有三種,歸納于圖9 中。

        圖9 軟件維護(hù)的三個(gè)場(chǎng)景

        網(wǎng)絡(luò)中有服務(wù)器時(shí),設(shè)備與服務(wù)器中的軟件進(jìn)行版本檢測(cè)對(duì)比,不是最新版本則從服務(wù)器下載最新的軟件進(jìn)行升級(jí)。沒有服務(wù)器時(shí),設(shè)備之間自主進(jìn)行軟件版本匹配,如果設(shè)備之間軟件版本不一致則從最新版本設(shè)備中下載新程序進(jìn)行更新升級(jí)。

        架構(gòu)中的測(cè)試支撐服務(wù)是一個(gè)集中處理可測(cè)試性的接入窗口服務(wù)。設(shè)備軟硬件可測(cè)試性主要由具體的硬件、軟件模塊提供支撐。

        硬件可測(cè)試性支撐服務(wù)需要做到:提供各項(xiàng)硬件測(cè)試、檢測(cè)的執(zhí)行過(guò)程,并返回測(cè)試結(jié)果的自動(dòng)測(cè)試功能;提供自動(dòng)跳轉(zhuǎn)參數(shù)以滿足性能指標(biāo)的自動(dòng)校準(zhǔn)功能。軟件可測(cè)試服務(wù),指的是提供各項(xiàng)測(cè)試的測(cè)試用例、測(cè)試指令輸入口及執(zhí)行測(cè)試用例功能。

        測(cè)試支撐服務(wù)整體結(jié)構(gòu)如圖10 所示。其具備的功能包括:

        ①支持測(cè)試指令、校準(zhǔn)指令輸入;

        ②支持調(diào)試指令輸入;

        ③具備測(cè)試、校準(zhǔn)操作執(zhí)行過(guò)程集合。

        該服務(wù)對(duì)外提供輸入接口,可按照既定輸入規(guī)范,對(duì)軟硬件模塊進(jìn)行狀態(tài)更改、控制及故障定位等進(jìn)行測(cè)試與調(diào)試。

        圖10 測(cè)試支撐服務(wù)結(jié)構(gòu)圖

        3 平臺(tái)適應(yīng)性分析

        本設(shè)計(jì)選用的軟件架構(gòu),適用于Linux 系統(tǒng)下ARM、PowerPC、X86 等平臺(tái)的嵌入式設(shè)備開發(fā)。核心管理服務(wù)在開發(fā)過(guò)程中,考慮程序移植性,支持多平臺(tái)的編碼設(shè)計(jì),以宏定義的方式,針對(duì)不同的硬件平臺(tái)進(jìn)行編譯選擇??紤]Linux 的內(nèi)核態(tài)和用戶態(tài)特性,在內(nèi)核態(tài)中,通過(guò)自定義標(biāo)準(zhǔn)函數(shù)指針的形式,對(duì)外提供注冊(cè)注銷以及數(shù)據(jù)發(fā)送接口,其他軟件模塊動(dòng)態(tài)注冊(cè)時(shí)提供其數(shù)據(jù)接收接口;應(yīng)用態(tài)模塊間通過(guò)套接字進(jìn)行模塊間的數(shù)據(jù)傳輸。

        本架構(gòu)下的服務(wù),應(yīng)用態(tài)下以.so 文件存在,內(nèi)核態(tài)下以.ko 文件形式存在。核心管理程序根據(jù)用戶需求,動(dòng)態(tài)調(diào)用、加載相應(yīng)服務(wù)程序;用戶結(jié)束服務(wù)后,殺死或卸載對(duì)應(yīng)的服務(wù),減輕CPU 的負(fù)載壓力。依據(jù)Linux 系統(tǒng)可剪裁的特性,可根據(jù)嵌入式設(shè)備不同的應(yīng)用需求,調(diào)整Linux 系統(tǒng)的實(shí)時(shí)性、搶占式參數(shù),對(duì)架構(gòu)中各模塊的優(yōu)先級(jí)進(jìn)行設(shè)置,提高架構(gòu)在各平臺(tái)下不同應(yīng)用場(chǎng)景的適配性。

        4 結(jié)束語(yǔ)

        結(jié)合嵌入式系統(tǒng)的應(yīng)用背景,針對(duì)嵌入式設(shè)備可熱插拔、按需擴(kuò)展、廣泛移植應(yīng)用的需求,設(shè)計(jì)了可通用的主控軟件架構(gòu)。該軟件架構(gòu)基于SOA 思想進(jìn)行設(shè)計(jì),具有松耦合、易擴(kuò)展、可移植、平臺(tái)無(wú)關(guān)等多個(gè)特點(diǎn),已在多個(gè)項(xiàng)目和設(shè)備上實(shí)際應(yīng)用,軟件的耦合性、擴(kuò)展性、移植性均得到充分驗(yàn)證,也可較好地適用于SCA、SDN 等技術(shù)的應(yīng)用環(huán)境,具有良好的實(shí)用性和應(yīng)用前景。

        猜你喜歡
        中間件日志嵌入式
        一名老黨員的工作日志
        扶貧日志
        心聲歌刊(2020年4期)2020-09-07 06:37:14
        RFID中間件技術(shù)及其應(yīng)用研究
        電子制作(2018年14期)2018-08-21 01:38:10
        基于VanConnect中間件的設(shè)計(jì)與開發(fā)
        搭建基于Qt的嵌入式開發(fā)平臺(tái)
        游學(xué)日志
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        中間件在高速公路領(lǐng)域的應(yīng)用
        Altera加入嵌入式視覺聯(lián)盟
        倍福 CX8091嵌入式控制器
        国产一区二区三区杨幂| 超碰97人人射妻| 少妇被粗大的猛烈进出免费视频| 精品人妻一区二区三区四区| 日日爽日日操| 毛片色片av色在线观看| 亚洲一区二区三区偷拍视频| 中文字幕有码无码人妻av蜜桃| 亚洲 自拍 另类小说综合图区| 丰满多毛少妇做爰视频| 无码精品人妻一区二区三区98| 亚洲一区久久蜜臀av| 日韩精品无码一区二区三区| 日韩人妻无码精品久久久不卡| 国产精品久久久久久福利| 国产精品人妻一码二码尿失禁| 亚洲欧美日韩国产综合久| av免费在线手机观看| 亚洲亚洲人成综合网络| 精品成在人线av无码免费看| 粉嫩极品国产在线观看免费一区| 中文字幕人妻在线中字| 男男车车的车车网站w98免费 | 美国黄色片一区二区三区| 亚洲成av人片在线天堂无| 日韩av天堂一区二区| 亚洲成aⅴ人片久青草影院| 国产精品卡一卡二卡三| 亚洲欧美成人久久综合中文网| 亚洲精品中文字幕乱码| 国产欧美日韩va另类在线播放| 色八区人妻在线视频免费 | 久久综合九色综合网站| 亚洲午夜看片无码| 男女动态视频99精品| 国产在线高清理伦片a| 俄罗斯老熟妇色xxxx| 亚洲欧美日韩国产综合专区| 中文字幕中文字幕三区| 亚洲国产成人精品无码区在线播放| 无码人妻av一区二区三区蜜臀|