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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > DSP芯片的Flash存儲(chǔ)器的在線編程方式

          DSP芯片的Flash存儲(chǔ)器的在線編程方式

          作者: 時(shí)間:2012-06-08 來(lái)源:網(wǎng)絡(luò) 收藏


          2.2 帶有軟件握手的軟件設(shè)計(jì)

            的就緒信號(hào)/忙信號(hào)()輸出為低電平時(shí),表明正忙,處于或擦除狀態(tài),此時(shí)寫入或讀出的數(shù)據(jù)是無(wú)效的,不是程序員需要的數(shù)據(jù);當(dāng)該信號(hào)輸出為高電平時(shí),表明已處于就緒狀態(tài),可對(duì)其進(jìn)行寫入或讀出數(shù)據(jù)的操作。

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

            由于與Flash的接口采用軟件握手,在對(duì)Flash進(jìn)行或擦除時(shí),的總線周期中不會(huì)由硬件自動(dòng)插入等待周期,如果此時(shí)仍采用2.1節(jié)的Flash函數(shù)對(duì)Flash進(jìn)行編程,則會(huì)得到錯(cuò)誤的編程結(jié)果。編程結(jié)束后會(huì)發(fā)現(xiàn)Flash存儲(chǔ)器中有一部分內(nèi)容仍然是0xFFFF,處于編程前的狀態(tài)。雖然對(duì)Flash存儲(chǔ)器進(jìn)行了編程操作,但由于Flash存儲(chǔ)器上一次編程操作還未完成,本次的編程操作無(wú)效,數(shù)據(jù)根本寫不進(jìn)Flash存儲(chǔ)器。在CCS3.1中用“View/Memery”功能查看Flash存儲(chǔ)器,就會(huì)發(fā)現(xiàn)Flash存儲(chǔ)器中的數(shù)據(jù)等間隔地出現(xiàn)編程正確和編程不正確的現(xiàn)象。筆者在自己設(shè)計(jì)的TMS320C6711D-250嵌入式模塊(帶有AM29LV400B Flash存儲(chǔ)器)上,通過(guò)斷開(kāi)與Flash存儲(chǔ)器的硬件Ready信號(hào)進(jìn)行編程測(cè)試,無(wú)等待狀態(tài)的測(cè)試結(jié)果見(jiàn)表1,有等待狀態(tài)的測(cè)試結(jié)果見(jiàn)表2。

            

          無(wú)等待狀態(tài)的測(cè)試結(jié)果見(jiàn)表1

            可見(jiàn),在沒(méi)有硬件握手的情況下,需要通過(guò)軟件來(lái)判斷當(dāng)前Flash存儲(chǔ)器編程或擦除的狀態(tài)來(lái)進(jìn)行編程操作。如果Flash存儲(chǔ)器正處于編程或擦除過(guò)程中,則無(wú)法繼續(xù)對(duì)Flash存儲(chǔ)器進(jìn)行編程,需等到Flash存儲(chǔ)器上一次數(shù)據(jù)編程(寫入)完成時(shí)才能進(jìn)行下一次數(shù)據(jù)編程(寫入)。否則,會(huì)得到錯(cuò)誤的編程結(jié)果,造成編程后數(shù)據(jù)校驗(yàn)失敗。

            大多數(shù)Flash存儲(chǔ)器都提供了一個(gè)或幾個(gè)狀態(tài)位來(lái)表示當(dāng)前Flash存儲(chǔ)器編程或擦除的狀態(tài),大多支持通過(guò)其數(shù)據(jù)總線D7數(shù)據(jù)位的狀態(tài)來(lái)判斷Flash存儲(chǔ)器當(dāng)前編程或擦除的狀態(tài)。這是大多數(shù)Flash存儲(chǔ)器數(shù)據(jù)手冊(cè)推薦的編程輪詢算法,但經(jīng)過(guò)筆者測(cè)試,這種算法比較繁瑣,會(huì)造成部分編程內(nèi)容不正確,可采用將編程數(shù)據(jù)讀出、與寫入數(shù)據(jù)進(jìn)行比較的簡(jiǎn)單方法,實(shí)現(xiàn)軟件等待狀態(tài)的插入。

            說(shuō)明:TMS320C6711D與AM29LV400B Flash存儲(chǔ)器采用16位數(shù)據(jù)連接,DSP EMIF CEl存儲(chǔ)器空間初始化為32位總線寬度(CEl端口連接16位Flash存儲(chǔ)器),讀取/寫入Flash存儲(chǔ)器的32位數(shù)據(jù)中高16位無(wú)效。

            帶有軟握手的Flash存儲(chǔ)器編程函數(shù)如下:

            

            3 兩種編程的區(qū)別

            在硬件上加入硬件握手的Flash存儲(chǔ)器編程設(shè)計(jì)簡(jiǎn)單,在應(yīng)用中只須考慮擦除和編程,而無(wú)須考慮Flash存儲(chǔ)器的當(dāng)前狀態(tài)。當(dāng)Flash存儲(chǔ)器正處于擦除和編程狀態(tài)而未完成時(shí),F(xiàn)lash存儲(chǔ)器產(chǎn)生的忙信號(hào)通過(guò)Flash存儲(chǔ)器與DSP之間的硬件連接直接送入DSP,由DSP硬件在其總線訪問(wèn)周期中自動(dòng)插入等待周期,暫停DSP處理器的執(zhí)行;當(dāng)Flash擦除和編程狀態(tài)完成時(shí),由Flash存儲(chǔ)器產(chǎn)生的就緒信號(hào)通過(guò)Flash存儲(chǔ)器與DSP之間的直接硬件連接將就緒信號(hào)送入DSP,解除DSP的等待狀態(tài),繼續(xù)程序的執(zhí)行。而采用軟件握手的Flash編程需要程序員在軟件中判斷Flash存儲(chǔ)器的當(dāng)前狀態(tài)。只有當(dāng)Flash存儲(chǔ)器擦除過(guò)程完成時(shí),才能對(duì)其進(jìn)行編程;當(dāng)Flash存儲(chǔ)器的一次編程(數(shù)據(jù)寫入)過(guò)程完成時(shí),才能進(jìn)行下一次的編程(數(shù)據(jù)寫入)。軟件設(shè)計(jì)繁瑣,且要經(jīng)過(guò)多次調(diào)試。

          存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理



          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


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