TMS320F2812程序的遠程升級方法
2 軟件設(shè)計方案
2.1 功能分塊
為了能夠順利實現(xiàn)程序遠程升級功能,在程序的設(shè)計編寫過程中,可將F2812監(jiān)控程序有計劃地分成幾個主要功能模塊:BIOS初始化模塊、基礎(chǔ)功能模塊、應(yīng)用程序模塊。各模塊的構(gòu)成和地址安排如表1所列。本文引用地址:http://m.butianyuan.cn/article/163475.htm
DSP的監(jiān)控程序經(jīng)CCS開發(fā)系統(tǒng)編譯后,程序即生成一個*.out類型的COFF公共目標(biāo)文件,公共目標(biāo)格式文件對程序各模塊進行分段存放,主要有程序段(.text)、數(shù)據(jù)段(.data)、用戶自定義段(.Myprg)等,如程序未進行特別指定,編譯后的程序模塊會自動分配到公共目標(biāo)格式文件的程序段(.text)內(nèi)。為了能夠?qū)崿F(xiàn)程序可遠程升級功能,需要應(yīng)用程序模塊單獨映射到用戶自定義模塊內(nèi),升級過程只需對用戶自定義模塊(.Mprg)所在的Flash地址區(qū)域進行擦寫即可,這樣還可確保監(jiān)控程序的基本功能不受Flash擦寫過程和擦寫失敗的影響,這也是程序能否實現(xiàn)遠程升級功能的關(guān)鍵。
為此,需在對F2812的監(jiān)控程序進行如下分段設(shè)計:
①在*.cmd文件的段地址映射內(nèi)增加一個用戶自定義段(.Myprg),將應(yīng)用程序模塊的映射地址與初始化模塊和基本功能模塊的映射地址分開如下(這樣便于Flash的程序在線升級時分塊寫入):
②對映射在應(yīng)用程序模塊內(nèi)的每個函數(shù),都需要用以下方法進行指定,使程序編譯后,應(yīng)用程序模塊內(nèi)的函數(shù)映射到用戶自定義段(.Myprg)內(nèi)。
經(jīng)過以上的程序分段和設(shè)定,使得程序編譯后,各功能函數(shù)分段清晰,為F2812監(jiān)控程序在線遠程寫入做好了準(zhǔn)備。
評論