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