TMS320VC55x系列DSP的Flash引導(dǎo)方法研究_第1頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、tms320vc55x系列dsp的flash引導(dǎo)方法研究隨著數(shù)字信號處理技術(shù)的迅速進展,(數(shù)字信號處理器)越來越廣泛地應(yīng)用于各種數(shù)字信號處理系統(tǒng)中。終于開發(fā)的系統(tǒng)要想脫離器運行,必需將程序代碼存儲在非易失性存儲器中。flash存儲器以其大容量和可在線編程等特點已成為dsp系統(tǒng)的一個基本配置。如何將程序燒寫進flash,并在上電時加載到dsp內(nèi)部的ram是flash在dsp系統(tǒng)中應(yīng)用的兩個基本技術(shù)問題。本文以基于ti公司的tms320vc5509a和公司的at49lv1024 flash開發(fā)的系統(tǒng)為背景,具體介紹了系統(tǒng)引導(dǎo)相關(guān)的硬件設(shè)計、燒寫軟件設(shè)計以及自舉引導(dǎo)和二次引導(dǎo)等實現(xiàn)辦法。2 tms3

2、20vc5509a的自舉引導(dǎo)2.1 tms320vc5509a的自舉模式配置tms320vc5509a每次上電復(fù)位后,在執(zhí)行完一系列初始化(配置堆棧寄存器、關(guān)閉中斷、程序暫時入口、符號擴展、兼容性配置)工作后,按照預(yù)先配置的自舉模式,通過固化在rom內(nèi)的bootloader程序舉行程序引導(dǎo)。vc5509a的引導(dǎo)模式挑選是通過4個模式挑選引腳bootm0:3配置完成的。 bootm03引腳分離與gpio1、2、3、0相連。在本系統(tǒng)設(shè)計中,采納emif(外部存儲接口)并行引導(dǎo)模式(16位數(shù)據(jù)寬度),只需將bootm3:0設(shè)置成1011即可。emif為外部存儲接口,通過emif接口可以靈便地和各種同

3、步或異步存儲器件無縫銜接。通過emif可以將vc5509a的存儲空間擴展到128 mbit(sdram),存儲空間共被分為ce0ce3四個段,每段占用不同的地址。在emif的并行引導(dǎo)模式中,rom固化的bootloader程序是以0x200000為首地址開頭加載程序。0x200000即為ce1空間的首地址,所以flash必需接在dsp的ce1空間上。在加載時。emif的ce1空間已經(jīng)默認(rèn)配置成異步靜態(tài)隨機存儲器(sram)接口,并且在時序上采納了最差狀況設(shè)置(即最慢拜訪速度),充分保證了時光裕量,使得程序代碼順當(dāng)?shù)丶虞d到dsp的內(nèi)存中。2.2 tms320vc5509a的引導(dǎo)表bootload

