999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于TMS320C6678的國產(chǎn)DSP操作系統(tǒng)引導(dǎo)程序設(shè)計

2018-02-23 12:47:26馬云游夏
電子技術(shù)與軟件工程 2018年6期

馬云 游夏

摘要 以IMS32UC6678為代表的鬲性能DSP芯片,不僅具有快速的數(shù)據(jù)處理能力,而且提供了豐富的片上接口資源。DSP應(yīng)用的開發(fā)也從單跑應(yīng)用程序過渡到操作系統(tǒng)時代,多核操作系統(tǒng)的引導(dǎo)過程要比單個應(yīng)用的引導(dǎo)更加復(fù)雜、更具有挑戰(zhàn)性,是DSP的關(guān)鍵技術(shù)之一。本文針對國產(chǎn)DSP操作系統(tǒng)提出了一種引導(dǎo)方法,并在星載、車載和艦載等DSP設(shè)備中得到了成功的驗證。

【關(guān)鍵詞】TMS320C6678 引導(dǎo)程序 DSP 操作系統(tǒng)

1 引言

TMS320C6678是德州儀器(TI)公司全新架構(gòu)的TMS320C66x數(shù)字信號處理器。該芯片基于KeyStone多內(nèi)核sOc架構(gòu)實現(xiàn),內(nèi)部集成了最多8個C66x核,單核的最高工作頻率1.25 GHz,單核即可實現(xiàn)40 GMAC的定點處理或20 GFLOP的浮點處理能力。在雷達(dá)信號處理、水聲設(shè)備、電子對抗、圖形圖像處理、無線和移動通信等領(lǐng)域取得了廣泛的應(yīng)用。

在DSP的實際應(yīng)用中,系統(tǒng)的啟動過程要脫離仿真器件,實現(xiàn)自動加載。特別是對DSP操作系統(tǒng)來說,引導(dǎo)過程不僅要完成對鏡像文件的讀取、解析、復(fù)制到內(nèi)存,還要考慮到操作系統(tǒng)的內(nèi)存劃分和映射機(jī)制、芯片內(nèi)不同核之間的同步等因素,因此非常有必要研究DSP操作系統(tǒng)的引導(dǎo)方法。

2 DSP啟動方式

通常TMS320C6678是通過RBL (ROMBoot Loader)啟動的,RBL是固化在DSP芯片內(nèi)一段程序,永久地存儲在DSP的ROM中,起始地址是Ox02BOOOOO,大小共計128Kbytes,用戶不能對其修改。在芯片上電復(fù)位后,RBL負(fù)責(zé)將操作系統(tǒng)鏡像或用戶應(yīng)用程序鏡像從外部主機(jī)或內(nèi)部的非易失性存儲器( EEPROM、FLASH)傳送到內(nèi)部的高速內(nèi)存(Cache、MSM或DDR)中,并跳轉(zhuǎn)到入口地址運(yùn)行程序。

為了適應(yīng)不同應(yīng)用的需要,TMS320C6678提供了多種啟動方式,可以通過網(wǎng)卡、PCIe、SRIO、HyperLink接口從主機(jī)下載鏡像,也可以通過EMIF、SPI、120接口從外部存儲器下載鏡像,完成啟動過程。這里的主機(jī)可以是通用的PC機(jī),也可以是具有上述接口(網(wǎng)卡、PCIe、SRIO等)的嵌入式系統(tǒng),特別是多節(jié)點DSP應(yīng)用中,使用一個DSP節(jié)點作為主機(jī)啟動其它DSP節(jié)點是一種非常高效的引導(dǎo)方式。

TMS320C6678芯片有13個外部引腳BOOTMODE[12:0]用于引導(dǎo)方式的設(shè)置。上電后,內(nèi)核O執(zhí)行RBL代碼,并采樣這13個引腳的狀態(tài),決定采用哪種引導(dǎo)方式。管腳配置共分三類,分別是BOOTMODE[2:0]用于選擇引導(dǎo)外設(shè)接口,BOOTMODE[9:3]用于設(shè)置外設(shè)接口的初始化參數(shù)。BOOTMODE[12:10]用于PLL的初始化配置。

3 傳統(tǒng)啟動方式的缺陷

雖然可以通過RBL直接加載應(yīng)用,但是在實際應(yīng)用過程中存在眾多的限制性因素使其無法滿足要求,主要體現(xiàn)在:

3.1 文件格式的限制

