單片機的FLASH引導裝載系統(tǒng)設(shè)計
2.2 FBTC程序的設(shè)計
本文引用地址:http://m.butianyuan.cn/article/86734.htmFBTC程序主要是針對DSP目標板上的FLASH存儲器進行操作。即通過一定的編程命令序列來控制FLASH的工作方式。這些命令序列是一些特定字符的組合,只要向FLASH中的特定寄存器以特定的順序輸入這些字符,即可進入相應的編程模式。SST39VF400中的主要命令和寫入地址如表2所列。FBTC程序主函數(shù)的狀態(tài)圖如圖3所示。
圖3中的信息處理函數(shù)可依據(jù)FlashBurn編程協(xié)議提供的信息格式來設(shè)計;命令處理函數(shù)主要包括FLASH的擦除、讀取和燒寫。同樣的,F(xiàn)BTC程序設(shè)計完成后,也可利用TI公司的DSP集成開發(fā)環(huán)境CCS進行編譯、調(diào)試及鏈接,從而生成FBTC程序的目標文件*.out。
3 FLASH的燒寫
對FLASH存儲器進行燒寫一般有以下幾種方法:一是通過編程器燒寫;二是通過開發(fā)商提供的專門燒寫軟件工具進行燒寫;三是自己編寫燒寫程序通過DSP燒寫。本文是通過TI公司提供的FlashBurn軟件來對FLASH存儲器進行燒寫。將FlashBurn與CCS、HEX文件轉(zhuǎn)換工具以及FBTC配合使用,可以方便快捷地將用戶數(shù)據(jù)與程序?qū)懭隖LASH存儲器。FlashBurn采用圖形化界面,使用方便,用戶只要簡單配置幾個操作參數(shù),即可實現(xiàn)對FLASH存儲器進行擦除、燒寫和查看內(nèi)存內(nèi)容等多項功能操作。其具體步驟如下:
(1) 編寫用戶程序,通過CCS編譯、鏈接生成目標文件user.out;
(2) 編寫FBTC程序,通過CCS編譯、鏈接以生成目標文件FBTC.out;
(3) 編寫hex6x命令文件(*.cmd),并利用hex6x來執(zhí)行這個文件,然后將用戶目標文件user.out轉(zhuǎn)換為十六進制格式user.hex。
hex6x命令文件如下:
(4) 打開FLASHBurn軟件,新建一個*.cdd文件并設(shè)置,其設(shè)置示意圖如圖4所示;
(5) 裝載FBTC.out,然后再擦除和燒寫FLASH;
(6) 去掉仿真器并復位DSP目標板,以使程序自動加載運行。
4 結(jié)束語
按照上述步驟 將用戶應用程序成功下載到FLASH后,再將DSP目標板脫離仿真器并重新上電復位,其用戶應用程序便可正常運行,而且FLASH擦除和燒寫速度比較快。該方法成功解決DSP程序的脫機引導加載問題。事實上,根據(jù)不同的應用,也可以參考本設(shè)計中實現(xiàn)方法,以求簡單、有效地解決FLASH存儲器的自舉問題。
評論