用DSP軟件編程實(shí)現(xiàn)的引導(dǎo)裝載系統(tǒng)_第1頁(yè)
用DSP軟件編程實(shí)現(xiàn)的引導(dǎo)裝載系統(tǒng)_第2頁(yè)
用DSP軟件編程實(shí)現(xiàn)的引導(dǎo)裝載系統(tǒng)_第3頁(yè)
用DSP軟件編程實(shí)現(xiàn)的引導(dǎo)裝載系統(tǒng)_第4頁(yè)
用DSP軟件編程實(shí)現(xiàn)的引導(dǎo)裝載系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、用DSP軟件編程實(shí)現(xiàn)的引導(dǎo)裝載系統(tǒng)             用DSP軟件編程實(shí)現(xiàn)的引導(dǎo)裝載系統(tǒng)南京郵電學(xué)院   楊力波  潘志鉑     摘  要:在一些脫機(jī)運(yùn)行的DSP應(yīng)用中,通常需要在系統(tǒng)加電后自行將代碼從外擴(kuò)存儲(chǔ)器中裝載到內(nèi)部DSP中去執(zhí)行,實(shí)現(xiàn)此種功能的系統(tǒng)稱為引導(dǎo)裝載系統(tǒng)。文中以TI公司的DSP(TMS320VC5410)結(jié)合ST公司的FLASH存儲(chǔ)器(M29W400T)為例,給出了一個(gè)利用DSP

2、軟件編程實(shí)現(xiàn)對(duì)FLASH進(jìn)行讀寫操作的通用引導(dǎo)裝載系統(tǒng)設(shè)計(jì)方案。     關(guān)鍵詞:DSP;FLASH;引導(dǎo)裝載;TMS320VC5410;M29W400T 況。為了避免這種誤判現(xiàn)象,設(shè)計(jì)時(shí)可用延時(shí)來(lái)處理這種彈跳問(wèn)題。當(dāng)軟件在檢測(cè)到開(kāi)關(guān)被按下后,先延時(shí)一段時(shí)間再檢測(cè)一次,以避開(kāi)彈跳的時(shí)間,這個(gè)彈跳的產(chǎn)生通常在開(kāi)關(guān)被按下后開(kāi)始的20ms50ms之間發(fā)生,因此只要避開(kāi)這段時(shí)間,而不要讀輸入腳的信號(hào)即可。其軟件流程如圖5所示。 1 概述 DSP系統(tǒng)的引導(dǎo)裝載是指在系統(tǒng)加電后,系統(tǒng)自行將一段存儲(chǔ)在外部非易失性存儲(chǔ)器中的代碼移植到內(nèi)部DSP的高速RAM中并執(zhí)行的過(guò)程。因此,在

3、引導(dǎo)裝載系統(tǒng)中,外部非易失性存儲(chǔ)器和DSP的性能顯得尤為重要。FLASH存儲(chǔ)器是一種高密度、非易失性的電可擦寫存儲(chǔ)器,而且單位存儲(chǔ)比特的價(jià)格比傳統(tǒng)的EPROM要低,所以十分適合于作為外擴(kuò)存儲(chǔ)器。在系統(tǒng)加電之前,必須先將引導(dǎo)程序和用戶程序?qū)懭隖LASH中。編程時(shí),除了可以利用專用的硬件編程器實(shí)現(xiàn)對(duì)FLASH的編程之外,F(xiàn)LASH通常還支持DSP軟件編程以實(shí)現(xiàn)同樣的功能。當(dāng)系統(tǒng)加電之后,一般首先在FLASH中運(yùn)行引導(dǎo)程序,并由其自行完成對(duì)用戶程序的移植操作,然后再由DSP高速運(yùn)行移入到DSP片內(nèi)的用戶程序。本文介紹了TI公司的TMS320VC5410定點(diǎn)DSP和ST公司的M29W400T FLAS

4、H存儲(chǔ)器的基本特點(diǎn)和主要結(jié)構(gòu),給出了通過(guò)DSP對(duì)FLASH進(jìn)行軟件編程的具體方法,同時(shí)介紹了實(shí)現(xiàn)一個(gè)完整的引導(dǎo)裝載系統(tǒng)的實(shí)現(xiàn)方案。 2 硬件描述21 器件簡(jiǎn)介TMS320VC5410數(shù)字信號(hào)處理器是美國(guó)TI公司推出的TMS320VC54x系列定點(diǎn)DSP中的一種,它具有144管腳的LQFP封裝,采用33V的IO電壓和25V的核電壓供電方式,具有3個(gè)獨(dú)立的16位數(shù)據(jù)總線和1個(gè)程序總線的多總線并行結(jié)構(gòu),其低功耗和高速度適用于便攜式系統(tǒng)的開(kāi)發(fā)。由于本文涉及到DSP對(duì)FLASH的存儲(chǔ)器地址操作。因此,在此對(duì)相關(guān)內(nèi)容加以介紹。DSP的存儲(chǔ)空間包括程序空間和數(shù)據(jù)空間,它們均劃分為64k×16位的頁(yè)

