基于以太網(wǎng)的DSP遠(yuǎn)程加載技術(shù)研究
采用圖7中所示方式無法實現(xiàn)遠(yuǎn)程加載,可以對典型加載方式進(jìn)行擴展,增加網(wǎng)絡(luò)接口功能,更改Flash存儲方式,從而實現(xiàn)遠(yuǎn)程加載。DSP遠(yuǎn)程加載方式如圖8所示。
圖8所示的遠(yuǎn)程加載步驟如下:
①上電后DSP運行二次加載程序;
②DSP讀取外部控制電路狀態(tài),判斷是否處于程序更新模式;
③如果是更新模式,跳轉(zhuǎn)到第4步,否則跳轉(zhuǎn)到第5步;
④DSP從Flash中加載網(wǎng)絡(luò)接口程序到DSP片內(nèi)并運行,通過網(wǎng)絡(luò)接口接收遠(yuǎn)程數(shù)據(jù),將接收到的數(shù)據(jù)燒寫到用戶程序區(qū)域完成軟件的更新。
⑤DSP加載Flash中用戶程序到DSP片內(nèi),正常運行程序。
為了配合遠(yuǎn)程加載流程,需要對圖7所示的Flash存儲結(jié)構(gòu)進(jìn)行擴展,在圖8中同時給出了用于遠(yuǎn)程加載的Flash存儲結(jié)構(gòu)。與網(wǎng)7中的典型Flash存儲結(jié)構(gòu)相比,遠(yuǎn)程加載的Flash存儲結(jié)構(gòu)在二次加載程序和用戶程序之間增加了網(wǎng)絡(luò)加載程序,該區(qū)域僅對二次加載程序可見,用于存放遠(yuǎn)程加載程序。當(dāng)需要遠(yuǎn)程加載時,二次加載程序就調(diào)用網(wǎng)絡(luò)加載程序,采用DSP遠(yuǎn)程加載方式;當(dāng)無需遠(yuǎn)程加載時,二次加載程序直接調(diào)用用戶程序,采用典型的DSP加載方式。
在設(shè)計存儲結(jié)構(gòu)時需要注意兩點:網(wǎng)絡(luò)加載程序是不能被改變的,必須使用固定大小的存儲區(qū)域;網(wǎng)絡(luò)加載程序區(qū)域應(yīng)放在用戶程序區(qū)域前,便于用戶程序的擴展。
3.2 網(wǎng)絡(luò)加載程序設(shè)計
網(wǎng)絡(luò)加載程序運行流程是遠(yuǎn)程加載的核心部分,如圖9所示。
評論