新四季網

一種數位訊號處理器軟體調試信息輸出方法

2023-07-28 10:36:11

專利名稱:一種數位訊號處理器軟體調試信息輸出方法
技術領域:
本發明涉及數位訊號處理器(DSP)技術,特別是一種DSP軟體調試信息輸出方法。
背景技術:
由於具備強大的處理能力,DSP一般應用於高速信號處理的場所,尤其在通訊領域獲得了非常廣泛的應用。由於對DSP系統的實時性和處理性能有較高的要求,目前在DSP系統的設計中主要側重於考慮DSP的數據吞吐能力和運算速率,而對於DSP系統的人機互動和調試手段卻通常關注的不夠。
在DSP系統的設計中,調試DSP軟體時需要輸出調試信息,當DSP軟體異常時為了準確地定位問題也需要輸出調試信息。現有技術中常見的DSP軟體調試信息輸出方法為首先通過仿真工具加載DSP軟體,然後通過所使用的仿真工具把調試信息輸出到調試主機,最後在集成調試環境下輸出。由於DSP上應用程式越來越龐大,特別是在移動通訊系統中廣泛採用的分布式處理方式往往會在一塊目標板上採用多片DSP,而DSP仿真工具的標準基本只能實現串行加載,所以應用仿真工具輸出調試信息會降低DSP軟體的調試效率,而且由於目前各個廠家提供的DSP仿真工具對於一些複雜的實時任務的調試並不完善,應用這種方法通常還是需要直接輸出調試信息進行問題定位,從而造成對DSP軟體調試的不便。同時,因為這種通過DSP仿真工具輸出調試信息的方法是採用仿真工具來加載DSP軟體,而DSP軟體的實際應用環境基本上是由CPU負責進行後臺加載,所以通過DSP仿真工具加載DSP軟體時必須修改相應的環境配置,從而造成無法測試正常的DSP加載流程。
現有技術中還有通過DSP與主機之間的主機接口(HPI)直接將調試信息輸出到CPU,CPU再將調試信息通過CPU的調試通道直接輸出到調試主機的調試信息輸出方法,其中HPI接口包含HPI郵箱以及CPU和DSP的通訊協議。
在一些複雜的應用場所中,可以將DSP互聯起來組成DSP互聯陣列。圖1為現有技術中利用HPI接口的調試模式圖。如圖1所示,DSP應用板上有CPU和DSP互聯陣列,其中DSP互聯陣列通過HPI接口和CPU連接。輸出調試信息到調試主機時需要先將調試信息格式化,現有技術一般通過調用Printf等列印函數將調試信息字符串格式化,然後以消息包的方式發往HPI接口的HPI郵箱,CPU讀取HPI郵箱以獲得調試信息消息包再調用列印函數通過CPU的調試通道而輸出。
圖2為現有技術中利用HPI接口輸出調試信息輸出流程圖。如圖2所示,包括以下步驟步驟201CPU加載DSP程序,開始調試流程;步驟202DSP程序格式化調試信息字符串,並且將格式化後的調試信息字符串組包成調試信息包,然後將調試信息包發給HPI郵箱;步驟203CPU讀取HPI郵箱獲得調試信息包並通過CPU的調試通道列印輸出。
現有技術中這種利用HPI接口直接輸出調試信息到CPU,CPU再將調試信息通過CPU的調試通道直接輸出的方式由於不是利用仿真工具進行加載DSP程序,所以可以避免通過仿真工具輸出調試信息所造成的問題,但是由於HPI接口是一個所有的DSP所公用擁有並且帶寬受限的共享資源,而調試信息字符串的長度不固定並且可能很長,並且現有技術中每條調試信息都組成一個調試信息包輸出會造成包頭的開銷很大,所以通過HPI接口輸出大量由調試信息字符串所組成的調試信息包會佔用大量的HPI帶寬。
同時,現有技術中輸出調試信息前需要在DSP上格式化調試信息字符串,而在DSP上格式化調試信息字符串的時間同調試信息字符串的長度有關,動輒需要上百周期,增加了在DSP上處理調試信息的時間,從而加大了DSP的負載。特別的,如果DSP由於某種原因而處於異常情況時,因為一個異常通常會導致產生一連串的異常,而通常每個異常都會有調試信息輸出,進而對DSP正常業務的處理造成極大衝擊。
現有技術中常見的方式還有通過將調試信息通過外部存儲器接口輸出到串口晶片,由串口晶片再輸出到調試終端。由於只是簡單採用串口晶片將調試信息上報給調試主機,因此調試信息只能是DSP主動輸出,而當DSP程序發生異常時,DSP往往已經無法正常的輸出,因此無法獲取DSP程序異常時的現場信息,而很多情況下這些現場信息對於定位DSP程序的問題是必不可少的。同時,由於是通過串口晶片將調試信息上報給調試主機,調試信息輸出速率會受到串口晶片速率的影響。

