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