TMS320C54xDSP在線(xiàn)燒寫(xiě)FLASH存儲(chǔ)器并實(shí)現(xiàn)自舉引導(dǎo)的方法
發(fā)布時(shí)間:2007/4/23 0:00:00 訪問(wèn)次數(shù):2687
關(guān)鍵詞:TMS320C54x FLASH 燒寫(xiě) 自舉引導(dǎo)
在DSP系統(tǒng)中通常貼片式FLASH存儲(chǔ)器保存程序,并且在上電或復(fù)位時(shí)再將存儲(chǔ)在FLASH中的程序搬移到DSP片內(nèi)或者片外的RAM中全速運(yùn)行。這個(gè)“程序搬移”的過(guò)程叫做自舉加載。
本文以TMS320C5416 DSP對(duì)MBM29LV400BC存儲(chǔ)器的操作為例,詳細(xì)闡述了在線(xiàn)燒寫(xiě)FLASH并實(shí)現(xiàn)自舉加載的方法。該方法適合于大多數(shù)C54x系列DSP對(duì)符合JEDEC標(biāo)準(zhǔn)的FLASH的操作。為便于讀者使用,本文的程序全部采用C語(yǔ)言編寫(xiě)。
1 TMS320C5416與MBM29LV400BC的硬件接口
MBM29LV400BC與TMS320C5416的接口很方便,前者只需作為后者的外部數(shù)據(jù)存儲(chǔ)器與其進(jìn)行連接,而中間的邏輯電路采用CPLD實(shí)現(xiàn)即可。這里使用16位數(shù)據(jù)寬度,所以BYTE引腳通過(guò)一個(gè)上拉電阻接到3.3V電源。連接電路原理如圖1所示。相應(yīng)的VHDL語(yǔ)言程序?yàn)椋?/P>
FLASH_CE<=DSP_DS;
FLASH_OE<=(NOT DSP_R_W)OR DSP_MSTRB;
FLASH_WE<=DSP_R_W OR DSP_MSTRB;
2 TMS320C5416自舉引導(dǎo)過(guò)程
當(dāng)MP/MC=0時(shí),TMS320C5416被置于微計(jì)算機(jī)模式。上電或復(fù)位時(shí),程序指針指向片內(nèi)ROM區(qū)的FF80H單元,該單元放置了一條跳轉(zhuǎn)指令,使程序跳轉(zhuǎn)到F800H單元。而F800H就是自舉加載器(Bootloader)引導(dǎo)程序的起始單元。
Bootloader的任務(wù)就是將存放在外部FLASH中的程序“搬運(yùn)”到DSP內(nèi)部或外部的RAM區(qū),“搬運(yùn)”完后跳轉(zhuǎn)到程序入口處執(zhí)行。存放在外部FLASH中的用戶(hù)程序與一些必要的引導(dǎo)信息組合在一起,稱(chēng)為Boot表示(自舉表)。16位模式下通用的Boot表結(jié)構(gòu)如表1所示。
表1 16位模式下通用Boot表結(jié)構(gòu)
序 號(hào) | 內(nèi)容及意義 |
1 | 10AA(16位存儲(chǔ)格式) |
2 | SWWSR值 |
3 | BSCR值 |
4 | Boot之后程序執(zhí)行入口偏移地址XPC |
5 | Boot之后程序執(zhí)行入口地址PC |
6 | 第一個(gè)程序段的長(zhǎng)度 |
7 | 第一個(gè)程序段要裝入的內(nèi)部RAM區(qū)域移地址 |
8 | 第一個(gè)程序段要裝入的內(nèi)部RAM區(qū)地址 |
9 | 第一個(gè)程序段代碼… |
10 | 第二個(gè)程序段的長(zhǎng)度 |
11 | 第二個(gè)程序段要裝入的內(nèi)部RAM區(qū)偏移地址 |
12 | 第二個(gè)程序段要裝入的內(nèi)部RAM區(qū)地址 |
13 | 第二個(gè)程序段代碼… |
14 | Boot表結(jié)構(gòu)標(biāo)志:0x0000 |
TMS320C5416提供了多種自舉加載的方法。在此使用并行加載模式,因此令I(lǐng)NT2=1和INT3=1。在并行模式下,自舉表放在外部數(shù)據(jù)存儲(chǔ)器的32K高端地址區(qū)間:8000H~0FFFH。自舉表首地址放在數(shù)據(jù)空間的0FFFFH單元。加載時(shí),Bootloader讀取數(shù)據(jù)空間的0FFFFH單元中的內(nèi)容,將其作為首地址,從該地址開(kāi)始復(fù)制數(shù)據(jù)到內(nèi)部的程序空間。復(fù)制完畢后,Bootloader便跳轉(zhuǎn)到指定的程序入口地址,開(kāi)始執(zhí)行用戶(hù)程序。
3 MBM29LV400BC的操作命
關(guān)鍵詞:TMS320C54x FLASH 燒寫(xiě) 自舉引導(dǎo)
在DSP系統(tǒng)中通常貼片式FLASH存儲(chǔ)器保存程序,并且在上電或復(fù)位時(shí)再將存儲(chǔ)在FLASH中的程序搬移到DSP片內(nèi)或者片外的RAM中全速運(yùn)行。這個(gè)“程序搬移”的過(guò)程叫做自舉加載。
本文以TMS320C5416 DSP對(duì)MBM29LV400BC存儲(chǔ)器的操作為例,詳細(xì)闡述了在線(xiàn)燒寫(xiě)FLASH并實(shí)現(xiàn)自舉加載的方法。該方法適合于大多數(shù)C54x系列DSP對(duì)符合JEDEC標(biāo)準(zhǔn)的FLASH的操作。為便于讀者使用,本文的程序全部采用C語(yǔ)言編寫(xiě)。
1 TMS320C5416與MBM29LV400BC的硬件接口
MBM29LV400BC與TMS320C5416的接口很方便,前者只需作為后者的外部數(shù)據(jù)存儲(chǔ)器與其進(jìn)行連接,而中間的邏輯電路采用CPLD實(shí)現(xiàn)即可。這里使用16位數(shù)據(jù)寬度,所以BYTE引腳通過(guò)一個(gè)上拉電阻接到3.3V電源。連接電路原理如圖1所示。相應(yīng)的VHDL語(yǔ)言程序?yàn)椋?/P>
FLASH_CE<=DSP_DS;
FLASH_OE<=(NOT DSP_R_W)OR DSP_MSTRB;
FLASH_WE<=DSP_R_W OR DSP_MSTRB;
2 TMS320C5416自舉引導(dǎo)過(guò)程
當(dāng)MP/MC=0時(shí),TMS320C5416被置于微計(jì)算機(jī)模式。上電或復(fù)位時(shí),程序指針指向片內(nèi)ROM區(qū)的FF80H單元,該單元放置了一條跳轉(zhuǎn)指令,使程序跳轉(zhuǎn)到F800H單元。而F800H就是自舉加載器(Bootloader)引導(dǎo)程序的起始單元。
Bootloader的任務(wù)就是將存放在外部FLASH中的程序“搬運(yùn)”到DSP內(nèi)部或外部的RAM區(qū),“搬運(yùn)”完后跳轉(zhuǎn)到程序入口處執(zhí)行。存放在外部FLASH中的用戶(hù)程序與一些必要的引導(dǎo)信息組合在一起,稱(chēng)為Boot表示(自舉表)。16位模式下通用的Boot表結(jié)構(gòu)如表1所示。
表1 16位模式下通用Boot表結(jié)構(gòu)
序 號(hào) | 內(nèi)容及意義 |
1 | 10AA(16位存儲(chǔ)格式) |
2 | SWWSR值 |
3 | BSCR值 |
4 | Boot之后程序執(zhí)行入口偏移地址XPC |
5 | Boot之后程序執(zhí)行入口地址PC |
6 | 第一個(gè)程序段的長(zhǎng)度 |
7 | 第一個(gè)程序段要裝入的內(nèi)部RAM區(qū)域移地址 |
8 | 第一個(gè)程序段要裝入的內(nèi)部RAM區(qū)地址 |
9 | 第一個(gè)程序段代碼… |
10 | 第二個(gè)程序段的長(zhǎng)度 |
11 | 第二個(gè)程序段要裝入的內(nèi)部RAM區(qū)偏移地址 |
12 | 第二個(gè)程序段要裝入的內(nèi)部RAM區(qū)地址 |
13 | 第二個(gè)程序段代碼… |
14 | Boot表結(jié)構(gòu)標(biāo)志:0x0000 |
TMS320C5416提供了多種自舉加載的方法。在此使用并行加載模式,因此令I(lǐng)NT2=1和INT3=1。在并行模式下,自舉表放在外部數(shù)據(jù)存儲(chǔ)器的32K高端地址區(qū)間:8000H~0FFFH。自舉表首地址放在數(shù)據(jù)空間的0FFFFH單元。加載時(shí),Bootloader讀取數(shù)據(jù)空間的0FFFFH單元中的內(nèi)容,將其作為首地址,從該地址開(kāi)始復(fù)制數(shù)據(jù)到內(nèi)部的程序空間。復(fù)制完畢后,Bootloader便跳轉(zhuǎn)到指定的程序入口地址,開(kāi)始執(zhí)行用戶(hù)程序。
3 MBM29LV400BC的操作命
熱門(mén)點(diǎn)擊
- 為音頻設(shè)備提供高性能的低通30kHz貝塞爾濾
- 帶RF輸出的全數(shù)字調(diào)制器設(shè)計(jì)
- DSP基條碼掃描器
- TMS320VC33并行自舉的兩種巧妙實(shí)現(xiàn)方
- 支持以太網(wǎng)寬帶接入的IP機(jī)頂盒解決方案
- 基于ARM的MPEG4視頻解碼器
- 外掛Flash的TMS320VC5409引導(dǎo)
- 基于DSP的雷達(dá)視頻信號(hào)數(shù)字采集與檢測(cè)
- 基于XC166單片機(jī)的DSP優(yōu)化方法
- VINETIC語(yǔ)音處理器在VoIP解決方案中
推薦技術(shù)資料
- 業(yè)余條件下PCM2702
- PGM2702采用SSOP28封裝,引腳小而密,EP3... [詳細(xì)]
- AMOLED顯示驅(qū)動(dòng)芯片關(guān)鍵技
- CMOS圖像傳感器技術(shù)參數(shù)設(shè)計(jì)
- GB300 超級(jí)芯片應(yīng)用需求分
- 4NP 工藝NVIDIA Bl
- GB300 芯片、NVL72
- 首個(gè)最新高端芯片人工智能服務(wù)器
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究