當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]介紹ADI公司TigerSHARC系列DSp的引導(dǎo)程序加載原理與應(yīng)用。給出TigerSHARC系列DSP程序加載的幾種模式,主要以TS20lS型DSP為例說(shuō)明單DSP系統(tǒng)程序加載的過(guò)程和方法。

   摘要:介紹ADI公司TigerSHARC系列DSp的引導(dǎo)程序加載原理與應(yīng)用。給出TigerSHARC系列DSP程序加載的幾種模式,主要以TS20lS型DSP為例說(shuō)明單DSP系統(tǒng)程序加載的過(guò)程和方法。該設(shè)計(jì)在TigerSHARC系列DSP中具有通用性。可以方便地應(yīng)用于其他DSP引導(dǎo)程序加載的設(shè)計(jì)。

    關(guān)鍵詞:DSP;TigerSHARC;引導(dǎo)程序;加載;接口;TS201S

隨著DSP技術(shù)的發(fā)展,DSP的功能越來(lái)越強(qiáng),類型也越來(lái)越多。由于DSP內(nèi)部結(jié)構(gòu)的特點(diǎn),DSP的算法程序一般都存儲(chǔ)在外部的非易失性存儲(chǔ)器中,在系統(tǒng)上電后,要將算法程序從外部存儲(chǔ)器加載到DSP中,再進(jìn)行相應(yīng)的數(shù)據(jù)算法處理。

TS20lS是ADI公司TigerSHARC系列中集成了定點(diǎn)和浮點(diǎn)計(jì)算功能的高速DSP。處理器工作在600MHz,單周期能執(zhí)行4條指令,每秒能進(jìn)行3.4億次乘累加和2.8億次浮點(diǎn)操作,是面向通信和視頻領(lǐng)域的高端DSP。TS201S包括24Mbit的片內(nèi)DRAM;1個(gè)14通道的DMA控制器:4個(gè)鏈路口可用于和其他DSP進(jìn)行無(wú)縫聯(lián)接。以組成一個(gè)多DSP處理器系統(tǒng),每個(gè)鏈路口的數(shù)據(jù)率可達(dá)1GB/s;集成SDRAM控制器最大支持256M x 32bit的內(nèi)存容量,方便和外部SDRAM連接。TS20lS非常適合對(duì)大數(shù)據(jù)量數(shù)據(jù)處理實(shí)時(shí)性要求高的應(yīng)用領(lǐng)域。

    TigerSHARC系列的DSP接口豐富,其引導(dǎo)程序的加載方法也非常靈活,可根據(jù)實(shí)際系統(tǒng)設(shè)計(jì)的需要靈活選用。

1 TigerSHARC系列DSP的引導(dǎo)模式

DSP的引導(dǎo)就是在DSP系統(tǒng)復(fù)位的情況下從DSP外部存儲(chǔ)器裝載算法程序代碼的過(guò)程。TS201S支持二種引導(dǎo)模式:主引導(dǎo)(master boot)模式和從引導(dǎo)(slave boot)模式。

在主引導(dǎo)模式下,TS201S作為主動(dòng)方,用外部口輸出地址、讀、引導(dǎo)方式選擇(BMS)等控制信號(hào),從EPROM或Flash中加載代碼。在從引導(dǎo)模式下,TS201S作為被動(dòng)方,不向外部輸出控制信號(hào),外部主機(jī)或其他設(shè)備向TS201S的主機(jī)、鏈路口傳送要加載的代碼,TS201S僅啟動(dòng)若干DMA通道,并執(zhí)行第一個(gè)DMA所接收的加載核。

另外,TS201S還可以選擇一種“非引導(dǎo)”模式,或利用TS20lS的(仿真器)EZ—ICE加載程序,這種方式可直接將程序加載進(jìn)TS201S內(nèi)部的RAM或外部的RAM中,DSP直接從RAM中運(yùn)行程序,常用于DSP的調(diào)試過(guò)程。

通過(guò)對(duì)TS20lS的BMS引腳的設(shè)置,可將DSP的引導(dǎo)過(guò)程設(shè)置成主引導(dǎo)模式或從引導(dǎo)模式。在DSP復(fù)位期間,如果BMS低電平,則選擇主引導(dǎo)模式,DSP從外部EPROM或Flash中加載程序;若BMS引腳為高電平,則進(jìn)入從引導(dǎo)模式,DSP為空閑狀態(tài),等待主機(jī)或鏈路口加載程序。2種引導(dǎo)模式都有相同的加載過(guò)程。具體步驟如下:

(1)TS201S自動(dòng)啟動(dòng)一個(gè)DMA.自動(dòng)把256個(gè)字(32位)傳送到內(nèi)部存儲(chǔ)器的地址0x00-0xFF。

(2)TS201S執(zhí)行上述256個(gè)字的指令(加載核),加載核啟動(dòng)其他DMA,把后續(xù)指令和數(shù)據(jù)加載到內(nèi)部和/或外部存儲(chǔ)器中。