RBL是固化在DSP內(nèi)部的一段程序,非常精簡,但是無法直接對ELF格式的文件進(jìn)行解析。為了實現(xiàn)鏡像的加載,必須通過TI提供的一系列的工具將ELF文件轉(zhuǎn)換成特定的格式,而且不同接口轉(zhuǎn)換后的格式也不盡相同,例如通過網(wǎng)絡(luò)、SPI、I2C、EMIF等加載必須通過不同的方法完成轉(zhuǎn)換,通用性極差。

在啟動過程中還需配置引導(dǎo)表( BootTable)、啟動參數(shù)表(Boot Parameter Table)和啟動配置表(Boot Config Table)等眾多參數(shù),對不熟悉硬件的DSP開發(fā)人員來說難以使用。

3.2 硬件配置的限制

對于實際應(yīng)用中的DSP板卡來說,外設(shè)接口(如SRIO、網(wǎng)卡、PCIe等)通常是通過交換芯片與外部連接,交換芯片在使用前是需要配置的。在RBL中不提供對交換芯片的配置功能,也就意味著帶有交換芯片的板卡根本無法通過這些外設(shè)接口加載。

帶有操作系統(tǒng)的鏡像,特別支持網(wǎng)絡(luò)、動態(tài)加卸載、符號表和文件系統(tǒng)等功能的鏡像文件通常較大,鏡像代碼段和操作系統(tǒng)的運(yùn)行空間需要使用DDR存儲器,特別是當(dāng)啟動多核時,Cache和共享內(nèi)存不具備加載和運(yùn)行功能復(fù)雜的操作系統(tǒng)的條件。而DSP芯片啟動過程中不會初始化DDR,也就意味著無法完成鏡像的加載。

3.3 操作系統(tǒng)的限制

操作系統(tǒng)不同于簡單的應(yīng)用,操作系統(tǒng)中存在虛擬地址和多核間的同步問題,傳統(tǒng)的加載方式無法識別操作系統(tǒng)內(nèi)部的虛擬地址和物理地址,在解析和鏡像搬移的過程中會將數(shù)據(jù)搬移到虛擬地址,這樣操作系統(tǒng)根本無法運(yùn)行,RBL啟動僅限于單核,也不考慮多核間的同步問題。

4 國產(chǎn)DSP操作系統(tǒng)

本文的引導(dǎo)是針對于帶有操作系統(tǒng)的鏡像,操作系統(tǒng)選用國產(chǎn)的銳華DSP實時操作系統(tǒng),該操作系統(tǒng)提供了面向主流DSP芯片的高性能國產(chǎn)基礎(chǔ)軟件解決方案,其內(nèi)核完全自主設(shè)計,并針對TI公司TMS320C6678芯片進(jìn)行了系統(tǒng)優(yōu)化。

銳華DSP實時操作系統(tǒng)使用AMP多核并行處理架構(gòu),操作系統(tǒng)部署在每個DSP核上,每個核都有自己的存儲空間和任務(wù)隊列、上下文操作空間、堆棧等,核間提供了多核屏障、自旋鎖等多核同步和資源保護(hù)機(jī)制。銳華DSP實時操作系統(tǒng)具有強(qiáng)實時、高可靠特征,基于微內(nèi)核及組件技術(shù),能根據(jù)實際應(yīng)用需要對操作系統(tǒng)內(nèi)核進(jìn)行配置、裁剪、擴(kuò)展與定制。同時支持模塊的動態(tài)加卸載,易于系統(tǒng)重構(gòu)及應(yīng)用升級,解決了多核DSP難于使用的問題,改變了原有的DSP處理器編程模式,提高了用戶的軟件開發(fā)效率。

銳華DSP實時操作系統(tǒng)的所有核使用同一份映像代碼,每個核根據(jù)核號執(zhí)行不同的代碼分支。操作系統(tǒng)將DDR內(nèi)存分為2塊大的區(qū)域,高端為多核共享區(qū),低端為每個核的私有區(qū)。其中,引導(dǎo)、系統(tǒng)代碼、共享數(shù)據(jù)以及用戶自定義內(nèi)存均位于共享區(qū),每個核的堆和棧位于私有區(qū)。

在私有區(qū)中,每個核使用虛擬地址,也就是說每個核的物理地址不同,但邏輯地址是相同的,因此在操作系統(tǒng)引導(dǎo)方案設(shè)計過程中必須考慮這一因素。

