新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > TMS320C6701 DSP自動(dòng)加載研究

TMS320C6701 DSP自動(dòng)加載研究

作者: 時(shí)間:2009-11-11 來(lái)源:網(wǎng)絡(luò) 收藏


0 引 言
在許多應(yīng)用系統(tǒng)中,都需要芯片能夠在加電后從外部設(shè)備程序,也就是引導(dǎo)(Boot-load)。TI公司的TMS320C6000系列芯片有三種引導(dǎo)方式可供選擇,分別是不、ROM和主機(jī)加載,詳細(xì)工作流程如下:
不加載:CPU直接從地址0處開始執(zhí)行代碼。如果該處內(nèi)存是SDRAM,那么CPU會(huì)先掛起,等待SDRAM的初始化完成。
ROM加載:位于外部CE1空間的ROM中的代碼首先通過(guò)DMA/EDMA被搬入地址0處。加載過(guò)程在復(fù)位信號(hào)撤銷后開始,此時(shí)CPU內(nèi)部保持復(fù)位狀態(tài),由DMA/EDMA執(zhí)行一個(gè)單幀的數(shù)據(jù)塊傳輸。對(duì)于C620x/C670x,DMA從CE1空間中拷貝64 KB數(shù)據(jù)到地址0處。傳輸完成后,CPU退出復(fù)位狀態(tài),開始執(zhí)行地址0處的指令。對(duì)于C62x/C67x,用戶還可以指定外部加載ROM的存儲(chǔ)寬度,EMIF會(huì)把相鄰的8 b/16 b數(shù)據(jù)合成32 b的指令。
主機(jī)加載:也就是HPI加載。CPU停留在復(fù)位狀態(tài),芯片其余部分保持正常狀態(tài)。引導(dǎo)過(guò)程中,外部主機(jī)通過(guò)主機(jī)接口初始化CPU的存儲(chǔ)空間。主機(jī)完成所有的初始化工作后,向接口控制寄存器的INT位寫1,結(jié)束引導(dǎo)過(guò)程。此時(shí)CPU退出復(fù)位狀態(tài),開始執(zhí)行地址0處的指令。

本文引用地址:http://2s4d.com/article/152290.htm


1 ROM加載的實(shí)現(xiàn)
究竟使用哪種引導(dǎo)方式取決于芯片引導(dǎo)模式設(shè)置,而引導(dǎo)模式由BOOTMODE[4:0]管腳確定。系統(tǒng)加電后,RESET信號(hào)有效,DSP芯片復(fù)位,在RESET信號(hào)上升沿處鎖存BOOTMODE[4:0]管腳上的設(shè)置值,以此決定DSP芯片內(nèi)存映射方式、地址0處的內(nèi)存類型以及復(fù)位后芯片的引導(dǎo)模式。本例中C6701的BOOTMODE值設(shè)為01101,即8 b ROM加載。
ROM加載是工程中最常見的加載方式,這種方式可以把程序代碼段和數(shù)據(jù)段保存在ROM,F(xiàn)LASH等非易失存儲(chǔ)器中,加載過(guò)程完全由DSP完成,在實(shí)際應(yīng)用中十分方便。ROM加載的具體步驟如下。
1.1 分配存儲(chǔ)空間,生成目標(biāo)文件(.out)
TI代碼產(chǎn)生工具產(chǎn)生的目標(biāo)文件是一種模塊化的文件格式――COFF格式。程序中的代碼和數(shù)據(jù)在COFF文件中是以段的形式組織的。對(duì)于C語(yǔ)言文件,編譯器生成的代碼段名為.text。全局變量和靜態(tài)變量分配在.bss段中,而局部變量或寄存器變量分配到.stack段或使用寄存器。在DSP的配置文件中必須將這些代碼段正確地分配到C6701的地址空間中去。
在TI提供的DSP軟件開發(fā)平臺(tái)Code Composer Studio(CCS)中,編寫DSP系統(tǒng)的工作程序,并對(duì)DSP芯片的內(nèi)存空間、EMIF接口等進(jìn)行正確的配置后,程序編譯通過(guò),CCS就會(huì)自動(dòng)產(chǎn)生目標(biāo)(后綴為.out)文件,這種.out文件即為COFF格式的。


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