4、er在引導(dǎo)程序時,程序代碼是以引導(dǎo)表格形式加載的。tms320vc55x的引導(dǎo)表結(jié)構(gòu)中包括了用戶程序的代碼段和數(shù)據(jù)段以及相應(yīng)段在內(nèi)存中的指定存儲位置,此外還包括了程序人口地址、部分寄存器的配置值、可編程延時時光等信息。tms320vc55x系列dsp的引導(dǎo)表結(jié)構(gòu)如表1所示。其中,程序入口地址是引導(dǎo)表加載結(jié)束后,用戶程序開頭執(zhí)行的地址;寄存器配置數(shù)目打算了后面有多少個寄存器需要配置;惟獨當(dāng)延時標(biāo)記為0xffff時,延時才被執(zhí)行;延時長度打算了在寄存器配置后延時多少個cpu周期才舉行下一個動作;段長度、段起始地址和數(shù)據(jù)則為用戶程序中定義的各個段的內(nèi)容,并且可以重復(fù)添加;最后以0x00000000(

5、32個0)作為引導(dǎo)表的結(jié)束標(biāo)記。 若要生成引導(dǎo)表,可用ccs終于編譯生成的,out文件通過ccs自帶的hex55.exe轉(zhuǎn)換程序得到。將hex55.exe、.out文件、.0cmd文件放在同一個文件夾中,通過dos指令調(diào)用hex55.exe。即可完成.out文件到hex格式的引導(dǎo)表文件的轉(zhuǎn)化。.cmd文件用于提供引導(dǎo)表的相關(guān)配置信息,以下為一個.cmd文件的實例:3 flash的燒寫和自舉的實現(xiàn)3.1 tms320vc5509a和at49lv1024的硬件沒計at49lv1024是atmel公司一款3 v供電系統(tǒng)的flash存儲器,16位位寬,容量為64 kb(16條地址線)。vc5509a(

6、pge封裝)惟獨14條地址線,只能尋址16 kb的sram空間。要想尋址64 kb地址空間的話,flash地址線的高兩位則需要通過其他io線控制。在本系統(tǒng)中通過gpio4和gpio6與flash的高兩位地址相連實現(xiàn),其銜接暗示圖1所示。但是在bootloader自舉引導(dǎo)程序時,并不能控制gpio引腳,也就是只能引導(dǎo)最大16 kb的程序。對于大于16 kb的程序,則需要舉行二次引導(dǎo)。3.2 二次引導(dǎo)技術(shù)所謂二次引導(dǎo),就是通過dsp內(nèi)部rom固化的bootloader引導(dǎo)用戶自行編寫一個引導(dǎo)程序,其功能和rom固化的bootloader相同,再通過此引導(dǎo)程序加載系統(tǒng)終于運行的程序代碼,并在加載結(jié)束

7、后,把pc值置為新的程序入口地址。在用戶編寫的引導(dǎo)程序中控制gipo4和gpio6,即可實現(xiàn)64 kb地址空間尋址。詳細(xì)實現(xiàn)框圖2所示。3.3 數(shù)據(jù)燒寫程序設(shè)計flash的數(shù)據(jù)可挺直讀取,但對flash的編程和擦除操作則需要通過一系列指令才干舉行。at49lv1024的寫操作只能將1變成0,而0變成1必需通過擦除操作舉行。所以每次寫flash之前必需舉行片擦除,使存儲單元值變成0xffff,才干舉行編程。擦除指令需要6個周期,操作指令如表2所示。編程指令需要4個周期,操作指令如表3所示。編程和擦除操作都需要一定周期的時光(at49lv1024的單字編程時光是208,整片擦除時光是10 s),用

8、戶可以通過查詢標(biāo)記數(shù)據(jù)線dq6和dq7確定編程或擦除是否完畢。當(dāng)器件正處于編程或擦除狀態(tài)時,延續(xù)讀隨意單元的值,dq6的值將向來在0、1之間交替變幻,當(dāng)編程或擦除結(jié)束時,讀dq6則得到一個恒定值。本文即通過此辦法推斷操作是否結(jié)束。 按照flash的編程和擦除指令,編寫了相應(yīng)的程序,其中setgpio46addr(addr)子程序的作用是按照所傳遞的addr值配置相應(yīng)的gpio4和gpio6即高兩位地址的值。3.3.1 片擦除程序3.3.2 單字編程程序3.3.3 編程和擦除結(jié)束確認(rèn)程序3.4 程序的燒寫實現(xiàn)本系統(tǒng)在ccs仿真環(huán)境下對flash舉行在線編程。先建立一個flash的燒寫工程,并在工程中將要燒寫進flash的引導(dǎo)表文件通過ccs的loaddata功能挺直加載進dsp的內(nèi)存,按照加載的首地址和數(shù)據(jù)長度,在仿真環(huán)境下燒進flash中。值得注重的是,程序加載的內(nèi)存空間不能與flash的燒寫程序重疊,否則燒寫失敗。需要補充的是,經(jīng)hex55.exe文件轉(zhuǎn)化后的hex格式的引導(dǎo)表文件是不能挺直導(dǎo)入ccs中的。ccs只支持將特殊規(guī)定的dat格式文件通過loaddata導(dǎo)入內(nèi)存,所以在導(dǎo)入之前必需先將引導(dǎo)表轉(zhuǎn)化成dat格式文件,這個工作可以由vc編寫一個容易的c語言轉(zhuǎn)

溫馨提示

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

評論

0/150

提交評論