国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于網(wǎng)芯一號處理器的銳華操作系統(tǒng)適配

2020-04-01 20:21任占廣張學(xué)敏

任占廣 張學(xué)敏

摘要:網(wǎng)芯一號處理器是我國自主研制的一款高性能通信處理器芯片,具有指標(biāo)性能高、環(huán)境適應(yīng)性強(qiáng)和綜合能耗低等特點(diǎn)。面向該處理器在嵌入式領(lǐng)域的實(shí)時(shí)性需求,開展銳華操作系統(tǒng)適配技術(shù)研究,突破基于自主芯片之上的自主可控實(shí)時(shí)操作系統(tǒng)關(guān)鍵技術(shù)。研究結(jié)果表明,銳華操作系統(tǒng)可以較好適配網(wǎng)芯一號處理器,滿足系統(tǒng)的實(shí)時(shí)性需求。

關(guān)鍵詞:自主可控;網(wǎng)芯一號處理器;嵌入式實(shí)時(shí)操作系統(tǒng)

中圖分類號:TP311文獻(xiàn)標(biāo)志碼:A文章編號:1008-1739(2020)22-58-4

0引言

現(xiàn)有通信設(shè)備中大量使用國外進(jìn)口的軟硬件產(chǎn)品,可能存在內(nèi)置后門和未知漏洞,對我國信息網(wǎng)絡(luò)造成嚴(yán)重的安全隱患。為此,推進(jìn)自主可控的產(chǎn)品成為解決國家網(wǎng)絡(luò)安全問題的戰(zhàn)略舉措。

網(wǎng)芯一號處理器是我國自主研制的一款高性能通信處理器芯片,目前Linux操作系統(tǒng)已經(jīng)完成對網(wǎng)芯一號處理器的適配,但在嵌入式領(lǐng)域,Linux操作系統(tǒng)在實(shí)時(shí)性上不能完全滿足需求,有必要進(jìn)一步拓展網(wǎng)芯一號處理器在嵌入式領(lǐng)域的應(yīng)用。

目前絕大部分功能較復(fù)雜的嵌入式系統(tǒng)都基于嵌入式實(shí)時(shí)操作系統(tǒng)(Embedded Real-time Operating System)進(jìn)行開發(fā)[1-2],相較其他國產(chǎn)嵌入式實(shí)時(shí)操作系統(tǒng),銳華嵌入式實(shí)時(shí)操作系統(tǒng)(ReWorks)在應(yīng)用范圍、功能完備、技術(shù)支持、應(yīng)用移植的方便性等方面都有較大優(yōu)勢,但目前銳華嵌入式實(shí)時(shí)操作系統(tǒng)還沒有適配網(wǎng)芯一號處理器。

1系統(tǒng)簡介

1.1網(wǎng)芯一號處理器

網(wǎng)芯一號處理器具有指標(biāo)性能高、環(huán)境適應(yīng)性強(qiáng)和綜合能耗低等特點(diǎn),一方面可作為控制處理器,應(yīng)用于控制交換板和業(yè)務(wù)接口板,支撐戰(zhàn)略網(wǎng)絡(luò)固定匯聚/接入級、車載/搬移式以及戰(zhàn)術(shù)網(wǎng)核心/接入級通信網(wǎng)絡(luò)技術(shù)研發(fā)與裝備研制。另一方面可作為專用分組報(bào)文處理器,支撐戰(zhàn)術(shù)接入級通信網(wǎng)絡(luò)技術(shù)研發(fā)與裝備研制。另外,該芯片還可用于網(wǎng)絡(luò)安全和數(shù)據(jù)鏈等領(lǐng)域的裝備研制,實(shí)現(xiàn)百兆以上級分組報(bào)文處理。

面向網(wǎng)芯一號處理器在嵌入式領(lǐng)域的實(shí)時(shí)性需求,開展銳華操作系統(tǒng)適配技術(shù)研究,突破基于自主芯片之上的自主可控實(shí)時(shí)操作系統(tǒng)關(guān)鍵技術(shù),研制形成嵌入式實(shí)時(shí)自主可控處理平臺。

1.2銳華嵌入式操作系統(tǒng)

銳華操作系統(tǒng)是國內(nèi)領(lǐng)先的具有自主知識產(chǎn)權(quán)的嵌入式實(shí)時(shí)操作系統(tǒng),該產(chǎn)品核心代碼自主可控,能為不同領(lǐng)域的用戶提供差異化的定制服務(wù)[3-5]。