5、面。其中DSP片內(nèi)存儲(chǔ)資源包括16k×16位的可掩膜ROM以及可高速運(yùn)行的4個(gè)2k×16位的DARAM和7個(gè)8k×16位的SARAM。DSP有兩種工作模式:微處理器模式和微計(jì)算機(jī)模式,分別對(duì)應(yīng)MPMC1和0。本系統(tǒng)中采用的是加電后從外擴(kuò)的FLASH中啟動(dòng),即采用微處理器模式,所以沒(méi)有用到DSP內(nèi)部ROM中固化的引導(dǎo)程序,而是采用早先寫入FLASH中的自行設(shè)計(jì)的引導(dǎo)程序。TMS320VC5410的存儲(chǔ)空間映射如圖1所示,它最大可支持128個(gè)存儲(chǔ)頁(yè)面,尋址空間為8Mb。在圖1中,當(dāng)MP1時(shí),程序空間的第0和第1頁(yè)面對(duì)應(yīng)于圖中最左邊的兩列,數(shù)據(jù)空間的第0頁(yè)面對(duì)應(yīng)于圖中最

6、右邊的一列,其中的外部空間(External)即對(duì)應(yīng)外擴(kuò)的FLASH,只有這部分FLASH存儲(chǔ)空間才可以被DSP訪問(wèn)到。由此可知,DSP對(duì)FLASH進(jìn)行讀寫操作的前提是,F(xiàn)LASH在DSP存儲(chǔ)空間中至少是可見(jiàn)的。    M29W400系列是ST公司推出的FLASH存儲(chǔ)器,該系列器件十分適合于用作外擴(kuò)存儲(chǔ)器。M29W400T是該系列中的一種,它采用3V單電源供電,并采用TSOP封裝形式。M29W400T存儲(chǔ)器的容量為4MB,分為11個(gè)不同大小的塊結(jié)構(gòu),它支持8位或16位操作模式。本文采用16位操作模式。M29W400T的外形封裝如圖2所示,管腳功能見(jiàn)表1所列。M29

7、W400T最重要特點(diǎn)就是無(wú)需額外提供高電壓即可通過(guò)一些特殊的命令字序列實(shí)現(xiàn)對(duì)各個(gè)塊的讀寫和擦除,并且可重復(fù)進(jìn)行十萬(wàn)次以上。這樣使得通過(guò)DSP軟件編程實(shí)現(xiàn)對(duì)M29W400T的讀寫操作成為可能,并十分適合于圖1 TMS320VC5410的存儲(chǔ)空間映射系統(tǒng)的調(diào)試和開(kāi)發(fā)。22 系統(tǒng)連接本系統(tǒng)由TMS320VC5410和M29W400T以及相關(guān)的電源管理單元等構(gòu)成,具體的連接電路如圖3所示。圖中,DSP與FLASH是主從關(guān)系,由DSP的相關(guān)輸出管腳來(lái)控制FLASH的擦除和讀寫。其中A0A17為地址線,D0D15為數(shù)據(jù)線,MSTRB為存儲(chǔ)選通信號(hào),是讀寫脈沖信號(hào),和分別為讀使能和寫使能,CE為片使能,為8

8、位或16位數(shù)據(jù)模式選擇(圖3中接高電壓為16位模式)。當(dāng)系統(tǒng)按如圖3所示進(jìn)行連接后,DSP的前一半4MB地址空間數(shù)與FLASH的4MB地址空間一一對(duì)應(yīng),因此,F(xiàn)LASH中的地址值即為DSP中的地址值,這樣,對(duì)地址的操作就變得極為方便。FLASH中用于存放引導(dǎo)程序段和用戶代碼段,由DSP軟件編程寫入。當(dāng)系統(tǒng)脫機(jī)加電時(shí),DSP首先從外部FLASH指定的引導(dǎo)程序段的起始位置處開(kāi)始執(zhí)行引導(dǎo)裝載,即將原先存儲(chǔ)在FLASH中的用戶代碼移植到DSP片內(nèi)的RAM中,然后將程序指針設(shè)置為用戶程序的起始地址,接下來(lái)便可利用DSP資源去高速執(zhí)行用戶程序。23 DSP對(duì)FLASH的操作  

9、0; 對(duì)照?qǐng)D1的地址映射關(guān)系,如果采用的是微處理器模式(MP/=1)并且設(shè)置寄存器OVLY1,那么由于連接的關(guān)系使得FLASH的起始地址0x0000和DSP的起始地址0x0000重合,在DSP第0頁(yè)程序空間中可見(jiàn)的FLASH的地址范圍應(yīng)為0x80000xFFFF。在擦除或讀寫FLASH之前,必須先執(zhí)行相應(yīng)的命令字序列,即在指定的FLASH地址處寫入指定的指令代碼,M29W400T的命令字序列如表2所示。表2中的某些FLASH地址空間對(duì)照?qǐng)D1恰好對(duì)應(yīng)于DSP的內(nèi)部地址空間,即對(duì)DSP而言是不可見(jiàn)的,所以需要考慮地址的重映射。文中以對(duì)FLASH寫入為例,F(xiàn)lashWrite表示一次底層的總線寫操作

