基于TMS320C6000 DSP及DSP/BIOS系統(tǒng)的Flash引導(dǎo)自啟動設(shè)計
DSP/BIOS會根據(jù)配置自動生成CMD文件,指明各個段的存放位置,上述代碼自定義的boot段,應(yīng)位于DSP內(nèi)部的地址0-0x3FF處,燒寫FLASH時,將其燒寫到FLASH的地址0-0x3FF空間中。其中的IRAM CODE SIZE和SDRAM CODE SIZE宏,表明程序在DSP內(nèi)部RAM和SDRAM中的程序大小,可由CCS編譯產(chǎn)生的map文件中得到。在啟動的時候,BootLoader代碼就會首先被加載DSP內(nèi)部并運行,讀取應(yīng)用程序到DSP和SDRAM內(nèi)部,并跳轉(zhuǎn)到主函數(shù)處執(zhí)行,調(diào)度DSP/BIOS的運行。
部分CMD文件如下:
4.2 FLASH燒寫工程程序設(shè)計
用戶的含有BootLoader代碼的應(yīng)用程序編寫完成,并編譯、調(diào)試無誤后,會生成out文件,將其燒寫到FLASH中就可實現(xiàn)FLASH的自動引
導(dǎo)。燒寫的方法也多種多樣,有經(jīng)過轉(zhuǎn)換成bin文件的、有用FlashBurn工具燒寫的、FLASH編程器實現(xiàn)的,我們采用自己編寫燒寫代碼的方式
實現(xiàn)。
燒寫工程基本要實現(xiàn)的就是對FLASH的擦除和編程,這些子函數(shù)的編寫參照芯片手冊并配合正確的時序都可以正確的實現(xiàn),這里主要講述如何應(yīng)用子函數(shù)燒寫用戶應(yīng)用程序。
由于同時要將兩個不同的工程裝載到系統(tǒng)中,因此兩個工程的各種段是不能交叉的,對稱對于燒寫工程的cmd文件可如下編寫,將其放在DSP內(nèi)部RAM的最后部分:
MEMORY
{
FLASH:origin=0x90000000,len=0x100000
SRAM:origin=0x0002D000,len=0x3000
}
SRAM指明了燒寫工程的所有代碼和端要放在DSP內(nèi)部RAM從0x0002D000開始,并占據(jù)0x3000的長度,這主要就是為了避免和用戶應(yīng)用程序存放空間相互沖突,這點可以根據(jù)實際情況進行調(diào)整。
燒寫工程要將之前通過仿真器下載到DSP或者SDRAM中的程序和數(shù)據(jù)燒寫到FLASH中,部分代碼如下:
5 結(jié)束語
在電子信心技術(shù)日益發(fā)展的今天,DSP以及TI針對其DSP推出的DSP/BIOS系統(tǒng)越來越廣泛的得到應(yīng)用,通過外部FLASH對DSP進行穩(wěn)定可靠的引導(dǎo)啟動也顯得尤為重要。本文設(shè)計的DSP自引導(dǎo)系統(tǒng)在實際工程中得到了驗證,可以穩(wěn)定的實現(xiàn)DSP/BIOS系統(tǒng)的引導(dǎo),對于不同的應(yīng)用工程,只需根據(jù)map文件修改簡單的參數(shù)即可,而且對于非DSP/BIOS系統(tǒng)的裸機程序也可用該方法引導(dǎo)。本文引用地址:http://butianyuan.cn/article/148077.htm
評論