基于 DSP的嵌入式系統通過地址映射方式實現片外FLASH擦寫
擦寫步驟如下:
① 將character[180][32]設置為全局變量。
② 將程序編譯下載到DSP芯片中,打開工程目錄中output文件夾中的.elf文件,找到character 數組在XRAM中存放的起始地址和長度。用戶可以使用Watch Memory命令察看該段地址的數據值。
③ 使用Save Memory命令將XRAM中對應于character數組的地址段的數據以二進制形式保存在計算機上。通過UltraEdit將其打開,檢看數據保存是否正確。
④ 打開FLASH擦寫程序,修改數據在片內XRAM中存儲的起始地址和FLASH的擦寫起始地址與數據長度。編譯下載后,單步執行,執行到擦除完FLASH,并將地址映射方式置為映射到片內XRAM處,使用Load Memory指令將char數據文件載入到片內XRAM的相應存儲地址段中,再接著全速運行程序,幾十秒之后程序執行完畢,數據便寫到片外FLASH的相應地址中。
⑤ 再次打開FLASH擦寫程序,單步執行到映射方式置為片外FLASH處停止,使用Save Memory命令保存FLASH中剛寫入的地址段的數據值。接著使用UltraEdit的比較文件命令比較前兩次保存的數據,如完全相同就表明character字模數組已經正確的寫到片外FLASH中。
將數據擦寫入片外數據FLASH后,就可以在用戶程序中對該數據加以調用。在調用的時候要先將映射方式設置為映射到片外FLASH,然后再取數據。如下所示,取出FLASH中0x6000地址上存儲的數據:
#define FLASH_ADD (unsigned int *)0x6000
*GPIO_D_DR=0x0002; /*映射方式設置為映射到片外FLASH*/
data = *(FLASH_ADD);
3 結論
本文介紹了一種通過地址映射方式,在基于 DSP的嵌入式系統中,通過DSP擦寫片外FLASH的方法。該方法可適用于多種場合,針對多個 FLASH芯片可使用多個GPIO端口進行地址的擴展,并可通過DSP實現對其擦寫操作;若將部分程序放置到片外FLASH中并作相應設置,即可實現系統的自舉運行等。本文引用地址:http://cqxgywz.com/article/151235.htm linux操作系統文章專題:linux操作系統詳解(linux不再難懂)









評論