C6000系列DSP Flash二次加載技術(shù)研究
加載時,二次加載程序不解析任何數(shù)據(jù)包結(jié)構(gòu),只將固定地址、固定長度的數(shù)據(jù)段加載到DSP內(nèi)部空間。具體的加載流程如圖4所示。本文引用地址:http://m.butianyuan.cn/article/150422.htm
該方法通用于兩種不同存儲映射的DSP芯片,使用前提是程序規(guī)模不超過片上存儲器的大小(如C6701為64 KB,C6455為2 MB)。非結(jié)構(gòu)化加載方式在生成燒寫文件時,首先直接將DSP內(nèi)部存儲器的內(nèi)容完全導(dǎo)出為數(shù)據(jù)文件,然后對該數(shù)據(jù)文件進(jìn)行處理轉(zhuǎn)換為二進(jìn)制文件,最后將數(shù)據(jù)文件按照固定的地址燒寫到Flash中。
需要注意的是,對于C6201或C6701芯片,二次加載時僅加載數(shù)據(jù)文件,而其他C6000芯片則加載程序與數(shù)據(jù)混合的文件。非結(jié)構(gòu)化的加載方式浪費了大量的空間,例如當(dāng)程序與數(shù)據(jù)并沒有使用DSP所有的內(nèi)部空間時,仍然使用最大程序空間來生成燒寫文件。
2.2 結(jié)構(gòu)化的加載方式
結(jié)構(gòu)化加載方式是指在生成燒寫文件的過程中對程序中的各種數(shù)據(jù)進(jìn)行分類并添加結(jié)構(gòu),形成多個數(shù)據(jù)段,然后通過分析這些結(jié)構(gòu)化的數(shù)據(jù)段進(jìn)行加載。具體方法為:在生成燒寫文件時采用TI公司提供的燒寫文件生成工具h(yuǎn)ex6x.exe,將程序編譯后生成的.out文件轉(zhuǎn)換為相
應(yīng)的結(jié)構(gòu)化可燒寫文件。生成過程如圖5所示。在生成的結(jié)構(gòu)化文件中主要包含了主程序入口、每個程序段的目標(biāo)地址、長度以及結(jié)束標(biāo)志等內(nèi)容。加載流程如下:
①上電時,DSP通過EMIF接口將二次加載程序讀入芯片內(nèi)部;
②運行二次加載程序,對DSP的EMIF接口進(jìn)行配置;
③解析Flash中結(jié)構(gòu)化的程序數(shù)據(jù),將主程序入口地址進(jìn)行暫存;
④對數(shù)據(jù)段i(i=1,2,…,n)進(jìn)行解析,首先獲取數(shù)據(jù)段在DSP中的目的地址和數(shù)據(jù)段長度,然后從Flash中讀取數(shù)據(jù)段內(nèi)容,最后將數(shù)據(jù)段內(nèi)容載入DSP中對應(yīng)地址。
⑤循環(huán)執(zhí)行步驟④,直到遇到結(jié)束標(biāo)志為止。
評論