多核加載功能是在操作系統(tǒng)中實現(xiàn)的,引導(dǎo)程序首先加載核O,對于另外7個核來說,主要是掛載IPC中斷,然后進(jìn)入等待狀態(tài)。當(dāng)核0啟動后,通過系統(tǒng)參數(shù)讀取哪些核需要被引導(dǎo),然后向需要被引導(dǎo)的核發(fā)送IPC中斷,其它核收到中斷后,即跳到入口地址,并完成多核的加載過程。

5 引導(dǎo)流程

針對傳統(tǒng)啟動方式的缺陷和實時操作系統(tǒng)的特點,本文設(shè)計了一種新的二次引導(dǎo)的加載程序(RBOOT)。與其它的二次引導(dǎo)不同,RBOOT重點考慮了操作系統(tǒng)參數(shù)、內(nèi)存構(gòu)架、板卡外設(shè)配置等。RBOOT可以作為通用的DSP芯片引導(dǎo)程序,無需為專門的DSP板卡或特殊的硬件設(shè)備定制,具有非常好的通用性。

RBOOT可以固化在外部存儲器(EEPROM. NOR Flash. NAND Flash),通過RBL引導(dǎo)。RBOOT支持主機(jī)啟動和存儲器啟動,包括但不限于RBL的全部啟動方式。如果有必要RBOOT甚至可以通過串口、GPIO等非常規(guī)啟動接口引導(dǎo)操作系統(tǒng)。

在RBOOT加載后進(jìn)入讀秒過程,并待串口的輸入。如果串口上有輸入,則進(jìn)入SHELL界面等待用戶的命令,如果無輸入,則使用默認(rèn)的引導(dǎo)方式加載。DSP操作系統(tǒng)鏡像加載流程如圖1所示。

在SHELL界面用戶可以完成以下功能:

(1)配置操作系統(tǒng),包括操作系統(tǒng)的物理地址空間、虛擬地址空間,需要引導(dǎo)的核的個數(shù)等,引導(dǎo)程序可根據(jù)這些參數(shù)正確的加載操作系統(tǒng);

(2)配置硬件,可配置的硬件包括網(wǎng)卡、SRIO、PCIe的參考頻率、發(fā)送和傳輸通道的參數(shù)、工作模式、波特率、板卡上的交換芯片、PHY芯片、DDR等。在加載過程中,根據(jù)這些參數(shù)啟動外設(shè),從而將鏡像文件讀入到芯片內(nèi)部;

(3)配置環(huán)境參數(shù),包括主機(jī)和目標(biāo)機(jī)的IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)信息、SRIO端口號、PCIe端口號、鏡像文件名稱等,如果從存儲器啟動,還可設(shè)置操作系統(tǒng)鏡像文件在存儲器上的偏移等;

(4)配置加載方式,目前可支持的加載方式有網(wǎng)卡、SRIO、PCIe、SPI、EMIF等,用戶可根據(jù)當(dāng)前的硬件特點選擇任何一種方式加載;

(5)加載操作系統(tǒng),讀取用戶配置的信息,根據(jù)當(dāng)前的啟動方式加載操作系統(tǒng),如果用戶未設(shè)置,會使用默認(rèn)的方式(EMIF接口)加載,因為在系統(tǒng)正式運(yùn)行后,以EMIF方式加載為主。

在板卡外設(shè)啟動后,RBOOT首先會讀取ELF文件的文件頭,從文件頭中解析出程序頭( Program Header)、段頭(Section Header)和操作系統(tǒng)入口地址( Entry point address)的信息。根據(jù)這些信息將ELF文件中的數(shù)據(jù)復(fù)制到內(nèi)存地址并進(jìn)行校驗。

在復(fù)制數(shù)據(jù)段到內(nèi)存的過程中,需考慮操作系統(tǒng)的物理地址和虛擬地址的轉(zhuǎn)換,如果讀到的是虛擬地址空間,需要計算出物理地址,并將數(shù)據(jù)復(fù)制到真實的物理地址中,這是和無操作系統(tǒng)鏡像加載最顯著的區(qū)別。

當(dāng)所有的數(shù)據(jù)復(fù)制完成并成功通過校驗后,跳入到操作系統(tǒng)鏡像的入口地址,并運(yùn)行操作系統(tǒng)。

6 實驗結(jié)果

RBOOT實現(xiàn)了自動加載操作系統(tǒng)鏡像程序,支持多種加載方式。實驗結(jié)果表明該引導(dǎo)程序能夠滿足加載方式多樣化的需求,可以從網(wǎng)絡(luò)( TFTP)、SRIO、PCIe、SPI、EMIF等加載操作系統(tǒng)鏡像,且加載過程中用戶無需更改鏡像文件的格式。