發明內容
有鑑於此,本發明的主要目的是提出一種DSP軟體調試信息輸出方法,以節省HPI傳輸所耗的帶寬。
為達到上述目的,本發明的技術方案是這樣實現的一種DSP軟體調試信息輸出方法,包括以下步驟A、DSP程序中創建不少於1種類型的調試信息對象和不少於1個調試信息緩衝器以及調試信息輸出到CPU的觸發條件,其中每種調試信息對象對應於至少一個調試信息緩衝器並且每種調試信息對象對應於1種調試信息;B、DSP編譯器編譯所述DSP程序生成加載文件,所述加載文件至少包括調試信息字符串段,CPU根據段名檢索所述的加載文件並保存調試信息字符串段的內容到CPU,獲得調試信息字符串段映射到DSP的物理地址、調試信息字符串段的內容保存在CPU的地址;C、DSP程序將相同類型的調試信息對象所對應的調試信息輸出到與該調試信息對象類型相對應的調試信息緩衝器;D、判斷調試信息輸出到CPU的觸發條件是否滿足,如果滿足則通過主機接口(HPI)輸出調試信息到CPU,CPU計算與調試信息相對應的調試信息字符串保存在CPU的物理地址並輸出調試信息字符串,如果不滿足則返回步驟D。
所述的調試信息對象為錯誤信息對象、DSP程序調試信息對象、或函數運行軌跡信息對象。
步驟D所述的計算與調試信息相對應的調試信息字符串保存在CPU的物理地址為計算調試信息字符串段中該調試信息字符串映射到DSP中的物理起始地址減去調試信息字符串段映射到DSP中的物理起始地址再加上調試信息字符串段的內容保存在CPU的起始地址。
步驟B進一步解析檢索文件獲得DSP上所有調試信息緩衝器起始地址、DSP上所有調試信息緩衝器的長度。
進一步在步驟A設置CPU與DSP程序的定時握手任務,當所述的定時握手任務失敗時,CPU主動從調試信息緩衝器取得調試信息。
步驟D所述的觸發條件為定時查詢觸發條件、主動觸發條件、或最大延遲輸出觸發條件。
通過以上的技術方案可以看出,本發明中DSP輸出到CPU的調試信息都包含與調試信息相對應的調試信息字符串映射到DSP的物理地址,而調試信息的長度與調試信息字符串長度無關,調試信息本身並不包括調試信息字符串,通過與調試信息相對應的調試信息字符串映射到DSP的物理地址和解析調試信息所需要的參數,CPU就可以獲得與調試信息所對應的調試信息字符串,因此本發明中所傳輸的調試信息的長度遠遠小於調試信息字符串長度,同時,本發明在調試信息輸出緩衝器中多條調試信息緩存後滿足一定觸發條件時同時組包輸出,而不是輸出每條調試信息就要輸出一個消息包,因此本發明還大大降低了包頭的開銷,所以應用本發明極大地減少了HPI接口傳送所耗的帶寬。
本發明中DSP程序只是將包含調試信息字符串的地址的調試信息輸出到調試信息輸出緩存器,而不用在DSP上格式化調試信息字符串,並且本發明調試信息的格式固定,調試信息本身並不包括調試信息字符串,從而使得DSP處理調試信息的時間大大縮小,所以本發明大大減少了DSP的負載。
同時,本發明在DSP程序運行過程中將一些重要的運行信息循環保存在軌跡調試信息輸出緩衝器中,當DSP程序運行過程中出現異常時,如果這個異常DSP程序可以檢測到,DSP程序可以利用主動觸發方式將調試信息組包輸出到CPU,而如果這個錯誤DSP程序無法檢測,CPU可以主動獲得調試信息輸出緩衝器的內容並依次實時解析和輸出,從而應用本發明實現了對DSP故障的現場分析,進而為迅速定位DSP故障提供了有力的幫助。
本發明通過CPU而不是仿真工具加載DSP程序,DSP程序中包含有足夠多的調試信息,實時通過CPU輸出調試信息,從而極大地方便了多DSP環境下的調試,提高了DSP程序調試的效率,並且還不需要修改環境配置。同時,本發明通過HPI接口而不是串口輸出調試信息,所以調試信息輸出速率不受到串口晶片速率的限制。


