不會由硬件自動插入等待周期,如果此時仍采用2.1節的flash編程函數對flash存儲器進行編程,則會得到錯誤的編程結果。編程結束后會發現flash存儲器中有一部分內容仍然是0xffff,處于編程前的狀態。雖然對flash存儲器進行了編程操作,但由于flash存儲器上一次編程操作還未完成,本次的編程操作無效,數據根本寫不進flash存儲器。在ccs3.1中用“view/memery”功能查看flash存儲器,就會發現flash存儲器中的數據等間隔地出現編程正確和編程不正確的現象。筆者在自己設計的tms320c6711d-250嵌入式模塊(帶有am29lv400b flash存儲器)上,通過斷開dsp與flash存儲器的硬件ready信號進行編程測試,無等待狀態的測試結果見表1,有等待狀態的測試結果見表2。 可見,在沒有硬件握手的情況下,需要通過軟件來判斷當前flash存儲器編程或擦除的狀態來進行編程操作。如果flash存儲器正處于編程或擦除過程中,則無法繼續對flash存儲器進行編程,需等到flash存儲器上一次數據編程(寫入)完成時才能進行下一次數據編程(寫入)。否則,會得到錯誤的編程結果,造成編程后數據
不會由硬件自動插入等待周期,如果此時仍采用2.1節的flash編程函數對flash存儲器進行編程,則會得到錯誤的編程結果。編程結束后會發現flash存儲器中有一部分內容仍然是0xffff,處于編程前的狀態。雖然對flash存儲器進行了編程操作,但由于flash存儲器上一次編程操作還未完成,本次的編程操作無效,數據根本寫不進flash存儲器。在ccs3.1中用“view/memery”功能查看flash存儲器,就會發現flash存儲器中的數據等間隔地出現編程正確和編程不正確的現象。筆者在自己設計的tms320c6711d-250嵌入式模塊(帶有am29lv400b flash存儲器)上,通過斷開dsp與flash存儲器的硬件ready信號進行編程測試,無等待狀態的測試結果見表1,有等待狀態的測試結果見表2。 可見,在沒有硬件握手的情況下,需要通過軟件來判斷當前flash存儲器編程或擦除的狀態來進行編程操作。如果flash存儲器正處于編程或擦除過程中,則無法繼續對flash存儲器進行編程,需等到flash存儲器上一次數據編程(寫入)完成時才能進行下一次數據編程(寫入)。否則,會得到錯誤的編程結果,造成編程后數據