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