銳華嵌入式操作系統(tǒng)集成開發(fā)套件包括銳華嵌入式實(shí)時(shí)操作系統(tǒng)[4]和集成開發(fā)環(huán)境[5]兩部分。銳華嵌入式實(shí)時(shí)操作系統(tǒng)是一個(gè)高可靠、強(qiáng)實(shí)時(shí)嵌入式操作系統(tǒng),采用微內(nèi)核及組件技術(shù),能根據(jù)應(yīng)用需要對操作系統(tǒng)內(nèi)核進(jìn)行配置、裁剪、擴(kuò)展與定制,具備較強(qiáng)伸縮能力;銳華嵌入式應(yīng)用集成開發(fā)環(huán)境(ReDe)具有開放性、跨平臺、一體化等特點(diǎn)。因此,銳華嵌入式實(shí)時(shí)操作系統(tǒng)能夠更好地滿足網(wǎng)芯一號處理器在嵌入式領(lǐng)域的實(shí)時(shí)性需求。

2基于網(wǎng)芯一號處理器的銳華操作系統(tǒng)適配技術(shù)

基于網(wǎng)芯一號處理器的銳華操作系統(tǒng)適配技術(shù)利用網(wǎng)芯一號處理器應(yīng)用開發(fā)系統(tǒng)硬件平臺,通過在銳華操作系統(tǒng)進(jìn)行板級支持包(BSP)和驅(qū)動(dòng)程序的開發(fā),實(shí)現(xiàn)銳華操作系統(tǒng)的適配工作,系統(tǒng)組成如圖1所示。

2.1概述

BSP是介于底層硬件和上層軟件之間的底層軟件開發(fā)包,主要功能是屏蔽硬件、提供操作系統(tǒng)的驅(qū)動(dòng)和硬件驅(qū)動(dòng)[6]。銳華操作系統(tǒng)定義了BSP開發(fā)模板,提供了一系列模塊接口,通過實(shí)現(xiàn)模塊接口完成BSP的開發(fā)工作。

基于網(wǎng)芯一號處理器的銳華操作系統(tǒng)適配項(xiàng)目中,BSP控制所有硬件,包括芯片、網(wǎng)口、串口、硬盤和PCI-E總線,向上提供虛擬的硬件平臺,主要功能包括上電時(shí)硬件的初始化銳華、操作系統(tǒng)上設(shè)備的驅(qū)動(dòng)程序,并為操作系統(tǒng)訪問硬件提供接口支持,為應(yīng)用程序提供相關(guān)程序入口,可以使其訪問底層硬件,把硬件相關(guān)軟件和無關(guān)軟件整合在銳華操作系統(tǒng)內(nèi)核中。BSP在整個(gè)內(nèi)核中的位置如圖2所示。

銳華操作系統(tǒng)根據(jù)設(shè)備訪問方式不同,將設(shè)備分為字符設(shè)備、塊設(shè)備和網(wǎng)絡(luò)設(shè)備3類。字符設(shè)備是以字符為單位進(jìn)行讀寫訪問的,比較典型的有串口設(shè)備、鍵盤設(shè)備等;塊設(shè)備是以塊為單位進(jìn)行讀寫訪問的,比較典型的有硬盤、SD卡等;網(wǎng)絡(luò)設(shè)備是一種比較特殊的設(shè)備,依賴網(wǎng)絡(luò)協(xié)議棧實(shí)現(xiàn)。

銳華操作系統(tǒng)提供了I/O模塊,通過實(shí)現(xiàn)該模塊的應(yīng)用程序API,可以訪問字符設(shè)備、網(wǎng)絡(luò)設(shè)備、(通過文件系統(tǒng))塊設(shè)備等;通過該模塊的驅(qū)動(dòng),API可以開發(fā)和管理驅(qū)動(dòng)程序;通過該模塊的文件系統(tǒng),API可以管理文件系統(tǒng)。銳華操作系統(tǒng)的設(shè)備驅(qū)動(dòng)工作原理是操作硬件相關(guān)寄存器,并為應(yīng)用層提供一套標(biāo)準(zhǔn)的接口:對上提供一套內(nèi)核標(biāo)準(zhǔn)接口響應(yīng)函數(shù),對下提供硬件驅(qū)動(dòng)和硬件中斷響應(yīng)函數(shù),可以通過實(shí)現(xiàn)I/O模塊相關(guān)API完成驅(qū)動(dòng)程序的開發(fā)工作。

2.2 BSP設(shè)計(jì)

