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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > JTAG接口在線燒寫Flash的實現(xiàn)

          JTAG接口在線燒寫Flash的實現(xiàn)

          作者: 時間:2011-09-21 來源:網(wǎng)絡 收藏

          為了解決TMS320VC55X 系列DSP 系統(tǒng)程序代碼的保存問題,設計了一種利用 燒寫自舉啟動的方法。這種編程的方法利用并行外部存儲器加載(EMIF)將TMS320VC5509 和 芯片相連接, 通過搬移程序?qū)贸绦虻囊殉跏蓟伟凑誄55X 系列DSP 引導表格式燒寫進外部擴展的 存儲器中,從而自舉啟動。該方法為DSP 系統(tǒng)的軟件維護和升級帶來了方便,具有實際的應用價值。

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

          引言

            Flash 是一種可進行電擦寫而掉電后信息又不丟失的存儲器, 它具有功耗低、容量大、擦寫速度快等特點。如何將程序燒寫進Flash , 并在上電時加載到DSP 內(nèi)部的RAM 中, 是Flash 在DSP 系統(tǒng)應用中的兩個基本問題。本文基于TI 公司的TMS320VC5509A 和AMD 公司的AM29LV800 開發(fā)系統(tǒng), 詳細闡述了在線燒寫Flash 并自舉啟動的方法。

            1 硬件電路設計

            圖1 為TMS320VC5509A 與AM29LV800 的連接示意圖,F(xiàn)lash 擴展在CE1 空間, 起始地址為200000。由于TMS320VC5509A 只有14 根地址線A0~A13, 又因為Flash作為數(shù)據(jù)存儲空間使用時的地址編碼采用字尋址方式,則DSP 的A0 信號無效, 所以AM29LV800 芯片的低13位地址線A0 ~A12 連接TMS320VC5509A 的地址線A1 ~A13, 高6 位地址線A13 ~A18 由緩沖串口來擴展。

            

          TMS320VC5509A 與AM29LV800 的連接示意圖

            圖1 TMS320VC5509A 與AM29LV800 的連接示意圖

            AM29LV800 是低功耗Flash , 工作在2.7 V~3.6 V 電壓下, 一般存儲數(shù)據(jù)可以保存100 年以上, 可以重復編程次數(shù)高達10 萬次。A18~A0 為外部地址管腳,DQ0~DQ15為16 條數(shù)據(jù)線,

          為片選控制管腳,

          為輸出控制管腳,

          為寫入控制管腳。

            2 自啟動過程分析及啟動表結構

            DSP 系統(tǒng)的bootloader 是指在系統(tǒng)上電時將一段存儲在外部非易失性存儲器中的程序搬移到DSP 片內(nèi)或片外擴展的高速RAM 中并執(zhí)行的代碼。Bootloader 程序永久性地存儲在DSP 以FF8000H 開始的ROM 中,DSP系統(tǒng)在復位后PC=FF8000H , 即從Bootloader 程序首地址開始執(zhí)行。

            TMS320VC5509 DSP 的Bootloader 有多種加載方式[3],如表1 所示, 設置DSP 的GPIO0-GPIO3 ,DSP 在復位時讀取這4 個引腳上的狀態(tài)以確定所使用的啟動模式。本文使用16-bit EMIF 加載方式, 雖然連線復雜, 需要考慮并行非易失存儲器Flash 與EMIF 的匹配關系, 但是它的優(yōu)點很多: 不需要外部時鐘驅(qū)動, 非易失存儲器種類多樣, 容量較大, 除了存儲下載表之外, 還可存儲系統(tǒng)需要保存的關鍵數(shù)據(jù), 以便在掉電時保存信息。


          上一頁 1 2 3 4 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();