![TMS320VC5402并行引導方案的設(shè)計_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/25/6d3eb383-3de3-480f-9816-00cc1a635ab2/6d3eb383-3de3-480f-9816-00cc1a635ab21.gif)
![TMS320VC5402并行引導方案的設(shè)計_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/25/6d3eb383-3de3-480f-9816-00cc1a635ab2/6d3eb383-3de3-480f-9816-00cc1a635ab22.gif)
![TMS320VC5402并行引導方案的設(shè)計_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/25/6d3eb383-3de3-480f-9816-00cc1a635ab2/6d3eb383-3de3-480f-9816-00cc1a635ab23.gif)
![TMS320VC5402并行引導方案的設(shè)計_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/25/6d3eb383-3de3-480f-9816-00cc1a635ab2/6d3eb383-3de3-480f-9816-00cc1a635ab24.gif)
![TMS320VC5402并行引導方案的設(shè)計_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/25/6d3eb383-3de3-480f-9816-00cc1a635ab2/6d3eb383-3de3-480f-9816-00cc1a635ab25.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、課 程 設(shè) 計 任 務(wù) 書題目 TMS320VC5402并行引導方案的設(shè)計 專業(yè)、班級 學號 姓名 主要內(nèi)容、基本要求、主要參考資料等:1、 參考課本及C54X Applications Guide.pdf 中關(guān)于BootLoader的內(nèi)容。2、 設(shè)計TMS320VC5402的并行引導方案。要求將用戶代碼存放于并行接口FLASH芯片中,處理器啟動后能正常進入用戶程序。3、 設(shè)計相關(guān)硬件電路,要求支持并行引導,具備外擴程序存儲空間、外擴數(shù)據(jù)存儲空間、外擴IO存儲空間。4、 要求編寫引導完成后的用戶初始化代碼。5、 完成電路設(shè)計,說明引導過程,在CCS5000上驗證程序。設(shè)計完成后要求每人上交一份
2、課程設(shè)計說明書,說明書要求包含有課程設(shè)計任務(wù)書,各文件的說明,各文件里關(guān)鍵語句的說明。說明書要求字跡工整、敘述清楚。6、 發(fā)揮部分,如時間可行,增加設(shè)計成為一個完整的項目(附加一個簡單例程、一個命令文件和一個向量表文件)。并驗證結(jié)果。7、 時間:一周。完 成 期 限: 指導教師簽名: 課程負責人簽名: 年 月 日摘 要 在54x 系列DSP 的應用設(shè)計中,DSP 的運行速度是衡量系統(tǒng)性能的一項重要指標.要達到預期的運行速度,就要給DSP系統(tǒng)的程序空間設(shè)計一個高速程序存儲空間.引導是將程序存儲在低速但停電數(shù)據(jù)不丟失的FLASH中,運行時使用存取速度快的RAM作為程序運行存儲體,這樣既可保證停電時
3、數(shù)據(jù)不丟失又可進行高速數(shù)據(jù)存取.本文介紹TMS320VC5402并行引導方案的設(shè)計。關(guān)鍵詞:TMS320VC5402, FLASH, DSP目 錄摘 要I1、主要芯片介紹11.1 TMS320VC5402簡介11.2 閃存SST39VF400A簡介22、C5402的并行Bootloader原理32.1 C5402并行引導模式32.2 Bootloader的引導原理33、系統(tǒng)硬件電路的設(shè)計54、系統(tǒng)軟件設(shè)計74.1測試程序設(shè)計74.2 用戶初始化程序設(shè)計74.3 引導表的建立及引導裝載過程94、課程設(shè)計心得12I1、主要芯片介紹1.1 TMS320VC5402簡介 TMS320VC5402(以下
4、簡稱C5402)是德州儀器公司(TI)1999年10月推出的性價比極高(目標價格僅為5美元)的定點數(shù)字信號處理器(DSP)。C5402主要特點如下: ·操作速率達100MIPS;·具有先進的多總線結(jié)構(gòu),三條16位數(shù)據(jù)存儲器總線和一條程序存儲器總線;·40位算術(shù)邏輯單元(ALU),包括一個40位桶形移位器和兩個40位累加器;·一個17×17乘法器和一個40位專用加法器,允許16位帶/不帶符號的乘法;·整合維特比加速器,用于提高維特比編譯碼的速度;·單周期正規(guī)化及指數(shù)譯碼;·8個輔助寄存器及一個軟件棧,允許使用業(yè)界最先
5、進的定點DSP C語言編譯器;·數(shù)據(jù)/程序?qū)ぶ房臻g1M×16bit,內(nèi)置4K×16bit ROM和16K×16bit RAM;·內(nèi)置可編程等待狀態(tài)發(fā)生器、鎖相環(huán)(PLL)時鐘產(chǎn)生器、兩個多通道緩沖串行口、一個8位并行與外部處理器通信的HPI口、2個16位定時器以及6通道DMA控制器;·低功耗,工作電源有3V和1.8V(內(nèi)核),特別適合電池供電設(shè)備。由此可見,與TMS32054X系列的其它芯片相比,C5402以其獨有的高性能、低功耗和低價格特性,使得一推出就受到業(yè)內(nèi)用戶的歡迎。但它的內(nèi)部結(jié)構(gòu)和片內(nèi)掩模的引導裝載(Bootloader)程
6、序與C54X系列的其它DSP處理器有較大的差異,而它的應用對象又大多是要求能脫機運行,如機頂盒(STB)、個人數(shù)字助理(PDA)和數(shù)字無線通信等內(nèi)嵌式系統(tǒng)。1.2 閃存SST39VF400A簡介閃爍存儲器(flash memory) 是可以在線電擦寫、掉電后信息不丟失的存儲器。SST39VF400A是SST公司推出的256K×1位產(chǎn)品,可以直接與DSP相接,具有以下主要特點:(1) 可直接與3.3V的高性能DSP接口,簡化了系統(tǒng)的電源要求; (2) 最快的存取速度高達90ns,CMOS工藝 ,具有100000次寫入/擦寫壽命; (3) 低功耗; (4) 靈活的塊結(jié)構(gòu)支持整片擦除、塊擦
7、除、段擦除; (5) 塊保護功能,具有防止對任何區(qū)段進行編程或擦除的硬件保護機制; (6) 與JEDEC標準兼容,引腳分布和命令集與單電源flash相兼容。 2、C5402的并行Bootloader原理2.1 C5402并行引導模式 C5402加電時,如果芯片檢測到MP/MC引腳電平為低電平, 系統(tǒng)從0FF80H開始執(zhí)行代碼.此處有一個分支指令(廠家編程設(shè)置的),可以跳轉(zhuǎn)到引導程序的開始地址( 0F800H ).這個程序可以在引導之前設(shè)置CPU 狀態(tài)寄存器的初始值.中斷被全部禁止,OVLY設(shè)置為1,程序和數(shù)據(jù)存取等待時間被設(shè)置為7個等待周期,然后開始程序的引導.當C5402檢測到INT2引腳為
8、高電平、INT3引腳為高電平,即2個引腳都無效時, C5402會轉(zhuǎn)到行引導方式. 并行引導方式是通過擴展的內(nèi)存接口從數(shù)據(jù)地址空間讀取所需的引導表, 再將代碼傳送到程序存儲區(qū). 并行引導既支持8位的數(shù)據(jù)寬度, 也支持16 位的數(shù)據(jù)寬度. 軟件可編程等待寄存器( SWWSR )和塊切換控制寄存器( BSCR) 都可以在這2種模式中得到設(shè)置.2.2 Bootloader的引導原理C5402 的Bootloader 在系統(tǒng)加電時把外部源程序傳送到內(nèi)部存儲器或內(nèi)部程序空間。它允許程序被存放在外部慢速的存儲器中,并調(diào)到高速的存儲器中運行。這可大大減小C5402 內(nèi)部RAM掩模的需要,降低電路設(shè)計的成本。C
9、5402的內(nèi)部ROM中有固化好的加載程序。如果 DSP 的MP/MC 管腳接低,在DSP加電 RESET 時,程序就從內(nèi)部 ROM的 FF80H 地址開始行運行。在 FF80H 處,有一條跳轉(zhuǎn)到 BOOT 程序的指令,執(zhí)行內(nèi)部固化好的 BOOT 程序。BOOT程序在運行搬移程序之前,首先進行初始化,工作包括關(guān)閉中斷、將內(nèi)部 RAM 映射在程序/數(shù)據(jù)空間,以及為訪問數(shù)據(jù)和程序空間設(shè)置的七個軟件等待等;然后根據(jù)設(shè)計完成不同方式下程序的搬移。C5402 共有上面講述的 5 種加載方式。這里只討論并口加載方案的設(shè)計,其流程如圖1所示。 在判斷前幾種加載方式無效后,Bootloader 從I/O 空間
10、0FFFFH 處讀取一個 16 位的程序起始地址。然后根據(jù)這個地址從外部數(shù)據(jù)區(qū)讀入一個字,判斷是否為在判斷前幾種加載方式無效后,Bootloader從 I/O 空間0FFFFH 處讀取一個 16 位的程序起始地址。然后根據(jù)這個地址從外部數(shù)據(jù)區(qū)讀入一個字,判斷是否為 10AAH。如果是,就采用 16 位的搬移方式;否則,就判斷讀入的字的低位字節(jié)和下一個地址讀入的字的低字節(jié)組成的 16 位字。如果是08AAH,就采用 8 位并行加載方式;否則,就在外部數(shù)據(jù)空間的 0FFFFH讀取一個 16位的程序起始地址,然后重復上面的檢測方法。3、系統(tǒng)硬件電路的設(shè)計Bootloader是通過仿真器和JTAG口借
11、助DSP芯片將Boot表寫入FLASH的過程。這對系統(tǒng)的要求是必須將FLASH與DSP芯片的HPI口或串口或并口等數(shù)據(jù)通道管腳相連。FLASH 存儲器是可以在線電擦寫、掉電后信息不丟失的存儲器。FLASH與EPROM相比, 具有更高的性能價格比, 而且體積小、功耗低、擦寫速度快、使用比較方便。因此, 采用FLASH存儲程序和固定數(shù)據(jù)是一種比較好的選擇。各種FLASH芯片大同小異,本文采用存儲容量為256KW的SST39VF400芯片作為C5402的外擴FLASH程序存儲器, 電路見圖2。圖2 C5402外擴FLASH存儲器簡圖其中A0A14作為外部地址引腳, A15A18通過跳線, 將256K
12、W的FLASH存儲器分割為大小為32KW的8塊,實現(xiàn)手動翻頁。FLASH的0000h7fffh映射到數(shù)據(jù)空間的8000hFFFFh, 在本例中將跳線JP1JP3設(shè)為000,將Boot表存放在FLASH從0x8000h開始的空間里。74LVC139D是一個雙四選一數(shù)據(jù)選擇器, 按圖所示分別連接到C5402的MSTRB、R/W、XF和DS端。實現(xiàn)DSP對外擴FLASH、數(shù)據(jù)存儲器、程序存儲器(外擴數(shù)據(jù)存儲器、程序存儲器未畫出)片選及讀寫控制。4、系統(tǒng)軟件設(shè)計4.1測試程序設(shè)計由于 Bootloader 需要完成的是系統(tǒng)的脫機運行,因此可用一個簡單可靠的測試程序驗證硬件是否已經(jīng)協(xié)調(diào)工作。下面是一個可
13、行的方法,通過設(shè)置 XF 的電平高低,讓XF輸出不同頻率的方波,或者在XF管腳外接一個發(fā)光二極管,就可以直觀的看到系統(tǒng)有沒有協(xié)調(diào)工作。 test:nop rsbx,1,13 /*將 XF 管腳置為低電平*/ call delay /*調(diào)用延時子程序*/ ssbx 1,13 /*將 XF 管腳置為高電平*/ call delay /*調(diào)用延時子程序*/ b test /*循環(huán)運行*/4.2 用戶初始化程序設(shè)計.c-mode.mmregsCONST-COPY .set 1.sect “.boot”.global c-int00.global main,-exit,-STACK-SIZE-stack
14、: .usect“.stack”,0 ;定義堆棧-c-int00*堆棧初始化*STM #-stack,SP ;棧底->SPADDM #(-STACK-SIZE-1),*(SP) ;SP+棧長度=>棧頂->SPANDM #0fffeh, *(SP) ;讓SP為偶地址SSBX SXM ;STM置位LD#cinit,A*寄存器初始化*SSBX CPL ;打開編譯模式位RSBX OVM ;清除溢出位LD #0,ARPRSBX C16RSBX CMPTRSBX FRCTSSBX XF*變量區(qū)初始化*stm #0x3a00,arlst #0,*arl+st #0,*arl+st #0,*
15、arl*常量區(qū)初始化*-const-initSTM #03a24h,AR2 ;常量區(qū).const運行地址->AR2RPT #05fhMVPD #0f000h,*AR2+ ;將.const由flash拷貝到RAM區(qū)*程序初始化*STM #0cc0h,AR2 ;程序段.text運行地址->AR2RPT #300hMVPD #0f000h,*AR2+ ;將.text由flash拷貝到RAM區(qū)*中斷向量表初始化*STM #080h,AR2 ;中斷向量表.vector運行地址->AR2RPT #07fh MVPD #0ff80h,*AR2+ ;將.vector由flash拷貝到RAM區(qū)
16、CALL -main ;轉(zhuǎn)入主程序入口CALL -exit ;轉(zhuǎn)入結(jié)束程序入口RET.end4.3 引導表的建立及引導裝載過程為了實現(xiàn)DSP加電自舉 ,flash中的數(shù)據(jù)必須按照引導表的格式“燒寫”。引導表的作用是:DSP運行此表時,首先根據(jù)引導表中前部分用戶起始地址,把后面的用戶程序代碼加載到DSP片內(nèi)程序空間中相應的用戶地址區(qū)域 ( 由于 Flash與 DSP時間不匹配,要設(shè)置好SWWR和BSCR寄存器),然后,根據(jù)引導表中的程序入口地址,在程序空間相應的地址開始運行程序 。圖3為l6位并行引導的代碼結(jié)構(gòu)(引導表在空間允許的情況下可以放幾個程序代碼段。為便于說明,在此只說明一個程序代碼段的
17、情況)。10AA (并行尋址格式)SWWSR寄存器的初始值BSCR寄存器的初始值 用戶程序入口的XPC用戶程序入口的地址PC 用戶程序的長度 用戶程序起始地址XPC用戶程序起始地址PC用戶程序代碼0000(表示引導表結(jié)束)圖3 并行自舉表的代碼結(jié)構(gòu)下面結(jié)合一個實例,說明利用hex500命令生成二進制數(shù)據(jù)引導表的方法。所編寫的一個用戶程序名為fan.C,在編譯鏈接成功后生成的輸出文件名為fan.out;程序空間的開始地址為Oxl400,程序執(zhí)行的入口地址為Oxl44F。利用 hex500工具,生成文件名為fan.hex的二進制數(shù)據(jù),hex500命令后添加如下條件 : fan.out;要轉(zhuǎn)換的.o
18、ut文件-a ;生成ASCII碼的形式-a 0x144F ;程序空間中程序運行的開始地址 -boot ;轉(zhuǎn)換成引導表的形式 -bootorg PARALLEL ;并行格式 -byte ;按字節(jié)分配地址 -memwidth l6 ;系統(tǒng)存儲器字寬度為l6位 -romwidth l6 ;ROM物理寬度為l6位 -swwsr Ox7FFF ;SWWSR設(shè)置軟件等待周期 -bscr 0xF800 ;BSCR設(shè)置段開關(guān)控制寄存器值 -O fan.hex ;輸出的二進制數(shù)據(jù)文件名生成的二進制數(shù)據(jù)文件 fan.hex的數(shù)據(jù)為: 0x1OAA 0x7FFF OxF800 0x0000 0xl44F 0x00D
19、l 0x0000 0x1400(用戶程序代碼)OxO000: 前 8個數(shù)據(jù)解釋分別為: 0xlOAA :l6位并行尋址格式 : Ox7FFF :SWWSR初始值為0x7FFF,因為Flash的運行速度比DSP慢,所以等待7個周期; 0xF800 : BSCR初始值為0xF800: OxO000 : 引導表程序入口的XPC=0: 0x144F :引導表程序入口的地址=0x144F: 0x00Dl :引導表程序的長度=0x00Dl; OxO000 :引導表起始地址XPC=0: 0x1400 :引導表的起始地址=0x1400;編寫一個數(shù)據(jù)轉(zhuǎn)換程序,把二進制數(shù)據(jù)文件fan.hex轉(zhuǎn)換為數(shù)組頭文件fan
20、.h。在CCS環(huán)境下,F(xiàn)lash的“燒寫”主程序包含此頭文件,編譯鏈接后通過仿真器下載到DSP中,運行DSP,用戶程序就被“燒入” 到 Flash中了。 實際應用時:在數(shù)據(jù)空間地址0xFFFF(也就是Flash的空間0xFFFF)中,“燒寫”數(shù)據(jù)0x9000( Flash中存放的引導表起始地址);從Flash的地址0x9000開始,“燒入”用戶引導表數(shù)據(jù),即 fan.h中的數(shù)組數(shù)據(jù)。 DSP運行情況為:依據(jù)圖l、2所示的引導裝載過程,經(jīng)過一系列設(shè)置,使DSP尋址到數(shù)據(jù)空間地址0xFFFF,得到引導表的起始地址 0x9000;PC指針指向0x9000,執(zhí)行引導表的數(shù)據(jù);根據(jù)引導表寫入信息,把后面的程序載入程序空間起始地址0x1400(xPc=O)(這時通過仿真器查看程序空間0x1400開始的數(shù)據(jù),與仿真器下載的fan.out文件數(shù)據(jù)是一致的)。然后,DSP的PC指針指向程序入口地址0x144F(xPc=0),開始執(zhí)行用戶程序,完成了DSP利用Flash實現(xiàn)l6位并行引導裝載的過程。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 科技發(fā)展與學科教育的互促關(guān)系研究
- 科技教育編程教育的普及與推廣
- DB4453T 30-2025廣藿香組培苗生產(chǎn)技術(shù)規(guī)程
- DB35T 2232-2024海峽兩岸共通 火龍果生產(chǎn)技術(shù)規(guī)程
- 東莞企業(yè)勞動合同范本
- 個人貸款房屋抵押合同模板大全
- 業(yè)務(wù)經(jīng)營權(quán)轉(zhuǎn)讓合同
- 個人車位共有權(quán)買賣合同
- 臨時倉儲合同范本
- 兩人股權(quán)轉(zhuǎn)讓合同范本
- 電梯結(jié)構(gòu)與原理-第2版-全套課件
- IEC-62368-1-差異分享解讀
- SWITCH塞爾達傳說曠野之息-1.6金手指127項修改使用說明教程
- 2022-2023學年廣東省佛山市順德區(qū)高三(下)模擬英語試卷
- 節(jié)后復工培訓內(nèi)容五篇
- GB/T 33322-2016橡膠增塑劑芳香基礦物油
- GA 1051-2013槍支彈藥專用保險柜
- 某水毀公路維修工程施工方案
- 家庭病房工作制度和人員職責
- 建設(shè)工程監(jiān)理合同示范文本GF-2018-0202
- 2022質(zhì)檢年終工作總結(jié)5篇
評論
0/150
提交評論