新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > DSP外部Flash存儲器在線編程的軟硬件設(shè)計

        DSP外部Flash存儲器在線編程的軟硬件設(shè)計

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

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

        本文引用地址:http://www.104case.com/article/151696.htm

        可見,在沒有硬件握手的情況下,需要通過軟件來判斷當(dāng)前Flash存儲器編程或擦除的狀態(tài)來進行編程操作。如果Flash存儲器正處于編程或擦除過程中,則無法繼續(xù)對Flash存儲器進行編程,需等到Flash存儲器上一次數(shù)據(jù)編程(寫入)完成時才能進行下一次數(shù)據(jù)編程(寫入)。否則,會得到錯誤的編程結(jié)果,造成編程后數(shù)據(jù)校驗失敗。
        大多數(shù)Flash存儲器都提供了一個或幾個狀態(tài)位來表示當(dāng)前Flash存儲器編程或擦除的狀態(tài),大多支持通過其數(shù)據(jù)總線D7數(shù)據(jù)位的狀態(tài)來判斷Flash存儲器當(dāng)前編程或擦除的狀態(tài)。這是大多數(shù)Flash存儲器數(shù)據(jù)手冊推薦的編程輪詢算法,但經(jīng)過筆者測試,這種算法比較繁瑣,會造成部分編程內(nèi)容不正確,可采用將編程數(shù)據(jù)讀出、與寫入數(shù)據(jù)進行比較的簡單方法,實現(xiàn)軟件等待狀態(tài)的插入。
        說明:TMS320C6711D與AM29LV400B Flash存儲器采用16位數(shù)據(jù)連接,DSP EMIF CEl存儲器空間初始化為32位總線寬度(CEl端口連接16位Flash存儲器),讀取/寫入Flash存儲器的32位數(shù)據(jù)中高16位無效。
        帶有軟握手的Flash存儲器編程函數(shù)如下:

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


        上一頁 1 2 3 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 神农架林区| 广河县| 察雅县| 洛隆县| 天门市| 明光市| 广河县| 涞水县| 密山市| 文昌市| 台北市| 曲水县| 望城县| 华安县| 高青县| 仙居县| 柏乡县| 河西区| 永顺县| 长治市| 仁寿县| 沙湾县| 江津市| 客服| 许昌县| 临西县| 仙游县| 宾阳县| 额敏县| 托克托县| 灵川县| 中江县| 海原县| 体育| 深州市| 明星| 纳雍县| 宜黄县| 乾安县| 灵台县| 出国|