(3)加載核自我覆蓋,執(zhí)行DSP算法程序。

2 單TS201S的程序加載接口設(shè)計(jì)

TigerSHARC系列中的TS20lS作為單個(gè)DSP使用時(shí),主要有3種引導(dǎo)方式。

2.1外部EPROM引導(dǎo)

外部EPROM引導(dǎo)為主引導(dǎo)模式,是最常用的引導(dǎo)模式。在該模式下,BMS引腳和RD引腳作為EPROM的片選和輸出使能引腳。EPROM的8位數(shù)據(jù)線接TS201S的DATA0-DATA7。TS20lS最大支持16M的EPROM地址空間,其低位地址引腳與EPROM的地址引腳相連。對(duì)于多處理器共享總線的系統(tǒng),可用一個(gè)EPROM對(duì)所有TS201S加載。圖1所示為ST公司的Flash(DSM2150)與TS201S程序加載接口設(shè)計(jì)實(shí)例。

復(fù)位后,DMA通道0被自動(dòng)配置好,DMA相應(yīng)的2個(gè)TCB寄存器(Transfer Control Block)被初始化,然后從8位的外部EPROM地址0開(kāi)始,把一個(gè)256字的加載核傳送到內(nèi)部存儲(chǔ)器地址0x00-0xFFo。DMA通道0的中斷矢量初始化為內(nèi)部存儲(chǔ)器地址0x00。當(dāng)DMA通道0傳送完成時(shí),產(chǎn)生中斷,TS20lS開(kāi)始從0x00執(zhí)行加載核。然后,加載核通過(guò)一串單字DMA傳送將后續(xù)應(yīng)用代碼和數(shù)據(jù)加載。最后,加載核啟動(dòng)一個(gè)256字的DMA,使其自身被用戶應(yīng)用程序代碼覆蓋。當(dāng)該DMA過(guò)程完成時(shí),DMA通道0的中斷矢量人口地址為內(nèi)部存儲(chǔ)器地址0,用戶的應(yīng)用代碼從地址0開(kāi)始執(zhí)行。TS20lS的外部接口是32位數(shù)據(jù)寬度,所以TS201S在通過(guò)DMA通道加載程序時(shí),自動(dòng)使用8到32位的專用打包方式,低位在前,完成從EPR()M的DMA讀。只有DMA通道0支持該專用打包方式,所以引導(dǎo)程序必須用DMA0。

另外,在算法應(yīng)用程序運(yùn)行階段,內(nèi)核不能用指令使能BMS的方式直接對(duì)EPROM進(jìn)行訪問(wèn),但可通過(guò)DMA通道方式訪問(wèn)。這是因?yàn)镋PROM是字節(jié)尋址空間,它不屬于TS201S的存儲(chǔ)器空間。外部EPROM所占的最大存儲(chǔ)空間為16M字節(jié),由于E-PROM是慢速外設(shè),對(duì)EPROM的每一個(gè)讀訪問(wèn),TS201S都要等待16個(gè)周期。TS201S對(duì)外部E-PROM的讀時(shí)序如圖2所示。

2.2主機(jī)引導(dǎo)

采用主機(jī)(HOST)引導(dǎo)模式時(shí),32位或64位主機(jī)通過(guò)外部的數(shù)據(jù)和地址總線完成對(duì)TS201S的引導(dǎo)。在主機(jī)引導(dǎo)方式下TS201S可用任何一個(gè)Auto DMA通道進(jìn)行代碼傳送。其余過(guò)程與外部E-PROM引導(dǎo)相同。主機(jī)通過(guò)DSM狀態(tài)寄存器(DSSTAT)監(jiān)視Auto DMA的狀態(tài)。在一默認(rèn)的情況下TS201S的外部總線寬度被設(shè)置成32位,所以主機(jī)必須使用流水線協(xié)議與TS201S進(jìn)行通信。

2.3鏈路口引導(dǎo)

TS201S有4個(gè)鏈路口(Link Port),每個(gè)鏈路口都可用于引導(dǎo)程序的加載。其加載過(guò)程和主機(jī)引導(dǎo)模式相似。

3 多TS201S的程序加載接口設(shè)計(jì)

在實(shí)際的系統(tǒng)設(shè)計(jì)中,在處理高數(shù)據(jù)流和大數(shù)據(jù)量的條件下經(jīng)常用到多個(gè)DSP級(jí)聯(lián)。對(duì)多個(gè)DSP進(jìn)行程序加載,用EPROM、HOST、LINK PORI、加載模式都可實(shí)現(xiàn)。

