




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 DSP系統(tǒng)應(yīng)用中FLASH在線編程方法 黎明也 時(shí)間:2008年10月15日 字 體: 大 中 小 關(guān)鍵詞: 摘要:關(guān)鍵詞: DSP JTAG FLASH存儲(chǔ)器 在線編程 Bootload1 SST29LE020的特點(diǎn)及操
2、作2 TMS320VC33簡(jiǎn)介TMS320VC33是美國(guó)TI公司推出的TMS320C3X系列的32位浮點(diǎn)數(shù)字信號(hào)處理器,它是在TMS320C31浮點(diǎn)DSP的基礎(chǔ)上開發(fā)的一個(gè)價(jià)格更低的DSP,該產(chǎn)品具有高速、低功耗、低成本、易于開發(fā)等顯著優(yōu)點(diǎn)。TMS320VC33采用內(nèi)部1.8V,外部3.3V供電,因而它的功耗比原有型號(hào)TMS320C31的功耗降低了大約一個(gè)數(shù)量級(jí),而且能支持高達(dá)150MFLOPS的運(yùn)行速率。其主要特性如下:CPU是32bit的高性能CPU:可進(jìn)行1632b整數(shù)和3240b的浮點(diǎn)操作;內(nèi)含8個(gè)擴(kuò)展精度寄存器;有2個(gè)地址發(fā)生器、8個(gè)輔助寄存器和2個(gè)輔助寄存器算術(shù)單元(ARAU)。片
3、內(nèi)存儲(chǔ)器為32bit指令字、24bit地址線、34K×32b(1.1Mb)的雙靜態(tài)RAM。外圍接口具有啟動(dòng)程序裝載功能;內(nèi)含5倍頻的鎖相環(huán)(PLL)時(shí)鐘發(fā)生器;片內(nèi)存儲(chǔ)器可映射外設(shè),其中包括一個(gè)串行口、兩個(gè)32bit定時(shí)器和一個(gè)DMA;具有四個(gè)內(nèi)部譯碼頁(yè)選,可大大簡(jiǎn)化TMS320VC33與IO及存儲(chǔ)器的接口。3 TMS320VC33程序引導(dǎo)功能4 FLASH在線編程方法TMS320VC33的調(diào)試使用CC for C3x/4X(Code Composer)集成編譯環(huán)境,通過JTAG頭仿真用戶板,用戶代碼先放在外部RAM中調(diào)試,調(diào)試成功后,就可以將用戶程序代碼寫入FLASH了。下面介紹在
4、并行裝入BOOT2方式下的在線編程方法。SST29LE020與TMS320VC33的連接方法比較簡(jiǎn)單,F(xiàn)LASH片選CE引腳直接連接至TMS320VC33的PAGE1引腳;FLASH的輸出使能OE引腳的最簡(jiǎn)單的處理方法是采用跳線方式(當(dāng)向FLASH寫入數(shù)據(jù)時(shí),接高電平;通常情況下,接地)。在調(diào)試用戶程序時(shí),需根據(jù)用戶板的存儲(chǔ)器空間分配制作CMD文件,假設(shè)用戶擴(kuò)展的外部RAM為32bit,起始地址為0x00c00000,長(zhǎng)度為32K;外部FLASH起始地址為0x00400000(使用BOOT2方式),長(zhǎng)度為256K。其CMD文件如下:MEMORYINTRAM1:origin = 0x008000
5、00, length = 0x00008000INTRAM2:origin = 0x00809800, length = 0x000007c1VEC: origin = 0x00809fc1, length = 0x3fEXTRAM:origin = 0x00c00000, length = 0x00008000 /*32K*/FLASH: origin = 0x00400000, length=0x00040000/*256K*/SECTIONS /*用戶程序代碼及初始化數(shù)據(jù)放在外部RAM*/.vectors VEC /*VC33規(guī)定的中斷向量地址*/.text : LOAD = EXTRA
6、M.cinit EXTRAM.data : RUN = EXTRAM.bss : RUN = INTRAM2.stack INTRAM1第一步:在CC下編譯后,裝入用戶.OUT文件,用戶程序代碼即被寫入EXRAM空間。第二步:依照TMS320VC33的BOOT格式,并根據(jù)CC產(chǎn)生的用戶.MAP文件找出程序入口地址、各加載塊的入口地址以及長(zhǎng)度,編寫FLASH燒寫文件。示例源程序清單如下:#define MEM_WIDE 0x00000008 /*Flash存儲(chǔ)器寬度*/#define CG_REGISTER 0x000010c8 /*全局存儲(chǔ)器配置參數(shù)*/#define ENTER_POINT
7、0x00c00064 /*程序代碼入口地址*/volatile int *flash_add = (volatile int *)0x400000; /*外部Flash的映射地址*/#define BOOTORG 0xc00064 /*.MAP文件中的程序入口地址*/#define BOOTBLK 3/*.MAP文件中的加載塊數(shù)量*/#define BOOTSRC1_ADD 0x00809fc1 /*第1個(gè)加載塊地址*/volatile int *bootblk1_add = (volatile int *)0x00809fc1;#define BOOTBLK1_LEN 0x3a/*第1個(gè)加載
8、塊長(zhǎng)度*/#define BOOTSRC2_ADD 0x00c00000 /*第2個(gè)加載塊地址*/volatile int *bootblk2_add = (volatile int *)0x00c00000;#define BOOTBLK2_LEN 0xa3/*第2個(gè)加載塊長(zhǎng)度*/#define BOOTSRC3_ADD 0x00c000a3 /*第3個(gè)加載塊地址*/volatile int *bootblk3_add = (volatile int *)0x00c000a3;#define BOOTBLK3_LEN 0x17/*第3個(gè)加載塊長(zhǎng)度*/unsigned int flashadd
9、num,bytenum;/*定義Flash地址及頁(yè)面字節(jié)數(shù)變量*/void waite(int ms) /*軟件等待1ms子程序*/; void sdp_flash()/*軟件數(shù)據(jù)保護(hù)子程序*/flash_add0x5555=0xaa; /*3字節(jié)芯片SDP指令*/flash_add0x2aaa=0x55;flash_add0x5555=0xa0;void era_flash()/*擦除芯片子程序*/flash_add0x5555=0xaa;/*6字節(jié)芯片擦除指令*/flash_add0x2aaa=0x55;flash_add0x5555=0x80;flash_add0x5555=0xaa;f
10、lash_add0x2aaa=0x55;flash_add0x5555=0x10;waite(20); /*20ms等待芯片擦除完成*/void write_flash(int bootdata)/*寫一個(gè)int型數(shù)據(jù)*/unsigned int i;for(i=0;i=3;i+) /*一個(gè)int型數(shù)分成四個(gè)字節(jié)寫入*/if(bytenum=0) /*如果是頁(yè)面第1個(gè)字節(jié),先寫SDP指令*/sdp_flash();flash_addflashaddnum=bootdata; /*向Flash地址寫一個(gè)字節(jié)*/flashaddnum+; /*Flash地址加1*/bytenum+;/*頁(yè)面字節(jié)加
11、1*/if(bytenum127) /*一個(gè)頁(yè)面寫完,頁(yè)面字節(jié)置0,等待11ms*/bytenum=0;waite(11);bootdata=8;/*待寫數(shù)據(jù)右移8位*/void main() /*主程序*/unsigned int i,j,lenth;bytenum=0;flashaddnum=0; /*Flash地址及頁(yè)面字節(jié)數(shù)置0*/waite(1); /*等待1ms*/era_flash(); /*擦除Flash芯片*/write_flash(MEM_WIDE); /*寫外部Flash存儲(chǔ)器寬度*/write_flash(CG_REGISTER); /*寫寄存器配置參數(shù)*/write_
12、flash(1); /*第1個(gè)boot 的數(shù)據(jù)長(zhǎng)度為1*/write_flash(ENTER_POINT); / *寫入boot的目的地址*/write_flash(0); /*第1個(gè)boot的數(shù)據(jù)*/for(i=0;iBOOTBLK;i+)/*分別燒寫需要boot的數(shù)據(jù)塊*/if(i=0)/*每個(gè)數(shù)據(jù)塊燒寫的起始2字節(jié)分別是長(zhǎng)度和源地址*/lenth=BOOTBLK1_LEN;write_flash(BOOTBLK1_LEN);write_flash(BOOTSRC1_ADD);else if(i=1)lenth=BOOTBLK2_LEN;write_flash(BOOTBLK2_LEN);
13、write_flash(BOOTSRC2_ADD);else if(i=2)lenth=BOOTBLK3_LEN;write_flash(BOOTBLK3_LEN);write_flash(BOOTSRC3_ADD);else;for(j=0;jlenth;j+) /*將數(shù)據(jù)塊內(nèi)容寫入Flash*/if(i=0)write_flash(bootblk1_addj);else if(i=1)write_flash(bootblk2_addj);else if(i=2)write_flash(bootblk3_addj);else;write_flash(0); /*代碼最后位置寫全零*/wait
14、e(10); /*等待10ms,保證Flash寫完成*/第三步:修改.CMD文件SECTION段,將燒寫程序鏈接到內(nèi)部RAM區(qū)。.CMD文件中SECTION段如下:SECTIONS /*Flash燒寫代碼及初始化數(shù)據(jù)放在TMS320VC33內(nèi)部RAM*/.text : LOAD = INTRAM1 .bss : RUN = INTRAM1.cinit INTRAM1.stack INTRAM1 第四步:運(yùn)行燒寫程序,用戶代碼即被寫入FLASH中,將FLASH的OE引腳跳線連通至地的位置,利用CC可以查看FLASH存儲(chǔ)器內(nèi)容是否與要燒寫的內(nèi)容一致,并脫機(jī)檢驗(yàn)。FLASH在線編程方法已在用戶板上得到了驗(yàn)證,達(dá)到了預(yù)期的目的。通過JTAG仿真器對(duì)TMS320VC33用戶系統(tǒng)外部FLASH的在線編程,可以省去HEX轉(zhuǎn)換工具及EPROM編程器等工具,且具有方便、易行的特點(diǎn)。該現(xiàn)場(chǎng)在線編程的方法可推廣至其它系列DSP用戶系統(tǒng),是DSP開發(fā)中需要掌握的一項(xiàng)新技術(shù)。參考文獻(xiàn)1 SST29LE020 DATA SHEET.Storage Technology, 20032 TMS320VC33 Digital
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 筆譯服務(wù)合同(翻譯中心)-服務(wù)合同7篇
- 2025年龍巖貨運(yùn)資格證考試真題
- 學(xué)校燈光改造工程合同
- 勞務(wù)派遣合同模本
- 工程分包合同總公司與分公司
- 英語(yǔ)基礎(chǔ)題試卷小學(xué)
- 小學(xué)課外英語(yǔ)試卷
- 配電控制設(shè)備市場(chǎng)分析及競(jìng)爭(zhēng)策略分析報(bào)告
- 簡(jiǎn)單的競(jìng)標(biāo)合同范本
- 分包木工材料合同范本
- 《模具制造流程》課件
- 2025年01月2025廣東深圳市何香凝美術(shù)館公開招聘應(yīng)屆高校畢業(yè)生2人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2025年北京電子科技職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 2025年菏澤職業(yè)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 2025年江西生物科技職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試近5年常考版參考題庫(kù)含答案解析
- 2025年山東力明科技職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試近5年常考版參考題庫(kù)含答案解析
- 2025年上海浦東新區(qū)高三一模高考英語(yǔ)試卷試題(含答案詳解)
- 2025-2030全球嬰兒磨牙用品行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 地鐵出入口施工方案
- 上海市發(fā)展改革研究院工作人員招考聘用12人高頻重點(diǎn)提升(共500題)附帶答案詳解
- CRM系統(tǒng)應(yīng)用培訓(xùn)
評(píng)論
0/150
提交評(píng)論