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

          新聞中心

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

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

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

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

             的讀操作與傳統(tǒng)EPROM 讀操作相同。由于芯片使用軟件保護模式進行操作, 用戶編程時, 只要向指定的地址寫入指定的序列, 就可以啟動 芯片內(nèi)部的寫狀態(tài)機, 完成指定的操作。表2 為Flash 的操作命令說明( 對芯片的擦除和編程都是按照字進行的), 表中所有的數(shù)據(jù)都是十六進制數(shù)。

            Flash 的正確操作順序: 先復(fù)位, 再擦除, 最后編程。

            按照表2 提供的操作命令時序來對AM29LV800 的擦除和編程,PA 為編程地址,PD 為編程數(shù)據(jù)。Flash 擴展在CE1 空間, 起始地址是200000, 所以操作時所有地址必須加上200000。例如燒寫工程中擦除部分命令為:

            

            表2 AM29LV800B 的操作命令說明

            

            芯片擦除需要占用6 個總線周期, 而芯片編程需要4 個總線周期, 依照表3 的數(shù)據(jù), 在每個總線周期對相應(yīng)地址寫入命令字就可以了。用戶一般都是對芯片進行寫操作, 寫操作只能使‘1’ 變‘0’ , 而擦除只能使‘0’ 變?yōu)?lsquo;1’ 。圖3 為擦除和編程命令波形圖, 清楚地顯示了擦除和編程操作過程。

            

            圖3 擦除和編程命令波形圖

            判斷編程或擦除的結(jié)束是當把編程或擦除的命令字按照其時序?qū)懭隖lash 時, 在寫編程命令時序或擦除命令時序的最后一個WE 上升沿到來之后,AM29LV800會自動運行一個嵌入在Flash 內(nèi)部的算法來判斷編程或擦除操作是否結(jié)束。采用觸發(fā)位校驗的方法, 檢測數(shù)據(jù)切換位DQ6(Toggle Bit) 的狀態(tài), 連續(xù)讀數(shù)據(jù)會使DQ6 的值在‘0’ 和‘1’ 之間來回切換, 當編程或擦除結(jié)束時,DQ6 就停止值的切換。因此, 可以通過連續(xù)兩次讀DQ6 的值來判斷編程或擦除是否結(jié)束, 當兩次讀得的值相同時, 說明編程或擦除結(jié)束, 否則沒有。觸發(fā)位檢測算法流程圖如圖4 所示。

            

          觸發(fā)位檢測算法流程圖

            圖4 觸發(fā)位檢測算法流程圖



          關(guān)鍵詞: 實現(xiàn) Flash 在線 接口 JTAG

          評論


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