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