DSP通過(guò)外部FLASH實(shí)現(xiàn)自引導(dǎo)啟動(dòng)_圖文(精)_第1頁(yè)
DSP通過(guò)外部FLASH實(shí)現(xiàn)自引導(dǎo)啟動(dòng)_圖文(精)_第2頁(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通過(guò)外部FLASH實(shí)現(xiàn)自引導(dǎo)啟動(dòng)郭煒,邵詩(shī)逸(上海交通大學(xué)電力電子與電力傳動(dòng)系,上海交通大學(xué)微納米研究院,上海200240摘要:初學(xué)者在使用DSP的時(shí)候,或者開(kāi)發(fā)人員進(jìn)行軟件開(kāi)發(fā)的時(shí)候,必須在連接仿真器的情況下進(jìn)行開(kāi)發(fā),然而最后的實(shí)現(xiàn)需要脫離仿真器運(yùn)行。首先對(duì)基于DSP了探討,并介紹了兩種脫離仿真器利用FLASH,及通過(guò)FLASH啟動(dòng)時(shí)FLASH地址內(nèi)容的變化。關(guān)鍵詞:數(shù)字信號(hào)處理;中圖分類號(hào):T:B:1002-2279(200701-0024-03TheRtiofBootloadofDSPsThroughon-chipFLASHGUOWei,SHAOShi-yi(Dept.ofPowe

2、rElectronicsandElectricalDrives,ShanghaiJiaotongUniversity,microandnanoresearchinstitution,ShanghaiJiaotongUniversity,Shanghai200240,ChinaAbstract:WhenabecedarianuseDSPordeveloperdevelopsoftware,theymustconnecttheemula2tor.Buttheultimaterealizationneedstoberunwithoutemulator.Thispaperdiscussesaboutt

3、hewayofexteriorself-startingbasedonDSPs,thenintroducestwomethodsofrunningprogrambyusingFLASHwithoutemulator.Theprocessofself-startingandchangeofaddresscontentofFLASHwhenFLASHwasstartedareanalysedindetailintheend.Keywords:DSP;bootload;memorysetup;FLASH1引言眾所周知,DSP平臺(tái)在成為最后的成品之前必須實(shí)現(xiàn)脫離仿真器到自引導(dǎo)啟動(dòng)。所謂自引導(dǎo)啟動(dòng)(Bo

4、otload就是指由DSP系統(tǒng)上電之后,系統(tǒng)可以在脫離仿真環(huán)境之下,通過(guò)外部設(shè)備,將程序裝入內(nèi)部存儲(chǔ)器之中,實(shí)現(xiàn)程序的引導(dǎo)啟動(dòng)。無(wú)論是哪一款DSP,都帶有從FLASH自啟動(dòng)的功能。下面以德州儀器公司(TI的TMS320C5509(以下簡(jiǎn)稱5509為例,介紹通過(guò)外部FLASH自引導(dǎo)啟動(dòng)的基本原理和實(shí)現(xiàn)方法。FLASH存儲(chǔ)器方式對(duì)程序?qū)崿F(xiàn)引導(dǎo)。介紹自啟動(dòng)方法之前先說(shuō)明一下5509提供的FLASH直接引導(dǎo)啟動(dòng)機(jī)制。第一步要求確定啟動(dòng)模式為外部存儲(chǔ)器模式,5509采用上電之后對(duì)通用I/O口GPIO03的辨認(rèn)來(lái)實(shí)現(xiàn)對(duì)引導(dǎo)方式的選擇。因此,如果采用FLASH引導(dǎo),應(yīng)當(dāng)將GPIO03設(shè)置為數(shù)據(jù)手冊(cè)規(guī)定的10

5、00,這樣在上電之后,程序從0x400000的地址開(kāi)始運(yùn)行。因此只要在0x400000的位置寫(xiě)入相應(yīng)的程序就可以實(shí)現(xiàn)自啟動(dòng)。這樣的啟動(dòng)在硬件上需要通過(guò)5509的CE1來(lái)通外部映射到0x4000000x800000的FLASH來(lái)實(shí)現(xiàn),具體連接如圖1所示2啟動(dòng)方式的選擇TMS320C5509提供了豐富的引導(dǎo)方式,包括直接外部存儲(chǔ)器方式引導(dǎo)、主機(jī)接口(EHPI方式引導(dǎo)、標(biāo)準(zhǔn)串行方式引導(dǎo)和USB方式引導(dǎo)等多種方法。這樣的好處是:可以將程序存儲(chǔ)于非易失的外部存儲(chǔ)器之中,而在運(yùn)行時(shí)加載到相對(duì)高速的內(nèi)部存儲(chǔ)器之中;同時(shí)可以為用戶提供多種引導(dǎo)方式,使得DSP的應(yīng)用更為靈活。這里主要討論的是采用圖1DSP和FL

6、ASH硬件連接作者簡(jiǎn)介:郭煒(1981-,男,安徽省蕪湖市人,碩士研究生,主研方向:數(shù)字信號(hào)處理在寬帶電力線通信網(wǎng)絡(luò)實(shí)現(xiàn)中的應(yīng)用。收稿日期:2005-06-02基于5509采用FLASH的自引導(dǎo)方式主要有兩種:一種是將程序?qū)懭隖ALSH之后在FLASH之中直接運(yùn)行,這種方法速度較慢;另一種方法是在上電之后,將FLASH中的程序?qū)懭雰?nèi)部的RAM然后運(yùn)行,這種方法可以提供更高的速度,因而得到廣泛的采用。傳統(tǒng)的自引導(dǎo)啟動(dòng)方法需要用戶根據(jù)不同的引導(dǎo)方式建立相應(yīng)的引導(dǎo)表,進(jìn)而配置相應(yīng)的.cmd文件,最后通過(guò)HEX55工具燒寫(xiě)入FLASH之中。這種方法不僅不利于用戶掌握,而且也有一定的局限性,因此這里介紹

7、的方法是通過(guò)仿真環(huán)境FALSH用CCS(CodeComposerStudio環(huán)境中自帶的datasave工具將內(nèi)存中的數(shù)據(jù)保留下來(lái)。第二個(gè)需要用戶編制的工程是燒寫(xiě)FLASH的工程,即建立一個(gè)真正的硬件emulator工程,先load上述保存的數(shù)據(jù)進(jìn)入內(nèi)存,然后燒寫(xiě)入FLASH之中,必須注意的是此時(shí)的燒寫(xiě)地址應(yīng)當(dāng)和上面的simulator所配置的地址一致,這里就是0x400010。,因?yàn)樯想娭螅奈恢貌](méi)有有效,必?zé)龑?xiě)工程中,在,將程序計(jì)數(shù)器指針(指向FLASH中主程序的入口地址。跳轉(zhuǎn)指令3FLASH先介紹直接將程序在FLASH之中運(yùn)行。首先由用戶編制主程序工程,由于需要在0x400000的位

8、置運(yùn)行程序,因此需要將主程序的內(nèi)存配置(.cmd文件的程序地址設(shè)置在0x4000000x800000之內(nèi)。可惜的是,在emulator模式下這樣的配置將會(huì)導(dǎo)致鏈接出現(xiàn)問(wèn)題,因此主程序必須在軟件仿真的simu2lator模式下完成。例如將主程序裝入0x400010,編的匯編代碼是B40xxxx,相應(yīng)的機(jī)器碼是6A40xxxx,具體地講,就是在0x400000和0x400001的地址中燒寫(xiě)入6A40xxxx的數(shù)據(jù),具體的40xxxx為主程序的入口地址。完成了上述工作之后,自啟動(dòng)的工作就完成了。上電之后的運(yùn)行情況是首先檢測(cè)啟動(dòng)順序,確定為外部FLASH引導(dǎo),然后程序從0x400000執(zhí)行跳轉(zhuǎn)程序,跳

9、轉(zhuǎn)到已經(jīng)燒寫(xiě)入FLASH的主程序的入口地址,從而開(kāi)始執(zhí)行主程序本身,如圖2所示譯并鏈接之后,主程序裝入虛擬的內(nèi)存之中,然后使圖2從FLASH直接運(yùn)行示意圖4高速片內(nèi)RAM運(yùn)行這里介紹上電之后將程序從FLASH中裝入高速片內(nèi)RAM運(yùn)行,這樣可以提高程序的執(zhí)行速度。首先由用戶編制主程序工程,與上面不同的是此程序?yàn)閑mulator模式,裝入內(nèi)存之后,不斷電,執(zhí)行第二個(gè)FLASH主程序燒寫(xiě)程序,將內(nèi)存中的程序燒寫(xiě)進(jìn)入FLASH之中。第三個(gè)程序在simulator模式下完成,模擬上電運(yùn)行后將FLASH中的程序讀回片內(nèi)高速RAM,并且在程序的最后需要加上程序計(jì)數(shù)器指針(pc跳轉(zhuǎn)指令,跳轉(zhuǎn)到主程序的入口地址

10、。最后需要再次編制一個(gè)simulator燒寫(xiě)程序,將此程序?qū)懭隖LASH相應(yīng)的位置中。第三個(gè)simulator讀程序和第四個(gè)simulator燒寫(xiě)程序之間通過(guò)datasave/load來(lái)實(shí)現(xiàn)數(shù)據(jù)保存。兩次燒寫(xiě)程序的FLASH地址不能混疊。同樣要注意的是需要在0x400000的位置燒寫(xiě)入跳轉(zhuǎn)指令的機(jī)器碼,跳轉(zhuǎn)到simulator讀程序的入口地址。具體方法在上面已經(jīng)詳細(xì)描述,這里不再贅述。當(dāng)然,具體的實(shí)現(xiàn)時(shí),完全可以將所有的燒寫(xiě)代碼放到一個(gè)程序里面。除了兩個(gè)燒寫(xiě)程序必須最后執(zhí)行以外,主程序和simulator程序的執(zhí)行順序沒(méi)有強(qiáng)行的規(guī)定,上述的順序僅僅具有邏輯上的意義。上電之后的運(yùn)行情況是首先檢測(cè)

11、啟動(dòng)順序,確定為外部FLASH引導(dǎo),然后程序從0x400000執(zhí)行跳轉(zhuǎn),跳轉(zhuǎn)到保存在低速FLASH里的程序入口地址,接著在FLASH中執(zhí)行讀出程序,寫(xiě)回高速片內(nèi)RAM中,寫(xiě)完之后執(zhí)行跳轉(zhuǎn)指令,將程序計(jì)數(shù)器指針(pc指向已進(jìn)入內(nèi)存中的主程序的入口地址,從而最后開(kāi)始執(zhí)行主程序本身。此入口地址即為第一個(gè)工程的入口地址,如圖3所示。RAM運(yùn)行示意圖5結(jié)束語(yǔ)除了TMS320C5509之外,上述的方法廣泛實(shí)用于多種型號(hào)的DSP芯片之中,并且可以按照相似的方法從片內(nèi)FLASH引導(dǎo),各種方式大同小異,不同的只是上電復(fù)位后程序指針?biāo)幍奈恢茫ɡ?402為片外Oxff8O,2812為片內(nèi)Ox3ffcOOh以及匯

12、編代碼的不同而已,這些都已經(jīng)通過(guò)本文所論述的方法得到實(shí)現(xiàn)??梢哉f(shuō),本文所介紹的方法具有廣泛的普遍性和實(shí)用性。雖然實(shí)現(xiàn)系統(tǒng)自啟動(dòng)并非DSP的關(guān)鍵技術(shù),但(上接第23頁(yè)是卻是脫離仿真環(huán)境,實(shí)現(xiàn)上電系統(tǒng)自動(dòng)運(yùn)行所必需的步驟,也是DSP初學(xué)者的難點(diǎn)之一。因此以FLASH讀寫(xiě)為核心,可以較為簡(jiǎn)單地實(shí)現(xiàn)系統(tǒng)自啟動(dòng),希望可以對(duì)讀者有拋磚引玉的作用。參考文獻(xiàn):1郎巖梅,唐文彥,趙軍基于DSP的嵌入式系統(tǒng)中BOOTLOADER程序的設(shè)計(jì)方法J.電測(cè)與儀表,2003(4:15-16.2戴明楨,周建江.TMS320C54xDSP結(jié)構(gòu)、原理及應(yīng)用M.北京:北京航空航天大學(xué)出版社,2001.3劉慧,林海虹,劉智.多核D

13、SP的BOOTLOADER程序的實(shí)現(xiàn)J.電子技術(shù)應(yīng)用,2003(6:21-22.硬件結(jié)構(gòu)的優(yōu)化包括能降低工作電壓Vdd的并行處理、流水線處理以及二者的混合處理。降低寄存電容C的片內(nèi)存儲(chǔ)器memory模塊劃分。降低活動(dòng)因子a的信號(hào)門控、減少glitch(毛刺的傳播長(zhǎng)度、Glitch活動(dòng)最小化、FSM(有限狀態(tài)機(jī)狀態(tài)譯碼的優(yōu)化等。由硬件實(shí)現(xiàn)的算法級(jí)的功耗優(yōu)化有:流水線和并行處理、Retiming(時(shí)序重定、Unfolding(程序或算法的展開(kāi)、Folding(程序或算法的折疊等等基本方法以及其組合。3.5門級(jí)設(shè)計(jì)技術(shù)既然SoC的功耗與寄生電容的充放電有很大的關(guān)系,作為后端綜合與布線,同樣也可采取一些措施來(lái)減少寄生電容。綜合工具可以自動(dòng)地完成電路的優(yōu)化,在滿足電路時(shí)序要求的條件下,減少門電路的驅(qū)動(dòng)強(qiáng)度,而不需要對(duì)RTL代碼進(jìn)行任何改動(dòng)。綜合工具還可以通過(guò)重新組織結(jié)構(gòu),減少中間邏輯和多余晶體管,達(dá)到提高性能減少面積的目的。4結(jié)束語(yǔ)設(shè)計(jì)者可以通過(guò)低功耗體系結(jié)構(gòu)、RTL級(jí)設(shè)計(jì)、門級(jí)設(shè)計(jì)、晶體管電路級(jí)設(shè)計(jì)到流片工藝選擇等各個(gè)層次的優(yōu)化來(lái)實(shí)現(xiàn)可重用的低功耗設(shè)計(jì)方法,同時(shí),EDA廠商是低功耗領(lǐng)域的有力推動(dòng)者,它們把科研工作者提出的低功耗設(shè)計(jì)技術(shù)和評(píng)估技術(shù)應(yīng)用到自己的工具中,極大地方便了設(shè)計(jì)者對(duì)SoC的低功耗設(shè)計(jì)??芍?/p>

溫馨提示

  • 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)論