一種dsp自啟動(dòng)二次按需加載方法
【專利摘要】本發(fā)明公開了一種DSP自啟動(dòng)二次按需加載方法,包括:將DSP外接的ROM中存放的程序按功能模塊化,將其劃分為初始引導(dǎo)模塊BOOT、主框架引導(dǎo)模塊BOOT2和應(yīng)用模塊,所述應(yīng)用模塊包含不同功能的子應(yīng)用程序模塊;DSP上電復(fù)位后,自動(dòng)從ROM中加載初始引導(dǎo)模塊BOOT,所述初始引導(dǎo)模塊BOOT用于加載主框架引導(dǎo)模塊BOOT2;DSP運(yùn)行初始引導(dǎo)模塊BOOT,進(jìn)而從ROM中加載主框架引導(dǎo)模塊BOOT2;DSP運(yùn)行主框架引導(dǎo)模塊BOOT2,然后根據(jù)主控單元的需求,從ROM應(yīng)用模塊中加載對(duì)應(yīng)的子應(yīng)用程序模塊。本發(fā)明有效避免傳統(tǒng)一次程序加載方法帶來的功能模塊整合過程,從而最大化的使用DSP硬件內(nèi)部資源。
【專利說明】一種DSP自啟動(dòng)二次按需加載方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種數(shù)字信號(hào)處理器(DSP)自啟動(dòng)加載方法,尤其涉及一種DSP自啟動(dòng)二次按需加載方法。
【背景技術(shù)】
[0002]TI 公司 C6000 系列 DSP 提供的啟動(dòng)方式分為:No Boot,HPI Boot、EMIFB8bit ROMboot三種啟動(dòng)方式。EMIFB8bit ROM boot過程是:在上電復(fù)位之后,DSP自動(dòng)通過EMIFB口去搬移Flash開始的IK字節(jié)程序,這IK字節(jié)程序boot搬移近來之后,DSP就按照這I K字節(jié)的程序boot來運(yùn)行,而通常這IK字節(jié)程序boot的作用是將存儲(chǔ)在Flash的應(yīng)用程序搬移到DSP內(nèi)部,然后運(yùn)行已經(jīng)搬移進(jìn)來的目標(biāo)程序,也就達(dá)到了自啟動(dòng)的目的。
[0003]在現(xiàn)代的通信系統(tǒng)中,系統(tǒng)功能的集成度和程序的復(fù)雜度都越來越高,如果是按照傳統(tǒng)的一次程序加載入DSP,這就帶來了幾個(gè)問題:
[0004](I)不同功能模塊通常都為不同開發(fā)人員完成,按照傳統(tǒng)的一次程序加載入DSP,需要進(jìn)行不同開發(fā)人員,不同功能模塊的整合過程,以及進(jìn)行片內(nèi)資源的合理劃分與規(guī)劃;
[0005](2) DSP硬件內(nèi)部資源有限,而往往每個(gè)功能的DSP程序都需要最大化的使用DSP硬件內(nèi)部資源,整合的過程中往往會(huì)造成資源的沖突。
【發(fā)明內(nèi)容】
[0006]為了克服現(xiàn)有技術(shù)中存在的不足,本發(fā)明提供一種DSP自啟動(dòng)二次按需加載方法,有效避免傳統(tǒng)一次程序加載方法帶來的功能模塊整合過程,從而最大化的使用DSP硬件內(nèi)部資源,有利于大量程序放進(jìn)DSP中運(yùn)行。
[0007]為實(shí)現(xiàn)上述目的,本發(fā)明采取如下技術(shù)方案:
[0008]一種DSP自啟動(dòng)二次按需加載方法,包括如下步驟:
[0009](I)將DSP外接的ROM中存放的程序按功能模塊化,將其劃分為初始引導(dǎo)模塊BOOT、主框架引導(dǎo)模塊B00T2和應(yīng)用模塊,所述應(yīng)用模塊包含不同功能的子應(yīng)用程序模塊;
[0010](2) DSP上電復(fù)位后,自動(dòng)從ROM中加載初始引導(dǎo)模塊Β00Τ,所述初始引導(dǎo)模塊BOOT用于加載主框架引導(dǎo)模塊B00T2 ;
[0011](3) DSP運(yùn)行初始引導(dǎo)模塊Β00Τ,進(jìn)而從ROM中加載主框架引導(dǎo)模塊B00T2 ;
[0012](4)DSP運(yùn)行主框架引導(dǎo)模塊B00T2,然后根據(jù)主控單元(如CPU)的需求,從ROM應(yīng)用模塊中加載對(duì)應(yīng)的子應(yīng)用程序模塊。
[0013]更進(jìn)一步的,應(yīng)用模塊包含至少兩個(gè)子應(yīng)用程序模塊。
[0014]有益效果:(I)由于外部存儲(chǔ)空間ROM的大小相對(duì)于片內(nèi)的存儲(chǔ)空間不是系統(tǒng)設(shè)計(jì)的瓶頸,本發(fā)明將所有集成的功能程序放在外部ROM中,而沒有對(duì)DSP內(nèi)部存儲(chǔ)空間增加額外開銷,DSP運(yùn)行時(shí)按需加載對(duì)應(yīng)的功能程序,從而最大化的使用有限的DSP硬件內(nèi)部資源,并避免了傳統(tǒng)方法對(duì)不同功能模塊的整合過程,方法簡(jiǎn)單高效。(2)本發(fā)明將由于所有集成的功能程序放在外部ROM中,可以方便的對(duì)系統(tǒng)功能進(jìn)行擴(kuò)展,即使存儲(chǔ)空間不足,也可以隨時(shí)對(duì)外部ROM進(jìn)行空間擴(kuò)展,從而便于系統(tǒng)集成。
【專利附圖】
【附圖說明】
[0015]圖1為傳統(tǒng)的DSP 一次加載方法不意圖。
[0016]圖2為本發(fā)明提供的二次按需加載方法示意圖。
【具體實(shí)施方式】
[0017]下面結(jié)合附圖對(duì)本發(fā)明作更進(jìn)一步的說明。
[0018]如圖1所示,傳統(tǒng)的DSP 一次加載方法在上電復(fù)位之后,DSP自動(dòng)通過EMIFB 口去搬移Flash開始的IK字節(jié)程序,這IK字節(jié)程序boot搬移近來之后,DSP就按照這I K字節(jié)的程序boot來運(yùn)行,而通常這IK字節(jié)程序boot的作用是將存儲(chǔ)在Flash的應(yīng)用程序搬移到DSP內(nèi)部,然后運(yùn)行已經(jīng)搬移進(jìn)來的目標(biāo)程序,也就達(dá)到了自啟動(dòng)的目的。
[0019]如圖2所示,本發(fā)明提供的一種DSP自啟動(dòng)二次按需加載方法,包括如下步驟:
[0020](I)將DSP外接的ROM中存放的程序按功能模塊化,將其劃分為初始引導(dǎo)模塊BOOT、主框架引導(dǎo)模塊B00T2和應(yīng)用模塊,所述應(yīng)用模塊包含不同功能的子應(yīng)用程序模塊servel, serve2...serveN ;
[0021](2) DSP上電復(fù)位后,自動(dòng)從ROM中加載初始引導(dǎo)模塊Β00Τ,所述初始引導(dǎo)模塊BOOT用于加載主框架引導(dǎo)模塊B00T2 ;
[0022](3) DSP運(yùn)行初始引導(dǎo)模塊Β00Τ,進(jìn)而從ROM中加載主框架引導(dǎo)模塊B00T2 ;
[0023](4)DSP運(yùn)行主框架引導(dǎo)模塊B00T2,然后根據(jù)主控單元的需求,從ROM應(yīng)用模塊中加載對(duì)應(yīng)的子應(yīng)用程序模塊。
[0024]在本實(shí)例設(shè)計(jì)中,由于片外存儲(chǔ)空間的大小相對(duì)于片內(nèi)的存儲(chǔ)空間不再是系統(tǒng)設(shè)計(jì)的瓶頸,外接的ROM選用了 4M byte FlashAM29LV033,將Flash劃分為多個(gè)片區(qū),分別存儲(chǔ)不同的程序,初始引導(dǎo)模塊BOOT、主框架引導(dǎo)模塊B00T2和應(yīng)用模塊servel,serVe2…ServeN0 DSP上電復(fù)位后自動(dòng)加載I K字節(jié)的程序Β00Τ,這I K字節(jié)的程序BOOT功能不是用來加載最終執(zhí)行程序,而是加載一個(gè)主框架程序B00T2,然后等待主控單元(如CPU)給出加載哪個(gè)功能的應(yīng)用程序,由主框架程序B00T2來完成對(duì)子應(yīng)用程序的加載到存儲(chǔ)空間L2。BOOT、B00T2、子應(yīng)用程序都需要燒入片外的Flash。在DSP內(nèi)部存儲(chǔ)空間的劃分為:
[0025]BOOT: o=00000000h l=00000400h /*lk*/
[0026]B00T2: o=00000400h l=00000C00h /*3.072k*/
[0027]L2: o=00001000h l=00100000h /*1024k*/
[0028]在Flash程序燒寫的過程中,把程序的.0ut文件load進(jìn)dsp,通過
File---Data---Save 生成 boot, dat, boot2.dat,子應(yīng)用程序 serverl.dat, server2.dat,
server3.dat, server4.dat等。DSP 二次按需程序加載,按照CPU指令,由Boot2完成對(duì)應(yīng)段的ServeX.dat( 1〈X〈N)程序加載,該方法操作過程簡(jiǎn)單,整個(gè)燒寫過程耗時(shí)2分鐘左右。
[0029] 以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出:對(duì)于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種DSP自啟動(dòng)二次按需加載方法,其特征在于包括如下步驟: (1)將DSP外接的ROM中存放的程序按功能模塊化,將其劃分為初始引導(dǎo)模塊BOOT、主框架引導(dǎo)模塊B00T2和應(yīng)用模塊,所述應(yīng)用模塊包含不同功能的子應(yīng)用程序模塊; (2)DSP上電復(fù)位后,自動(dòng)從ROM中加載初始引導(dǎo)模塊Β00Τ,所述初始引導(dǎo)模塊BOOT用于加載主框架引導(dǎo)模塊B00T2 ; (3)DSP運(yùn)行初始引導(dǎo)模塊Β00Τ,進(jìn)而從ROM中加載主框架引導(dǎo)模塊B00T2 ; (4)DSP運(yùn)行主框架引導(dǎo)模塊B00T2,然后根據(jù)主控單元的需求,從ROM應(yīng)用模塊中加載對(duì)應(yīng)的子應(yīng)用程序模塊。
2.根據(jù)權(quán)利要求1所述的一種DSP自啟動(dòng)二次按需加載方法,其特征在于:所述應(yīng)用模塊包含至少兩個(gè)子應(yīng)用程序模塊。
【文檔編號(hào)】G06F9/445GK103955376SQ201410056275
【公開日】2014年7月30日 申請(qǐng)日期:2014年2月19日 優(yōu)先權(quán)日:2014年2月19日
【發(fā)明者】徐勇, 賈鵬, 趙勇, 蔡青, 邱文靜 申請(qǐng)人:熊貓電子集團(tuán)有限公司, 南京熊貓漢達(dá)科技有限公司