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