一種可選擇版本的dsp處理器程序加載方法
【專利摘要】本發明涉及一種可選擇版本的DSP處理器程序加載方法,屬于DSP處理器應用【技術領域】。本發明采用兩級程序加載機制進行程序加載,利用第一級引導程序完成第二級工作程序加載版本的選擇及第二級工作程序的加載,加載后的第二級工作程序作為主工作程序運行,這樣使得主機可以依據需求進行DSP處理器工作程序版本的選擇,還解決了DSP升級功能融合到工作程序中導致的復雜性增加,以及軟件升級過程中出現異常問題后需利用DSP仿真器重新進行固化從而實現加載的問題。
【專利說明】-種可選擇版本的DSP處理器程序加載方法
【技術領域】
[0001] 本發明涉及DSP處理器應用【技術領域】,具體涉及一種可選擇版本的DSP處理器程 序加載方法。
【背景技術】
[0002] 關于DSP (Digital Signal Processing,數字信號處理)處理器程序的固化及加 載,處理器生產廠家均提供相應的解決方法,通常可以利用仿真器實現DSP處理器程序的 固化,進而能夠實現程序的自動加載功能,此種方法的不足之處在于如果對DSP處理器程 序進行了更改,需要重新利用仿真器完成修改后的DSP處理器程序的固化工作。在DSP處理 器程序的前期開發過程中,此種程序固化及加載方法基本能夠滿足需求,但是,當基于DSP 處理器設計的產品交付使用后,如果對其進行程序固化升級仍使用仿真器進行操作的話, 會涉及到產品的拆裝,因此,此種方法不利于生產應用過程。
[0003] 針對上述不足之處,一些期刊文獻中提出了在DSP處理器程序中增加程序升級的 功能,硬件上通過串口將DSP處理器與計算機連通,軟件上在DSP處理器程序中添加程序升 級模塊,即硬件電路上電工作后,計算機通過串口向DSP處理器發出指令,向DSP處理器發 送需要固化的新的DSP處理器程序,傳輸完成后,DSP處理器調用程序升級功能,將新的程 序固化于程序存儲器中,從而完成脫離仿真器的程序固化升級功能,此種方法有效的解決 了程序固化升級需要拆裝產品的問題,但是,存在如下一些不足之處:1)在DSP處理器程序 設計時需增加程序升級功能,增加了程序設計的復雜性;2)如果在程序固化升級過程中出 現掉電等異常現象或者需固化的程序文件本身存在問題,會使得產品重新加電后無法正常 加載程序,此時仍需使用仿真器對程序進行固化,同樣涉及到產品的拆裝。
【發明內容】
[0004] (一)要解決的技術問題
[0005] 本發明要解決的技術問題是:如何提供一種可選擇版本的DSP處理器程序加載方 法,以解決現有技術中存在的DSP升級功能融合到工作程序中導致的復雜性增加,以及軟 件升級過程中出現異常問題后需利用DSP仿真器重新進行固化從而實現加載的問題,并在 解決以上問題的同時,實現了 DSP處理器程序加載過程中程序版本可選擇的功能。
[0006] (二)技術方案
[0007] 為了解決上述技術問題,本發明提供了一種可選擇版本的DSP處理器程序加載方 法,包括以下步驟:
[0008] S1、主機向其與DSP處理器的信息交互區寫入所述DSP處理器需加載的工作程序 的軟件版本信息;
[0009] S2、所述主機向DSP處理器發送復位信號;
[0010] S3、所述DSP處理器進行復位,然后自動加載引導程序;
[0011] S4、所述引導程序讀取所述軟件版本信息;
[0012] S5、所述引導程序根據所述軟件版本信息計算所述工作程序在程序存儲區中的存 儲地址、在程序運行空間的存儲地址,以及工作程序運行入口地址,并將所述程序存儲區中 的存儲地址處的可執行代碼復制到所述程序運行空間的存儲地址中,然后根據所述可執行 代碼、所述引導程序自身的內容,以及所述程序運行入口地址生成可執行文件;
[0013] S6、所述DSP處理器對所述可執行文件進行加載。
[0014] 優選地,在步驟S6之后還包括步驟:
[0015] S7、所述DSP處理器向主機反饋軟件版本信息;
[0016] S8、所述主機判斷所述DSP處理器反饋的軟件版本信息與其寫入到所述信息交互 區的軟件版本信息是否一致,若一致,則結束,否則返回步驟S1,主機重新寫入另一軟件版 本信息,然后重新執行后續的步驟。
[0017] 優選地,所述可執行文件中包含寫入所述程序運行入口地址后的引導程序,以及 所述可執行代碼。
[0018] 優選地,所述引導程序和工作程序分別存儲于所述程序存儲區中的不同的空間。
[0019] (三)有益效果
[0020] 本發明采用兩級程序加載機制進行程序加載,利用第一級引導程序完成第二級工 作程序加載版本的選擇及第二級工作程序的加載,加載后的第二級工作程序作為主工作程 序運行,這樣使得主機可以依據需求進行DSP處理器工作程序版本的選擇,還解決了 DSP升 級功能融合到工作程序中導致的復雜性增加,以及軟件升級過程中出現異常問題后需利用 DSP仿真器重新進行固化從而實現加載的問題。進一步,將DSP處理器程序存儲區分塊,用 于存儲一級引導程序、多個版本的DSP處理器工作程序,這樣使得在進行軟件升級時,僅對 需升級版本的程序對應的存儲區進行操作即可,可以保證其它版本的DSP處理器程序不被 覆蓋,提高了工作效率。
【專利附圖】
【附圖說明】
[0021] 圖1為本發明的方法流程圖;
[0022] 圖2為DSP處理器程序存儲區分配圖。
【具體實施方式】
[0023] 為使本發明的目的、內容、和優點更加清楚,下面結合附圖和實施例,對本發明的
【具體實施方式】作進一步詳細描述。
[0024] 如圖1所示,本發明提供了一種可選擇版本的DSP處理器程序加載方法,包括以下 步驟:
[0025] S1、主機向其與DSP處理器的信息交互區寫入所述DSP處理器需加載的工作程序 的軟件版本信息;
[0026] S2、所述主機向DSP處理器發送復位信號;
[0027] S3、所述DSP處理器進行復位,然后自動加載引導程序;
[0028] S4、所述引導程序讀取所述軟件版本信息;
[0029] S5、所述引導程序根據所述軟件版本信息計算所述工作程序在程序存儲區中的存 儲地址、在程序運行空間的存儲地址,以及工作程序運行入口地址,并將所述程序存儲區中 的存儲地址處的可執行代碼復制到所述程序運行空間的存儲地址中,然后根據所述可執行 代碼、所述引導程序自身的內容,以及所述程序運行入口地址生成可執行文件;所述可執行 文件中包含寫入所述程序運行入口地址后的引導程序(即此時的引導程序中含有該工作 程序的運行入口地址),以及所述可執行代碼,且為減少可執行文件生成過程中人為參與的 復雜性,采用"引導程序+工作程序"的結構進行生成,以便在不同版本程序加載過程中,弓丨 導程序能夠自動獲取該版本工作程序的運行入口地址而不需在生成可執行文件時人工進 行分離,可減少操作的復雜性和出錯的概率。
[0030] S6、所述DSP處理器對所述可執行文件進行加載;
[0031] S7、所述DSP處理器向主機反饋軟件版本信息;
[0032] S8、所述主機判斷所述DSP處理器反饋的軟件版本信息與其寫入到所述信息交互 區的軟件版本信息是否一致,若一致,則結束,否則返回步驟S1,主機重新寫入另一軟件版 本信息,然后重新執行后續的所有步驟,以此方式循環,直到反饋的版本信息與寫入的版本 信息一致,表不加載成功。
[0033] 本實施例中,本發明對DSP處理器程序存儲區的分配方法進行了約定,如 圖2所示,所述引導程序和工作程序分別存儲于所述程序存儲區中的不同的空間。以 TMS320C6416DSP為例,整個DSP程序存儲區中需存儲如下幾類程序,即引導程序、升級程 序、工作程序1、DSP工作程序2.......工作程序n,共需分配n+2個程序存儲塊,除引導程 序占用1KB字節空間外,其它程序(包括升級程序及工作程序)均占用相同大小的存儲空 間。
[0034] 基于統一化、規范化的原則,本發明對主機控制程序與升級程序、引導程序、各版 本工作程序間的信息交互協議進行了規定,以便于引導程序運行、工作程序選擇、DSP處理 器程序升級、DSP處理器程序工作的實現。可以按照如下協議格式進行約定,如表1所示為 主機控制程序至引導程序、各版本工作程序、升級程序協議格式,表2表示引導程序、各版 本工作程序、升級程序反饋至主機控制程序的協議格式。
[0035] 表1主機至DSP處理器程序協議格式
[0036]
【權利要求】
1. 一種可選擇版本的DSP處理器程序加載方法,其特征在于,包括以下步驟: 51、 主機向其與DSP處理器的信息交互區寫入所述DSP處理器需加載的工作程序的軟 件版本信息; 52、 所述主機向DSP處理器發送復位信號; 53、 所述DSP處理器進行復位,然后自動加載引導程序; 54、 所述引導程序讀取所述軟件版本信息; 55、 所述引導程序根據所述軟件版本信息計算所述工作程序在程序存儲區中的存儲 地址、在程序運行空間的存儲地址,以及工作程序運行入口地址,并將所述程序存儲區中的 存儲地址處的可執行代碼復制到所述程序運行空間的存儲地址中,然后根據所述可執行代 碼、所述引導程序自身的內容,以及所述程序運行入口地址生成可執行文件; 56、 所述DSP處理器對所述可執行文件進行加載。
2. 如權利要求1所述的方法,其特征在于,在步驟S6之后還包括步驟: 57、 所述DSP處理器向主機反饋軟件版本信息; 58、 所述主機判斷所述DSP處理器反饋的軟件版本信息與其寫入到所述信息交互區的 軟件版本信息是否一致,若一致,則結束,否則返回步驟S1,主機重新寫入另一軟件版本信 息,然后重新執行后續的步驟。
3. 如權利要求1所述的方法,其特征在于,所述可執行文件中包含寫入所述程序運行 入口地址后的引導程序,以及所述可執行代碼。
4. 如權利要求1或2或3所述的方法,其特征在于,所述引導程序和工作程序分別存儲 于所述程序存儲區中的不同的空間。
【文檔編號】G06F9/445GK104281463SQ201310292153
【公開日】2015年1月14日 申請日期:2013年7月12日 優先權日:2013年7月12日
【發明者】成明偉, 樊慶華 申請人:中國航天科工集團第三研究院第八三五八研究所