TMS320C6701 DSP自動(dòng)加載研究
在ROM加載模式下,復(fù)位后C6701將通過(guò)DMA方式將FLASH中的前64 KB數(shù)據(jù)搬運(yùn)到DSP的片內(nèi)程序RAM執(zhí)行,因此,必須將前面編譯好的工作程序的代碼段燒寫到FLASH地址空間中的前64 KB,而數(shù)據(jù)段則應(yīng)該燒寫在FLASH首地址64 KB以后。這就需要在DSP芯片的內(nèi)存段管理中,將數(shù)據(jù)段的加載地址(Load Address)配置為CE1空間FLASH上的指定地址,以保證DSP在復(fù)位后能正確地從FLASH上的不同地址讀取代碼和數(shù)據(jù)(見(jiàn)圖1)。本文引用地址:http://m.butianyuan.cn/article/152290.htm
利用CCS自帶的DSP/BIOS配置工具,可以在類似Windows Explorer的窗口界面下直觀方便地初始化DSP芯片的數(shù)據(jù)結(jié)構(gòu)并設(shè)置不同的參數(shù),而不需要再單獨(dú)編寫連接命令文件(link command file,后綴為.cmd)。保存該配置文件時(shí),配置工具自動(dòng)生成匹配當(dāng)前配置的匯編源文件和頭文件以及一個(gè)鏈接命令文件。當(dāng)構(gòu)建(Build)應(yīng)用程序時(shí),這些文件都會(huì)自動(dòng)被鏈接進(jìn)應(yīng)用程序。在CCS中打開(kāi)DSP/BIOS中的.cdb文件,操作System下的MEM(Memory Section Manag-er)模塊就可以對(duì)DSP存儲(chǔ)器映射空間進(jìn)行配置,并可以設(shè)置程序編譯后生成的代碼段、數(shù)據(jù)段是如何分配到這些存儲(chǔ)器空間的。這對(duì)ROM加載能否成功至關(guān)重要,要實(shí)現(xiàn)ROM加載必須把一些關(guān)鍵的代碼和數(shù)據(jù)段裝在系統(tǒng)的ROM中,但上電后仍在較快的DSP片內(nèi)RAM中運(yùn)行。這需要在DSP的內(nèi)存映射空間上先劃分出外部FLASH的起始地址和長(zhǎng)度(如圖2中的ED-FLASH段),并將CCS編譯產(chǎn)生的各個(gè)段的運(yùn)行地址(Run Address)和加載地址(Load Address)分配到合適的存儲(chǔ)空間。需要特別注意的是,數(shù)據(jù)及代碼初始化段的加載地址必需放在FLASH空間上(如圖3),只讀的段都可以放在FLASH上,非初始化段只需要分配運(yùn)行地址。
評(píng)論