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