除了多種功能外,還對加載時間進(jìn)行了測試,測試使用相同的鏡像文件,大小為1.2Mbytes,程序的代碼段放在DDR上,8核同時加載。實驗結(jié)果表明,加載時間優(yōu)于傳統(tǒng)的JTAG加載以及RBL的網(wǎng)絡(luò)等加載方式,具體的實驗數(shù)據(jù)參見表1。

某些特定領(lǐng)域?qū)Χ喙?jié)點DSP的加載時間有特殊要求,如多個節(jié)點(64或128個)同時加載,必須在很短的時間內(nèi)通過網(wǎng)絡(luò)將操作系統(tǒng)完全加載成功,并且達(dá)到可用狀態(tài)。實驗結(jié)果表明,RBOOT可以用并行化的方式從TFTP服務(wù)器加載程序,完全滿足多節(jié)點同時加載的性能指標(biāo)。

7 結(jié)束語

RBOOT作為一款可配置硬件參數(shù)和操作系統(tǒng)參數(shù)DSP的引導(dǎo)程序,非常適合于國產(chǎn)DSP操作系統(tǒng)的引導(dǎo)。和傳統(tǒng)的引導(dǎo)方式相比,不僅性能上有了顯著提高,而且提供了靈活的啟動方式,對于提高開發(fā)效率,縮短產(chǎn)品的研制周期有非常重要的意義。

參考文獻(xiàn)

[1] TMS320C6678 Multicore Fixed andFloating-Point Digital SignalProcessor

(SPRS691E). TI

Inc. http://www.ti.com.2 014.

[2]Key Stone Architecture DSP BootloaderUser Guide (SPRUGY5C). TI Inc.http://www. ti. com. 2013.

[3]牛金海.TMS320C66x KeyStone架構(gòu)多核DSP入門與實例精解[M],上海交通大學(xué)出版社,2014.

主站蜘蛛池模板: 国产欧美精品专区一区二区| 欧美日韩中文国产va另类| 视频在线观看一区二区| 国产高清色视频免费看的网址| 亚洲男人的天堂久久香蕉网| 国产精品美女在线| 国产农村妇女精品一二区| 国产xxxxx免费视频| 99视频国产精品| 亚洲欧洲综合| 国产自无码视频在线观看| 国产精品女熟高潮视频| 亚洲日韩精品伊甸| 欧美色视频网站| 2020国产精品视频| 国产九九精品视频| 亚洲无码精品在线播放| 在线亚洲小视频| 亚洲视频影院| 亚洲男人的天堂在线| 国产午夜一级毛片| 久久伊人久久亚洲综合| 91精品啪在线观看国产91| 白丝美女办公室高潮喷水视频| 青青网在线国产| 亚洲欧洲日产国产无码AV| 最新无码专区超级碰碰碰| 少妇露出福利视频| 欧洲亚洲一区| 日韩无码真实干出血视频| 国产精品护士| 特级做a爰片毛片免费69| 国产玖玖视频| 亚洲日韩第九十九页| 国产精品亚洲va在线观看| 97成人在线视频| 黄片一区二区三区| 国产一级妓女av网站| 91亚洲精选| 欧美国产视频| 国产9191精品免费观看| 久久精品丝袜高跟鞋| 69av免费视频| 亚洲欧洲天堂色AV| 午夜免费小视频| 欧洲高清无码在线| 国产成人无码播放| 97久久免费视频| 国产精品片在线观看手机版| 国产成人精品高清不卡在线| 日韩第九页| 成人一级免费视频| 亚洲人成网18禁| 免费高清a毛片| 国产精品性| 福利视频一区| 国产毛片网站| 91无码网站| 99热国产在线精品99| 色成人亚洲| 无码一区18禁| 亚洲av无码片一区二区三区| 亚洲全网成人资源在线观看| 亚洲第一视频区| 午夜日b视频| 在线免费看片a| 国产呦视频免费视频在线观看| 91国语视频| 色婷婷视频在线| 精品一区二区三区四区五区| 超清无码一区二区三区| 久久精品日日躁夜夜躁欧美| 2021国产乱人伦在线播放| 激情六月丁香婷婷四房播| 亚洲成人高清无码| 秋霞午夜国产精品成人片| 色妞www精品视频一级下载| 欧美精品不卡| 日韩成人免费网站| 国产精品亚洲一区二区在线观看| 999国产精品永久免费视频精品久久| 亚洲欧美日韩另类在线一|