<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > DSP芯片的Flash存儲器的在線(xiàn)編程方式

DSP芯片的Flash存儲器的在線(xiàn)編程方式

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


2.2 帶有軟件握手的軟件設計

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

本文引用地址:http://dyxdggzs.com/article/148916.htm

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

  

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

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

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

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

  帶有軟握手的Flash存儲器編程函數如下:

  

  3 兩種編程的區別

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

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



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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>