在EPROM引導(dǎo)模式下,將各DSP的麗BMS引腳接到一起,連接到EPROM的片選信號(hào)上,外部地址、數(shù)據(jù)也都分別連到EPROM的數(shù)據(jù)、地址總線上,各DSP按總線優(yōu)先權(quán)依次訪問(wèn)EPROM。EPROM引導(dǎo)多DSP的另一種方法是在主DSP(ID2-0=000)加載完成后,通過(guò)多DSF的存儲(chǔ)器空間向其他DSP的AutoDMA通道0寫(xiě)入加載碼,完成其他DSP的程序加載。這種方法只有主DSP的RD引腳和EPROM片選相連,其他。DSP的RD信號(hào)通過(guò)外部上拉電阻器上拉。

在HOST加載模式下,主機(jī)按照流水協(xié)議,用HBR和HBG信號(hào)引導(dǎo)其他DSP。

在多DSP系統(tǒng)中LINK PORT加載方式是最為靈活的一種程序加載方式,可將前面二種加載模式結(jié)合使用,當(dāng)?shù)谝粋€(gè)DSP用EPROM?;騂OST加載成功后,可按菊花鏈形式由第一個(gè)依次加載其他的DSP。

4 引導(dǎo)程序設(shè)計(jì)

下面以EPROM引導(dǎo)模式為例說(shuō)明TS20lS引導(dǎo)程序的設(shè)計(jì)方法。ADI公司的visual DSP++工具提供的程序加載應(yīng)用程序(elfloader.exe)可將DSP算法程序和加載核程序合并生成:EPROM的加載輸出文件(*.ldr)。該加載輸出文件用來(lái)定義加載過(guò)程中TS201S的內(nèi)部和外部存儲(chǔ)器如何被初始化,其格式如圖3所示。其中數(shù)據(jù)標(biāo)識(shí)塊中標(biāo)簽字的格式定義如圖4所示。

DSF程序加載過(guò)程中的比較復(fù)雜的過(guò)程是加載核的自我覆蓋。當(dāng)數(shù)據(jù)標(biāo)識(shí)塊中標(biāo)簽字的高3位的數(shù)據(jù)為O時(shí)(見(jiàn)圖4,TYPE=0),加載核執(zhí)行“結(jié)束加載”的過(guò)程,用DSt算法代碼覆蓋加載核的256個(gè)字的程序。這是加載過(guò)程的最后一個(gè)DMA,將DSP從IDLE狀態(tài)喚醒,完成加載核的自我覆蓋,但是,簡(jiǎn)單的自我覆蓋會(huì)使DSP算法程序從DMA0中斷級(jí)開(kāi)始執(zhí)行,這是所不希望的。為了解決這一問(wèn)題,通過(guò)以下算法來(lái)實(shí)現(xiàn)。

(1)DSP算法代碼的第一個(gè)4字被存儲(chǔ)在xRll:8中。

(2)將以下代碼寫(xiě)入Ox00000000一Ox00000003 RETI=0;;NOP;;RTI(NP);;QD31+=0]=xRl 1:8;;

(3)DMA中斷矢量設(shè)置為地址0。

(4)設(shè)置地址緩沖區(qū)無(wú)效(BTBINV)以清除緩沖區(qū)內(nèi)的任何分支地址。

(5)把256個(gè)用戶代碼放到0x00000004-0x000000FF。

(6)對(duì)TCB編程,啟動(dòng)DMlA,處理器進(jìn)入IDLE狀態(tài)。

(7)DMA完成后,響應(yīng)DMA中斷,程序控制器跳到地址0x00000000,開(kāi)始執(zhí)行以下代碼:RTI(NPl;;Q[j3 l+=0]=xRll:8;;。

這些指令使中斷降級(jí),用戶DSP算法程序放到0x00000000-Ox00000003,指令計(jì)數(shù)器指針指到地址0x00000000(),用戶的算法程序從0x00000000開(kāi)始執(zhí)行,此時(shí)算法程序不處于中斷級(jí)。這里的NP選項(xiàng)是必須的,以使:RTI指令不緩沖到:BTB中。

    如系統(tǒng)中的外部存儲(chǔ)器要被特殊初始化(如SDRAM),則這個(gè)存儲(chǔ)器必須由內(nèi)核來(lái)配置及初始化。加載核要被修改和重新編譯,最后的加載核代碼不能超過(guò)256個(gè)字,是由:DSP的特點(diǎn)所決定的。

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

ADI公司的高性能Tiger SHARK系列TS201S型DSF已在對(duì)實(shí)時(shí)處理要求高的場(chǎng)合得到廣泛應(yīng)用,如通信基站、機(jī)載雷達(dá)預(yù)警、陣列信號(hào)處理等。文中著重論述了其程序加載接口,介紹了DSF加載的幾種常用模式,并給出了一種實(shí)用的接口方案。在軟件方面,對(duì)DSP加載過(guò)程中的難點(diǎn)做了說(shuō)明。文中提到的幾種DSP程序加載方法也適用于其他類型的DSP,讀者可將其靈活運(yùn)用于實(shí)際的DSP系統(tǒng)設(shè)計(jì)中。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