圖1為現有技術中利用HPI接口的調試模式圖。
圖2為現有技術中利用HPI接口輸出調試信息流程圖。
圖3為本發明一實施例的加載文件格式示意圖。
圖4為本發明一實施例的調試信息格式示意圖。
圖5為本發明一實施例中利用HPI接口輸出調試信息流程圖。
具體實施例方式
為使本發明的目的、技術方案和優點表達得更加清楚明白,下面結合附圖及具體實施例對本發明再作進一步詳細的說明。
本發明的主要思想是首先在DSP程序中創建各種類型的調試信息對象、調試信息輸出緩衝器和輸出調試信息的觸發條件,其中每個調試信息對象對應獨立的調試信息輸出緩衝器,並且各個調試信息輸出緩衝器的大小可以調節,然後CPU解析DSP加載文件,將調試信息字符串段的內容保存在CPU的存儲空間,並且獲得解析調試信息所需要的參數,DSP程序加載後當DSP程序運行時將調試信息輸出到相對應的調試信息輸出緩衝器,並且當滿足一定的觸發條件時再通過HPI接口將調試信息輸出緩衝器中的調試信息輸出到CPU,其中調試信息中包含有與調試信息相對應的調試信息字符串的地址,也就是該調試信息字符串映射到DSP的物理地址,最後CPU實時解析獲得的調試信息並通過CPU的調試通道進行輸出。
在通訊系統中廣泛採用了一種系列的DSP,該系列DSP在編譯程序時編譯連結DSP程序而生成加載文件,所生成的加載文件的格式為公共對象文件格式(COFF)。當在DSP程序中建立不同類型的調試信息對象後,DSP開發環境在編譯程序時將會在加載文件中產生和DSP程序中所建立的調試信息對象相對應的編譯段。
加載DSP程序時,需要按照各個段的物理地址分別進行加載,而調試信息字符串段沒有物理地址,所以在加載DSP程序之前需要對調試信息字符串段進行地址映射。編譯完成以後,由連結器完成調試信息字符串段地址映射。
圖3為本發明一實施例中利用HPI接口輸出調試信息流程圖。如圖3所示,包括以下步驟步驟301DSP程序中創建各種類型的調試信息對象和調試信息輸出緩衝器和調試信息輸出的觸發條件,其中每個調試信息對象對應於各自獨立的調試信息輸出緩衝器;步驟302DSP編譯器編譯DSP程序生成DSP加載文件,其中DSP加載文件至少包含調試信息對象段和const段;圖4為本發明一實施例的COFF格式的加載文件格式示意圖。如圖4所示,COFF文件包括文件頭、可選文件頭、段頭、原始數據、再定位信息、行編號入口、符號表和字符表。在編譯程序時,編譯器將程序中所有的調試信息字符串都分配到一個指定的const段中,並且編譯產生和DSP程序中所建立的調試信息對象相對應的編譯段。
步驟303CPU加載DSP程序並根據段名檢索生成的加載文件,獲得調試信息字符串段映射到DSP的物理地址、調試信息字符串段的內容保存在CPU的地址;CPU在加載DSP程序之前首先根據段名檢索整個DSP加載文件查找到const段和各調試信息對象段,可從const段獲得const段的物理地址和const段原始數據地址,其中const段的物理地址為const段映射到DSP上的物理地址,而const段原始數據地址為const段在加載文件中的地址。DSP程序加載時,CPU通過const段原始數據地址可以獲得const段在加載文件中的地址,從而CPU可獲得const段的信息。CPU存儲獲得的const段信息並且記錄const段信息保存在CPU的起始地址。
步驟304DSP輸出調試信息到對應的調試信息輸出緩衝器;加載文件中保留有全部的調試信息字符串,所以在DSP程序運行過程中輸出調試信息時,一條調試信息可以只保留序號、調試參數和與調試信息所對應的調試信息字符串的起始地址。其中調試信息中的序號是用來確定當在發送過程中發送信息丟失時讓用戶知道,序號的值在每條數據生成時加1,調試信息中的調試參數最多為2個,在沒有調試參數時,調試信息格式中調試參數位置的值用0代替。
圖5所示為本發明一實施例的調試信息格式示意圖。如圖5所示,調試信息包括序號、調試參數和調試信息字符串指針,根據調試信息字符串指針可以確定const段中與調試信息所對應的調試信息字符串映射到DSP的物理起始地址。調試信息中的調試參數為2個,所以每條調試信息的佔用空間可為4個字。
步驟305判斷是否滿足調試信息輸出到CPU的觸發條件,如果是則通過HPI接口輸出調試信息到CPU,否則返回步驟304;調試信息輸出到CPU的觸發方式可以為定時查詢觸發方式、主動輸出觸發方式、或最大延遲觸發方式。
定時查詢方式為每隔一段時間查詢特定的調試信息輸出緩衝器,如果調試信息輸出緩衝器中的調試消息條數超過了一定的門限,則將調試信息緩衝器中所有的調試信息組包並通過HPI接口輸出,然後將調試信息指針復位。
主動輸出觸發方式主要應用於某些特殊需求場所,例如在DSP運行過程中將函數軌跡等一些重要信息循環輸出到軌跡信息輸出緩衝器中,一旦滿足一定的條件,則將整個調試信息輸出緩衝器中的信息組包輸出到CPU以方便定位問題。
最大延遲輸出方式是設置一個調試信息輸出最大延遲門限,一旦有調試信息在調試信息輸出緩衝器中的延遲時間超過這個門限,則輸出調試信息到CPU,以保證調試信息輸出的實時性。
步驟306CPU實時解析調試信息並輸出;為了輸出調試信息,CPU需要獲得保存在CPU中的與調試信息對應的調試信息字符串的地址。調試信息字符串在CPU中的起始地址為與調試信息所對應的調試信息字符串映射到DSP中的物理起始地址減去const段映射到DSP中的物理起始地址再加上保存在CPU中的const信息在CPU中的起始地址。獲得了與調試信息對應的調試信息字符串的地址後,CPU就可以對相應的調試信息字符串進行列印輸出。
以上過程中,為了在DSP程序異常時獲取DSP程序的故障定位信息,在步驟303檢索加載文件時,CPU還可從各調試信息對象段獲得DSP上所有調試信息緩衝器起始地址和DSP上所有調試信息緩衝器長度。可預先在CPU和DSP程序中分別建立一個低優先級的定時握手任務,如果在DSP程序運行中出現DSP程序可以檢測到的異常,DSP程序將在異常之前的程序運行狀態和一些重要的參數實時發送到調試主機進行觀察,以提高DSP程序運行時定位異常的效率。當出現DSP程序無法檢測到的異常時,此時CPU將不能檢測到DSP程序的握手,CPU可通過所獲得的各調試信息緩衝器的起始地址和長度從DSP上直接讀取對應的調試信息緩衝器的信息並進行解析輸出,從而為快速定位DSP死機故障提供了有力的幫助,極大地方便了對DSP故障現場的分析。
以上過程中,步驟301所述的調試信息對象按照作用不同可以分為錯誤信息對象、或DSP程序調試信息對象、或函數運行軌跡信息對象,並且調試信息緩衝器的大小可以相應進行調節。
以上所述,僅為本發明的較佳實施例而已,並非用於限定本發明的保護範圍。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
權利要求
1.一種數位訊號處理器(DSP)軟體調試信息輸出方法,其特徵在於,包括以下步驟A、DSP程序中創建不少於1種類型的調試信息對象和不少於1個調試信息緩衝器以及調試信息輸出到CPU的觸發條件,其中每種調試信息對象對應於至少一個調試信息緩衝器並且每種調試信息對象對應於1種調試信息;B、DSP編譯器編譯所述DSP程序生成加載文件,所述加載文件至少包括調試信息字符串段,CPU根據段名檢索所述的加載文件並保存調試信息字符串段的內容到CPU,獲得調試信息字符串段映射到DSP的物理地址、調試信息字符串段的內容保存在CPU的地址;C、DSP程序將相同類型的調試信息對象所對應的調試信息輸出到與該調試信息對象類型相對應的調試信息緩衝器;D、判斷調試信息輸出到CPU的觸發條件是否滿足,如果滿足則通過主機接口(HPI)輸出調試信息到CPU,CPU計算與調試信息相對應的調試信息字符串保存在CPU的物理地址並輸出調試信息字符串,如果不滿足則返回步驟D。
2.根據權利要求1所述的DSP軟體調試信息輸出方法,其特徵在於,所述的調試信息對象為錯誤信息對象、DSP程序調試信息對象、或函數運行軌跡信息對象。
3.根據權利要求1所述的DSP軟體調試信息輸出方法,其特徵在於,步驟D所述的計算與調試信息相對應的調試信息字符串保存在CPU的物理地址為計算調試信息字符串段中該調試信息字符串映射到DSP中的物理起始地址減去調試信息字符串段映射到DSP中的物理起始地址再加上調試信息字符串段的內容保存在CPU的起始地址。
4.根據權利要求1所述的DSP軟體調試信息輸出方法,其特徵在於,步驟B進一步解析檢索文件獲得DSP上所有調試信息緩衝器起始地址、DSP上所有調試信息緩衝器的長度。
5.根據權利要求4所述的DSP軟體調試信息輸出方法,其特徵在於,進一步在步驟A設置CPU與DSP程序的定時握手任務,當所述的定時握手任務失敗時,CPU主動從調試信息緩衝器取得調試信息。
6.根據權利要求1所述的DSP軟體調試信息輸出方法,其特徵在於,步驟D所述的觸發條件為定時查詢觸發條件、主動觸發條件、或最大延遲輸出觸發條件。
全文摘要
本發明公開了一種數位訊號處理器(DSP)軟體調試信息輸出方法,包括以下步驟DSP程序中創建各種調試信息對象和對應的調試信息輸出緩衝器以及輸出調試信息的觸發條件;編譯生成加載文件;CPU根據段名檢索加載文件並保存調試信息字符串段,獲得解析調試信息所需的參數;DSP程序將相同類型的調試信息輸出到對應的調試信息輸出緩衝器;判斷觸發條件是否滿足,如果滿足就通過CPU與DSP之間的接口(HPI)輸出調試信息緩衝器中的調試信息到CPU,否則返回;CPU解析輸出調試信息。該方法可極大地節省HPI接口帶寬、減少DSP的負載、方便地實現DSP異常時輸出DSP軟體調試信息。
文檔編號G06F11/36GK1667585SQ200410004678
公開日2005年9月14日 申請日期2004年3月9日 優先權日2004年3月9日
發明者王鵬 申請人:華為技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