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