10、。未考慮地址重映射時(shí),命令字序列為:由圖1可知,當(dāng)MP1和OVLY1時(shí),F(xiàn)LASH地址0x5555L和0x2AAAL在DSP中不屬于外部空間,即對(duì)DSP是不可見(jiàn)的。這樣DSP執(zhí)行上述語(yǔ)句時(shí),根本沒(méi)有對(duì)FLASH進(jìn)行相應(yīng)的操作,從而導(dǎo)致即使FLASH地址myaddress是DSP可見(jiàn)的,也無(wú)法實(shí)現(xiàn)數(shù)據(jù)寫入的功能。仔細(xì)分析FLASH的命令字序列可知,其實(shí)前三句命令字序列中真正起作用的地址位是A0A14,而高地址位A15A17可以是任意值,于是考慮加一個(gè)地址偏移量0x8000,以使得重映射后的FLASH地址在DSP中是可見(jiàn)的。修改后的代碼為: 這樣,在DSP中就可以對(duì)外部FLASH進(jìn)行寫入操作了,而

11、其前提是FLASH地址myaddress在DSP中可見(jiàn)。其它的擦除和讀操作也要對(duì)照?qǐng)D1作類似的地址重映射。在DSP將數(shù)據(jù)寫入FLASH之前,只有先刪除數(shù)據(jù)所在塊,然后才能重新寫入。擦除和寫操作之前都要執(zhí)行如表2所示的相應(yīng)命令字序列。其中要寫入的數(shù)據(jù)部分即為引導(dǎo)程序以及用戶程序經(jīng)過(guò)編譯、連接后的目標(biāo)代碼,為M29W400T可識(shí)別的HEX格式。3 軟件描述31 功能分析引導(dǎo)裝載系統(tǒng)主要由引導(dǎo)程序和用戶程序兩部分構(gòu)成,最后都存儲(chǔ)在外擴(kuò)的M29W400T的指定地址中。以上主要敘述的是如何將目標(biāo)代碼寫入M29W400T,下面敘述如何設(shè)計(jì)引導(dǎo)程序和用戶程序,以及生成最后目標(biāo)代碼的方法。由于DSP采用微計(jì)算

12、機(jī)工作模式。因此,在加電后,DSP將首先執(zhí)行0xFF80處的中斷向量表起始處的跳轉(zhuǎn)命令,然后轉(zhuǎn)向0xF800處的引導(dǎo)程序并實(shí)現(xiàn)代碼移植功能。完畢后,再次跳轉(zhuǎn)到移植后的用戶程序的起始地址并執(zhí)行。以一個(gè)完整的引導(dǎo)裝載系統(tǒng)為例,設(shè)用戶程序是從TMS320VC5410的XF管腳輸出一個(gè)均勻方波。此段代碼也可以被其它用戶程序替代,因此本文的引導(dǎo)裝載系統(tǒng)具有一定的通用性。 32 代碼實(shí)現(xiàn)利用TI公司的DSP集成開(kāi)發(fā)套件CCS可以生成out格式的目標(biāo)代碼,首先要建立引導(dǎo)程序段、用戶程序段、中斷向量表和連接命令文件四部分。引導(dǎo)程序段負(fù)責(zé)將用戶程序段和中斷向量表裝載到目標(biāo)地址,用戶程序段是實(shí)現(xiàn)用戶系統(tǒng)功能的核心

13、代碼(本文僅以實(shí)現(xiàn)輸出一個(gè)方波為例),中斷向量表包括自啟時(shí)的跳轉(zhuǎn)處理和中斷服務(wù)程序的入口;連接命令文件則是分配各個(gè)程序段在DSP地址空間中的位置,協(xié)助生成目標(biāo)代碼,在這四部分中,引導(dǎo)程序段是設(shè)計(jì)重點(diǎn),它負(fù)責(zé)將中斷向量表和用戶代碼段從片外的M29W400T移植到片內(nèi)的RAM中,并且將程序指針指向用戶代碼段起始地址。其引導(dǎo)程序段(loadasm)的命令代碼如下: 上述引導(dǎo)程序經(jīng)過(guò)CCS編譯及連接后,生成的目標(biāo)文件bootout是TMS320VC5410能夠識(shí)別的COFF格式,但是M29W400T不支持這種格式,所以不能直接寫入FLASH中。而CCS自身帶有多種HEX類型的轉(zhuǎn)換程序。因此,在經(jīng)過(guò)格式轉(zhuǎn)換后,即可得到對(duì)應(yīng)于上文提到的一系列數(shù)據(jù)和地址mydata和myaddress,此時(shí)就可以在聯(lián)機(jī)情況下利用CCS以DSP軟件編程方式將目標(biāo)代碼寫入到M29W400T之中。一旦寫入成功,便可以脫機(jī)加電自啟系統(tǒng)。同時(shí),在經(jīng)一段時(shí)間后,還可用示波器測(cè)得XF管腳輸出的均勻脈沖方波,以證明引導(dǎo)裝載成功。 參考文獻(xiàn)1TICOTMS320VC5410 Fixedpoint Di

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論