銳華集成開發(fā)環(huán)境是一個(gè)集嵌入式軟件設(shè)計(jì)、開發(fā)、調(diào)試、測試、集成部署于一體的開發(fā)平臺,為基于銳華嵌入式實(shí)時(shí)操作系統(tǒng)的嵌入式軟件與運(yùn)行提供全過程支持[5]。基于銳華集成開發(fā)環(huán)境可以更高效地進(jìn)行BSP開發(fā)和驅(qū)動(dòng)程序開發(fā)。在銳華集成開發(fā)環(huán)境下,BSP的開發(fā)流程如下:

①選擇與網(wǎng)芯一號處理器型號相近的BSP包作為BSP開發(fā)模板,根據(jù)目標(biāo)板卡外圍器件進(jìn)行修改或添加代碼,滿足項(xiàng)目的應(yīng)用,并創(chuàng)建BSP庫工程;

②實(shí)現(xiàn)用于調(diào)試的printk()函數(shù);

③根據(jù)BSP的開發(fā)需要,通過銳華集成開發(fā)環(huán)境ReDe進(jìn)行資源配置。如BSP開發(fā)網(wǎng)卡驅(qū)動(dòng)時(shí),需要網(wǎng)絡(luò)協(xié)議棧,可通過添加“增強(qiáng)型網(wǎng)絡(luò)協(xié)議?!辟Y源,將網(wǎng)卡設(shè)備驅(qū)動(dòng)相關(guān)的資源納入到BSP開發(fā)工程中,在編譯生成的ReWorks目標(biāo)鏡像中就會(huì)包含增強(qiáng)型網(wǎng)絡(luò)協(xié)議棧相關(guān)信息;

④編寫start.s的預(yù)初始化代碼,完成操作系統(tǒng)運(yùn)行環(huán)境初始化、驅(qū)動(dòng)初始化,最后執(zhí)行用戶代碼的一系列流程;編寫printk調(diào)試輸出模塊代碼、中斷控制器模塊代碼、系統(tǒng)時(shí)鐘模塊代碼、CACHE和MMU配置模塊代碼等;

⑤對工程進(jìn)行編譯構(gòu)建,編譯完畢產(chǎn)生ReWorks目標(biāo)鏡像文件,下載至目標(biāo)板上進(jìn)行BSP調(diào)試;

⑥BSP工程發(fā)布。在銳華集成開發(fā)環(huán)境中,開發(fā)完成的BSP將以“資源組件”的形式提交發(fā)布,通過定制BSP資源組件工程與目標(biāo)板資源工程將BSP集成到銳華集成開發(fā)環(huán)境中,然后生成自引導(dǎo)程序,并完成自引導(dǎo)程序的相關(guān)配置信息,編譯生成ReWorks目標(biāo)鏡像文件。

2.3驅(qū)動(dòng)程序設(shè)計(jì)

根據(jù)網(wǎng)芯一號處理器外設(shè)需求,需要開發(fā)串口驅(qū)動(dòng)、網(wǎng)口驅(qū)動(dòng)、硬盤驅(qū)動(dòng)和PCI-E總線驅(qū)動(dòng)。本節(jié)通過網(wǎng)卡驅(qū)動(dòng)的實(shí)例具體說明設(shè)備驅(qū)動(dòng)程序的開發(fā)過程。

(1)網(wǎng)卡驅(qū)動(dòng)的掛接與配置

建立網(wǎng)卡驅(qū)動(dòng)掛接對象:

staticstructrtos_bsdnet_ifconfigconfig_em0= {“em0”, em_attach,NULL,0,0,0,0,0,0,0,0,0,0};

調(diào)用rtos_bsdnet_attach(&config_em0)函數(shù)實(shí)現(xiàn)網(wǎng)卡驅(qū)動(dòng)掛接操作。

其中em_attach()是網(wǎng)卡驅(qū)動(dòng)入口函數(shù),用于識別硬件類型,并分配所有相關(guān)資源、初始化硬件設(shè)備配置。通常此函數(shù)通過調(diào)用em_setup_interface()函數(shù)還可以實(shí)現(xiàn)對網(wǎng)絡(luò)協(xié)議棧的ifnet對象的賦值等初始化操作。

通過ifconfig()函數(shù)配置網(wǎng)卡IP地址和子網(wǎng)掩碼,通過hostAdd()函數(shù)配置網(wǎng)卡IP地址所對應(yīng)的主機(jī)。通過以上操作,系統(tǒng)就可以將網(wǎng)卡驅(qū)動(dòng)和網(wǎng)絡(luò)協(xié)議棧掛接起來,實(shí)現(xiàn)網(wǎng)卡的基本功能。

(2)網(wǎng)絡(luò)協(xié)議棧的ifnet對象掛接

