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

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 基于CCS的DSP片外Flash直接燒寫設(shè)計

          基于CCS的DSP片外Flash直接燒寫設(shè)計

          作者: 時間:2009-09-10 來源:網(wǎng)絡(luò) 收藏

          在二級加載程序搬移表中,要嚴(yán)格按照保存的DATA段信息進(jìn)行搬移表配置,其格式如下:


          其中,Length為所保存的DATA段的長度:Destination Addr為DATA段IRAM中的起始地址;Source Addr為將保存的DATA段存放于外部的起始位置。在線程序中要嚴(yán)格按照此搬移表中的Source Addr值將保存的DATA段的相應(yīng)位置。有多個DATA段時,要配置相應(yīng)個數(shù)的搬移參數(shù)表。

          4 在線設(shè)計
          將用戶程序代碼寫入Flash的方法一般有2種:①用專門的Flash編程器實現(xiàn);②根據(jù)與Flash的接口,通過在線編程來實現(xiàn)。前者的主要優(yōu)點是使用方便可靠,但要求Flash只能是雙列直插等一些可插拔的封裝形式,且表面貼裝或PLCC封裝的Flash難以利用編程器實現(xiàn);后者克服了前者的缺點,使用靈活,因而在系統(tǒng)中得到廣泛采用。
          Flash在線燒寫操作就是將保存起來的DATA,燒寫到二級加載程序搬移表所指定位置的Flash中。在線燒寫的思想是,首先將保存起來的DATA加載到的內(nèi)部RAM或系統(tǒng)的外部RAM中,再通過在線燒寫程序?qū)⒓虞d的DATA寫入到Flash中。DSP實驗板Flash采用的是AM29LV160D,根據(jù)其數(shù)據(jù)手冊分別建立擦除void ChipErase(void)和寫入Byte Write(int offsent,short data)子函數(shù)。編寫在線燒寫程序如下:


          在對Flash寫操作前首先要進(jìn)行其擦除,在擦除后要指定DATA存放首地址Saddr,要燒寫到的Flash首地址FlashAddr,以及待燒寫的數(shù)據(jù)長度Length。在有多個DATA段時,程序中要進(jìn)行相應(yīng)個數(shù)的DATA段燒寫指定操作。
          在線燒寫程序設(shè)計完成后,編譯將.out文件下載到DSP中,可以在擦除操作完成,開始燒寫前設(shè)置斷點,運(yùn)行完Flash擦除操作后,將保存的DATA加載到程序中指定的位置,為了確保燒寫程序的正常運(yùn)行,不能將DATA加載到燒寫程序占據(jù)的RAM空間。當(dāng)所需要燒寫的DATA全部加載完成后繼續(xù)運(yùn)行燒寫程序,即可完成Flash的在線燒寫。
          基于所用到的實驗板,在Flash燒寫完成后斷電,將DSP設(shè)置為Flash啟動模式,再上電,測試到應(yīng)用程序中預(yù)先設(shè)計的運(yùn)行指示,表明Flash已燒寫加載成功,驗證了DATA方法的Flash燒寫是切實可行的。

          5 結(jié)語
          詳細(xì)介紹了DATA方法直接燒寫原理,如何進(jìn)行合適的COFF代碼段設(shè)置,如何保存燒寫數(shù)據(jù)DATA以及二級加載程序和在線燒寫程序的相應(yīng)設(shè)計。DATA方法容易理解,操作簡單、不易出錯,能夠簡便、快捷的完成Flash的燒寫操作,為DSP開發(fā)者提供了一條有效的Flash燒寫途徑。該方法適應(yīng)于C6000系列所有DSP,其設(shè)計思想對其他系列的DSP也提供了有益的借鑒。


          上一頁 1 2 下一頁

          關(guān)鍵詞: Flash CCS DSP 燒寫

          評論


          相關(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); })();