<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > C6000系列DSP Flash二次加載技術(shù)研究

          C6000系列DSP Flash二次加載技術(shù)研究

          作者: 時(shí)間:2011-07-29 來源:網(wǎng)絡(luò) 收藏

          時(shí),二次程序不解析任何數(shù)據(jù)包結(jié)構(gòu),只將固定地址、固定長度的數(shù)據(jù)段內(nèi)部空間。具體的加載流程如圖4所示。

          本文引用地址:http://www.ex-cimer.com/article/150422.htm

          d.JPG


          該方法通用于兩種不同存儲(chǔ)映射的芯片,使用前提是程序規(guī)模不超過片上存儲(chǔ)器的大小(如C6701為64 KB,C6455為2 MB)。非結(jié)構(gòu)化加載方式在生成燒寫文件時(shí),首先直接將內(nèi)部存儲(chǔ)器的內(nèi)容完全導(dǎo)出為數(shù)據(jù)文件,然后對該數(shù)據(jù)文件進(jìn)行處理轉(zhuǎn)換為二進(jìn)制文件,最后將數(shù)據(jù)文件按照固定的地址燒寫到中。
          需要注意的是,對于C6201或C6701芯片,二次加載時(shí)僅加載數(shù)據(jù)文件,而其他芯片則加載程序與數(shù)據(jù)混合的文件。非結(jié)構(gòu)化的加載方式浪費(fèi)了大量的空間,例如當(dāng)程序與數(shù)據(jù)并沒有使用DSP所有的內(nèi)部空間時(shí),仍然使用最大程序空間來生成燒寫文件。
          2.2 結(jié)構(gòu)化的加載方式
          結(jié)構(gòu)化加載方式是指在生成燒寫文件的過程中對程序中的各種數(shù)據(jù)進(jìn)行分類并添加結(jié)構(gòu),形成多個(gè)數(shù)據(jù)段,然后通過分析這些結(jié)構(gòu)化的數(shù)據(jù)段進(jìn)行加載。具體方法為:在生成燒寫文件時(shí)采用TI公司提供的燒寫文件生成工具h(yuǎn)ex6x.exe,將程序編譯后生成的.out文件轉(zhuǎn)換為相
          應(yīng)的結(jié)構(gòu)化可燒寫文件。生成過程如圖5所示。在生成的結(jié)構(gòu)化文件中主要包含了主程序入口、每個(gè)程序段的目標(biāo)地址、長度以及結(jié)束標(biāo)志等內(nèi)容。加載流程如下:

          e.JPG


          ①上電時(shí),DSP通過EMIF接口將二次加載程序讀入芯片內(nèi)部;
          ②運(yùn)行二次加載程序,對DSP的EMIF接口進(jìn)行配置;
          ③解析中結(jié)構(gòu)化的程序數(shù)據(jù),將主程序入口地址進(jìn)行暫存;
          ④對數(shù)據(jù)段i(i=1,2,…,n)進(jìn)行解析,首先獲取數(shù)據(jù)段在DSP中的目的地址和數(shù)據(jù)段長度,然后從中讀取數(shù)據(jù)段內(nèi)容,最后將數(shù)據(jù)段內(nèi)容載入DSP中對應(yīng)地址。
          ⑤循環(huán)執(zhí)行步驟④,直到遇到結(jié)束標(biāo)志為止。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();