調(diào)用em_setup_interface()函數(shù)創(chuàng)建網(wǎng)絡(luò)設(shè)備描述符結(jié)構(gòu)體和注冊接口,并為網(wǎng)絡(luò)協(xié)議棧的ifnet對象賦值,ifnet對象通過em_init()函數(shù)初始化接口,創(chuàng)建發(fā)送/接收任務(wù),初始化接收描述符等;通過em_start()函數(shù)啟動(dòng)網(wǎng)卡設(shè)備,然后em_setup_interface()函數(shù)將ifnet對象掛接到網(wǎng)絡(luò)協(xié)議棧,網(wǎng)絡(luò)協(xié)議棧通過掛接的接口調(diào)到網(wǎng)卡底層驅(qū)動(dòng),當(dāng)協(xié)議棧有數(shù)據(jù)包發(fā)送時(shí),會(huì)通過ifnet結(jié)構(gòu)體中if_start ()函數(shù)指向的em_start()函數(shù)實(shí)現(xiàn)數(shù)據(jù)發(fā)送功能。

(3)設(shè)備讀/寫操作

當(dāng)用戶調(diào)用write()函數(shù)進(jìn)行寫操作時(shí),I/O系統(tǒng)調(diào)用在驅(qū)動(dòng)程序表中注冊的函數(shù)em_wirte(),該函數(shù)將拷貝需要發(fā)送的數(shù)據(jù)到網(wǎng)絡(luò)緩沖區(qū)MBUF中,并調(diào)用if_start ()啟動(dòng)發(fā)送,em_start()將數(shù)據(jù)拷貝到設(shè)備緩沖區(qū)中,并放置到設(shè)備的發(fā)送隊(duì)列,完成發(fā)送操作。數(shù)據(jù)發(fā)送流程如圖3所示。

當(dāng)驅(qū)動(dòng)程序接收到數(shù)據(jù)包時(shí),會(huì)調(diào)用接收中斷服務(wù)程序,中斷服務(wù)程序em_intr()啟動(dòng)em_process_recve_interrupts(),將RBD中的數(shù)據(jù)拷貝到緩沖區(qū)MBUF中,當(dāng)用戶調(diào)用read()函數(shù)進(jìn)行讀操作時(shí),I/O系統(tǒng)調(diào)用在驅(qū)動(dòng)程序表中注冊的函數(shù)em_read(),該函數(shù)會(huì)將消息隊(duì)列中的內(nèi)容讀入用戶緩沖區(qū),完成接收操作。數(shù)據(jù)接收流程如圖4所示。

(4)關(guān)閉設(shè)備

關(guān)閉操作是打開操作的逆過程,當(dāng)需要關(guān)閉網(wǎng)卡時(shí),系統(tǒng)會(huì)調(diào)用函數(shù)em_stop()來完成,該函數(shù)釋放中斷向量,停止接收和發(fā)送寄存器的DMA處理,并將電源放置到低功耗。

(5)設(shè)備中斷管理

設(shè)備進(jìn)行讀/寫操作時(shí)使用,當(dāng)設(shè)備接收到數(shù)據(jù)或數(shù)據(jù)發(fā)送結(jié)束時(shí),通過觸發(fā)中斷信號,向系統(tǒng)報(bào)告這一狀態(tài),系統(tǒng)便執(zhí)行中斷服務(wù)函數(shù)em_intr()進(jìn)行相應(yīng)處理。

3測試與實(shí)驗(yàn)結(jié)果

基于網(wǎng)芯一號處理器的銳華操作系統(tǒng)適配中,利用編譯生成的包含BSP的ReWorks鏡像,下載至搭載網(wǎng)芯一號處理器的板卡上,對BSP的各項(xiàng)功能進(jìn)行測試,測試結(jié)果均能滿足要求;同時(shí)分別進(jìn)行了各項(xiàng)驅(qū)動(dòng)程序測試,均能正確實(shí)現(xiàn)各項(xiàng)驅(qū)動(dòng)程序的功能。

基于自主研發(fā)的網(wǎng)芯一號處理器的硬件平臺上,分別進(jìn)行Linux操作系統(tǒng)、VxWorks實(shí)時(shí)操作系統(tǒng)[7]和銳華嵌入式實(shí)時(shí)操作系統(tǒng)的典型性能對比測試,其中2項(xiàng)重要性能指標(biāo)測試結(jié)果如表1所示。

根據(jù)設(shè)備技術(shù)指標(biāo)需求:系統(tǒng)中斷響應(yīng)/恢復(fù)時(shí)間和任務(wù)響應(yīng)/恢復(fù)時(shí)間需小于3μs;軟硬件完全自主可控。從測試結(jié)果可以看出,基于網(wǎng)芯一號處理器的硬件平臺,Linux嵌入式系統(tǒng)的2項(xiàng)技術(shù)指標(biāo)均不滿足需求;VxWorks實(shí)時(shí)操作系統(tǒng)滿足第1項(xiàng)技術(shù)指標(biāo)需求,但不滿足第2項(xiàng)指標(biāo)需求;銳華嵌入式實(shí)時(shí)操作系統(tǒng)可以同時(shí)滿足2項(xiàng)技術(shù)指標(biāo)需求,系統(tǒng)中斷響應(yīng)/恢復(fù)時(shí)間和任務(wù)響應(yīng)/恢復(fù)時(shí)間技術(shù)指標(biāo)不僅優(yōu)于Linux操作系統(tǒng),而且與國外主流實(shí)時(shí)操作系統(tǒng)的性能相當(dāng),甚至在部分功能測試上具有明顯優(yōu)勢。

通過對基于網(wǎng)芯一號處理器的銳華操作系統(tǒng)的適配測試結(jié)果可知,銳華操作系統(tǒng)可以較好地適配網(wǎng)芯一號處理器,并能夠滿足嵌入式系統(tǒng)的實(shí)時(shí)性需求。同時(shí),銳華操作系統(tǒng)提供的VxWorks兼容層模塊,極大地方便了使用VxWorks接口的應(yīng)用程序或驅(qū)動(dòng)開發(fā)的移植工作。

4結(jié)束語

本文主要面向網(wǎng)芯一號處理器在嵌入式領(lǐng)域的實(shí)時(shí)性需求,開展銳華操作系統(tǒng)適配技術(shù)研究,主要包括BSP研究和驅(qū)動(dòng)程序研究,并基于自主研發(fā)的網(wǎng)芯一號處理器的硬件平臺,進(jìn)行銳華嵌入式實(shí)時(shí)操作系統(tǒng)的移植;對高層軟件進(jìn)行修改移植,驗(yàn)證了銳華嵌入式操作系統(tǒng)滿足嵌入式操作系統(tǒng)的實(shí)時(shí)性需求。

基于網(wǎng)芯一號處理器的銳華操作系統(tǒng)適配技術(shù),突破了基于自主芯片之上的自主可控實(shí)時(shí)操作系統(tǒng)關(guān)鍵技術(shù),研制形成了嵌入式實(shí)時(shí)自主可控處理平臺。

參考文獻(xiàn)

[1]林建民.嵌入式操作系統(tǒng)技術(shù)發(fā)展趨勢[J].計(jì)算機(jī)工程, 2001,27(10):114-118.

[2]許海燕,付炎.嵌入式系統(tǒng)技術(shù)與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2002.

[3]胡明星,肖博峰,游夏.國產(chǎn)平臺嵌入式高性能圖形方案的研究與應(yīng)用[J].數(shù)字技術(shù)與應(yīng)用,2018,36(2):94-96.

[4]李浩正,羅利強(qiáng),周游,等.基于銳華嵌入式實(shí)時(shí)操作系統(tǒng)雷達(dá)數(shù)據(jù)處理軟件設(shè)計(jì)[J].火控雷達(dá)技術(shù),2018,47(1):54-57.

[5]丁如藝,張激,李嘉偉.嵌入式系統(tǒng)平臺抽象層設(shè)計(jì)與接口實(shí)現(xiàn)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2020,29(3):108-113.

[6]陳懷民,王哲,程鵬飛,等.VxWorks下設(shè)備驅(qū)動(dòng)程序開發(fā)技術(shù)研究[J].現(xiàn)代電子技術(shù),2015,38(10):38-41.

[7]林嘉樹,蔣鈴鴿.VxWorks操作系統(tǒng)BSP和BootLoader介紹[J].電信快報(bào),2005(7):47-50.

高唐县| 阿克苏市| 武鸣县| 独山县| 庆安县| 广宁县| 石楼县| 电白县| 措勤县| 石家庄市| 米易县| 武威市| 财经| 万荣县| 惠东县| 兖州市| 临泉县| 洪泽县| 门源| 洛扎县| 株洲市| 东宁县| 庄浪县| 南昌县| 曲沃县| 聂拉木县| 博爱县| 哈巴河县| 名山县| 正蓝旗| 保康县| 平谷区| 张家港市| 芒康县| 赤峰市| 泰和县| 大埔县| 蒲江县| 宁远县| 泸溪县| 崇仁县|