專利名稱:一種對數字信號處理器執行調試查詢命令的方法及裝置的制作方法
技術領域:
本發明涉及嵌入式系統的調試,特別是指一種對數字信號處理器(DSP, Digital Signal Processor)執行調試査詢命令的方法及裝置。
背景技術:
近年來,DSP以其高效的信號處理能力和計算能力在嵌入式系統的開發 中得到了越來越廣泛的應用。在現有技術中,在DSP上進行的軟件調試通常 采用掛接專用仿真器把調試代碼下載到目標板卡的DSP中進行調試的方法, 如圖1所示,為現有技術仿真器調試方式示意圖,PC調試機101與仿真器 102的連接,以及仿真器102與被調試處理器103的連接都是非網絡連接, 例如PC調試機101與仿真器102采用并口連接,仿真器102與被調試處理 器103采用JATG連接。
以上被廣泛使用的調試方式有以下缺點由于無法連接網絡,因此只能 進行本地調試,不能通過網絡進行遠程調試;仿真器價格昂貴,且一個仿真
器通常只能調試一片DSP,或同一系列的DSP,不能同時調試多種DSP或在 一塊板卡上通過JATG接口鏈串在一起的幾片DSP,不能支持一個仿真器同 時調試多塊板卡上的DSP;因為無法在測試線上面給DSP掛接仿真器調試, 因此只適用于離線調試階段,不適用于集成測試階段;由于現有的調試技術 沒有調試代理的功能,因此不能動態的下發調試査詢命令和執行函數功能; 只能查詢變量或內存的值,無法實現對系統運行狀態的自動分析;只能打斷 點停止DSP運行來觀察變量的值,這種調試手段會干擾程序的正常運行。
如圖2所示,是傳統的網絡調試方式示意圖,PC調試機101通過網絡 202與目標板卡上的被調試的處理器203進行通信,通過在處理器203上運 行的代理實現各種調試功能,上述網絡202可以是通過HUB或路由器來完成 連接。其缺點在于
1.由于很多DSP沒有網絡網口外設,無法進行網絡調試;2. 不能夠對多個DSP同時進行調試;
3. 由于DSP的內存資源有限,無法支持龐大的網絡通信協議桟,因此很 多調試功能無法應用,也無法對系統運行狀態進行自動調試。
發明內容
有鑒于此,本發明提供一種對數字信號處理器執行調試査詢命令的技術, 該技術基于網絡實施,使得對DSP的調試能夠遠程進行;避免使用價格昂貴 的仿真器;使得對DSP能夠進行動態調試,通過分析調試結果實現對系統運 行狀態的自動分析,實現對多DSP同時進行調試。
一種基于網絡對數字信號處理器執行調試查詢命令的方法,應用于包括 調試機和DSP的調試系統,在DSP側設置一個主控處理器;
調試機把對DSP的調試查詢命令通過網絡發給主控處理器,主控處理器 由DSP處獲取調試査詢命令的結果,返回給調試機。
該方法所述主控處理器由DSP處獲取調試查詢命令的結果包括在DSP 上設置一個調試代理;主控處理器接到調試查詢命令,轉發給位于DSP上的 調試代理,在調試代理上面執行相應的調試查詢命令,并由調試代理將調試 査詢命令的結果發送回主控處理器。
該方法中,,預先存在映射文件,所述調試査詢方法在DSP上動態地執 行調試査詢命令;
當所述調試査詢命令是函數時,進一步包括,在調試機界面上輸入要執 行的函數名,由調試機解析映射文件,根據函數名找到對應函數在DSP內存 中的地址,并將函數地址發送給主控處理器,主控處理器轉發給DSP上的調 試代理,調試代理直接跳轉到此函數地址執行函數,并將函數的執行結果返 回給主控處理器,由主控處理器返回給調試機。
該方法中,預先存在映射文件,所述主控處理器由DSP處獲取調試査詢 命令的結果包括分析與DSP上的可執行文件對應的映射文件,獲得指定變 量在DSP的內存中的地址;主控處理器通過硬件通道根據獲知的地址直接訪 問DSP內存,獲取調試響應消息。
該方法所述調試査詢方法進一步包括,當所述被調試DSP為多個時,將 對多個DSP的調試査詢命令組合在一起,編寫成調試腳本,同時對多個DSP
進行調試,所述多個DSP是同一硬件板卡上的多個DSP,或者是不同硬件板 卡上的多個DSP,甚至是不同類型的DSP。
該方法所述調試査詢方法在DSP上動態下發調試査詢命令,調試機把該 調試査詢命令發送給主控處理器,主控處理器把調試査詢命令轉發給DSP上 的調試代理,調試代理執行調試査詢命令,并將執行結果返回給主控處理器, 由主控處理器返回調試機。
該方法對于所述的調試査詢命令的結果,在主控處理器或者是調試機上 面進行進一步分析得到需要的調試結果信息。
一種基于網絡對數字信號處理器執行調試查詢命令的裝置,應用于包括 調i式機和數字信號處理器DSP的調試系統,包括
主控處理器,設置于DSP偵U,通過網絡接收調試機對DSP的調試查詢命 令,并從DSP處獲取調試査詢命令的結果;
硬件通道,主控處理器通過硬件通道與被調試的DSP進行通信。
該裝置所述被調試的DSP上進一步包含調試代理模塊,主控處理器接到 調試查詢命令,轉發給位于DSP上的調試代理模塊,在調試代理上面執行相 應的調試查詢命令,并由調試代理模塊將調試查詢命令的結果發送回主控處 理器。
該裝置所述主控處理器進一步分析與DSP上的可執行文件對應的映射文 件,獲得指定變量在DSP的內存中的地址;主控處理器通過硬件通道根據獲 知的地址直接訪問DSP內存,獲取調試響應消息。
該裝置所述主控處理器為PowerPC系列處理器、ARM系列處理器等等, 支持網絡接口外部設備,內存支持網絡協議棧,能夠通過硬件通道直接訪問 DSP的內存。
該裝置所述硬件通道為HPI總線或DSI總線。
從以上所述可以看出,本發明提供的基于網絡對數字信號處理器進行調 試的方法及裝置,通過采用以主控處理器來協助對DSP的調試;在DSP上設 置調試代理;在PC調試機上執行調試腳本同時對多個DSP調試;主控處理 器和DSP上的調試代理合作分工實現網絡調試功能等技術手段和相應裝置, 解決了傳統的掛接仿真器進行調試的方法的缺點,同時可以克服現有技術中
網絡調試的缺點,使得對于DSP的調試方法和手段更加多樣和有效實用,提
高調試的效率和對DSP運行問題的準確定位。
圖1為現有技術仿真器調試方式示意圖; 圖2為傳統的網絡調試方式示意圖; 圖3為本發明的DSP網絡調試方式示意圖; 圖4為實施例l流程示意圖5為實施例2流程示意圖。
具體實施例方式
本發明描述了一種基于網絡的DSP調試查詢方法及裝置,通過設置主控 處理器,來協助PC調試機通過網絡對DSP的調試査詢。
在調試査詢過程中,用主控處理器來協助對DSP的調試。 本發明的調試査詢過程主要包括
1. 調試查詢命令的下發方式和調試信息的上報方式PC調試機通過網絡 連接與板卡上的主控處理器進行通信,PC端對DSP的調試査詢命令通過網 絡下發給主控處理器,再由主控處理器發給DSP, DSP的調試信息由主控處 理器通過網絡上報給PC調試機;
2. 主控處理器可以采用兩種方式獲得DSP的調試査詢響應信息。 為了說明本發明的方法的具體實施流程,下面結合圖4對本發明較佳實施
例進行詳細描述。 實施例1:
整個網絡調試方式的系統結構如圖3所示,可以分為PC調試機101,與 網絡連接的聯網設備202,例如HUB或其它的路由器,以及硬件板卡304, 其中,硬件板卡304進一步包括協助調試的主控處理器301,硬件通道302 和被調試的DSP303。硬件通道302可以是數據串行接口(DSI, Data Serial Interface)、主機并行接口(HPI, Host Parallel Interface)等類型的總線或其它可 能的硬件通道;其中,DSI用于遠距離傳送信號,HPI用于完成主機與DSP 或DSP與DSP之間的數據交換。
在DSP上設置一個調試代理,所述調試代理可以是一個軟件或者是硬件
模塊,具體負責運行調試査詢命令,避免由于調試査詢而干擾了DSP本身的
運行;主控處理器和DSP上的調試代理合作分工,在保證DSP上正在運行的 程序實時性的基礎上實現網絡調試功能。
同時,本發明的調試査詢方法能夠動態下發調試査詢命令,在DSP上動 態執行函數,改變代碼的執行順序,這種方式提高了調試的效率,不再像掛 接仿真器進行調試時,只能按代碼編寫的順序執行指令。
步驟401, PC調試機通過網絡向硬件板卡上的主控處理器發送調試查詢 命令,所述調試査詢命令包括,讓DSP運行的具體控制指令,需要査詢的各 種變量,需要進行運算的算式等;PC調試機通過HUB或者其他的路由器上 網,可以在本地通過網絡連接硬件板卡上的主控處理器,也可以是遠程PC 調試機通過網絡連接進行調試。
另外,當進行動態調試時,較佳地在PC調試機界面輸入要執行的函數 名后,PC調試機解析MAP文件,找到函數名對應的函數地址,將函數地址 發送給主控處理器。
步驟402,主控處理器接受到調試査詢命令,通過硬件通道,轉發給位 于DSP上面的調試代理,上述的硬件通道可以是DSI或HPI等類型的總線或 其它可能的硬件通道,調試代理訪問DSP的內存,獲得任意指定變量的值。
當進行動態調試時,較佳地主控處理器轉發給調試代理的是函數地址。
步驟403,在調試代理上面執行相應的調試査詢命令,獲得調試響應消息。
當進行動態調試時,較佳地調試代理直接跳轉到此函數地址執行函數, 并獲得函數的執行結果或者執行其它的調試查詢命令;執行查詢的時候不必 中斷DSP的運行。
步驟404,調試代理把獲得的調試響應消息通過上述的硬件通道發送回 主控處理器。
步驟405,主控處理器通過網絡把調試響應消息發回PC調試機,在PC 調試機或主控處理器上安裝分析程序自動分析DSP各個符號變量的值,從而 自動分析DSP上整個軟件系統的運行狀態,由PC調試機進行分析,得到需 要的調試查詢信息。
這種方式適用于一些簡單的信息査詢,每次査詢需要調試代理完成的工 作不能對DSP側運行程序的實時性造成不能接受的影響,同時可以在PC調
試機或主控處理器上安裝相應的計算機程序,由程序分析DSP的各個符號或 變量的值,從而獲取DSP上整個軟件系統的當前運行狀態。上述的調試機一 般是指PC計算機,也可以是能夠完成本發明調試機功能的其它類型的機器。 下面結合圖5對本發明較佳實施例進行詳細描述。
實施例2:
在這種方式中,整個調試系統的硬件設置與實施例1相同,但是主控處
理器是直接訪問DSP的內存,從而獲知DSP的運行信息。
步驟501, PC調試機通過網絡向主控處理器發送調試DSP的命令,所述 調試査詢命令包括,讓DSP運行的具體控制指令,需要査詢的各種變量,需 要進行運算的算式等。
步驟502,在主控處理器上或者在PC調試機上分析與DSP上可執行文 件對應的MAP文件,獲得任何指定變量在DSP的內存中的地址,所述的MAP 文件是映射文件,它以文本方式記錄了可執行文件中所有輸出變量在DSP內 存上的地址;在主控處理器上或者在PC調試機上分析與DSP上可執行文件 對應的MAP文件,可以獲得DSP上任意指定變量的地址、長度和函數地址 等信息。
步驟503,主控處理器通過硬件通道根據獲知的地址直接訪問DSP內存。
步驟504,主控處理器獲取DSP內存中指定地址的對應的變量的值,以 及處理器運行信息。
步驟505,主控處理器把上述獲得的調試響應信息通過網絡傳輸給PC調 試機,在PC調試機或主控處理器上安裝分析程序自動分析DSP各個符號變 量的值,從而自動分析DSP上整個軟件系統的運行狀態,由PC調試機進行 分析,得到需要的調試査詢信息。
這種方式適用于一些復雜的耗時較長的信息査詢,不會影響DSP側軟件 的執行,同時可以在PC調試機或主控處理器上安裝相應的計算機程序,由 程序分析DSP的各個符號或變量的值,從而獲取DSP上整個軟件系統的當前 運行狀態。
在調試機上執行調試腳本,同時對多個DSP進行調試。
實際應用過程中,會出現一個系統在執行任務的過程中,需要多個DSP 協調工作的情況;由于傳統的調試方式只能每次針對一個DSP進行調試,當 需要同時調試多個DSP的時候,如果想要通過這種調試方法檢測整個系統的 每一個DSP的運行信息,需要很多額外的工作,甚至無法進行有效的調試查 詢。本發明提出了一種新的調試方法,通過編寫調試腳本,在調試腳本中將 對多個DSP調試査詢命令組合在一起,進行復雜系統功能的調試。
在PC調試機運行調試腳本,把腳本里面的調試查詢命令依次發給對應 的板卡上面的主控處理器,對于每一個調試查詢命令按照實施例1或2的流 程執行。本方法能夠調試的多個DSP可以是同一板卡上的多個DSP,也可以 是不同板卡上的多個DSP,甚至是不同類型的DSP。
以上所述僅為本發明的較佳實施例而已,并不用以限制本發明;可以看 出通過本發明的技術解決了現有技術存在的問題;本發明的技術在通信領域 有廣泛的應用前景,因此凡在本發明的精神和原則之內,所作的任何修改、 等同替換、改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種基于網絡對數字信號處理器執行調試查詢命令的方法,應用于包括調試機和DSP的調試系統,其特征在于,在DSP側設置一個主控處理器;調試機把對DSP的調試查詢命令通過網絡發給主控處理器,主控處理器由DSP處獲取調試查詢命令的結果,返回給調試機。
2. 根據權利要求1所述的方法,其特征在于,所述主控處理器由DSP處獲取調試查詢命令的結果包括在DSP上設置一個調試代理;主控處理器接到調試查詢命令,轉發給位于DSP上的調試代理,在調試代理上面執行相應 的調試査詢命令,并由調試代理將調試查詢命令的結果發送回主控處理器。
3. 根據權利要求2所述的方法,其特征在于,預先存在映射文件,所述 調試査詢方法在DSP上動態地執行調試查詢命令;當所述調試查詢命令是函數時,進一步包括,在調試機界面上輸入要執 行的函數名,由調試機解析映射文件,根據函數名找到對應函數在DSP內存 中的地址,并將函數地址發送給主控處理器,主控處理器轉發給DSP上的調 試代理,調試代理直接跳轉到此函數地址執行函數,并將函數的執行結果返 回給主控處理器,由主控處理器返回給調試機。
4. 根據權利要求1所述的方法,其特征在于,預先存在映射文件,所述 主控處理器由DSP處獲取調試查詢命令的結果包括:分析與DSP上的可執行 文件對應的映射文件,獲得指定變量在DSP的內存中的地址;主控處理器通 過硬件通道根據獲知的地址直接訪問DSP內存,獲取調試響應消息。
5. 根據權利要求1所述的方法,其特征在于,所述調試査詢方法進一步 包括,當所述被調試DSP為多個時,將對多個DSP的調試査詢命令組合在一 起,編寫成調試腳本,同時對多個DSP進行調試,所述多個DSP是同一硬件 板卡上的多個DSP,或者是不同硬件板卡上的多個DSP,甚至是不同類型的 DSP。
6. 根據權利要求1所述的方法,其特征在于,所述調試查詢方法在DSP 上動態下發調試查詢命令,調試機把該調試查詢命令發送給主控處理器,主 控處理器把調試查詢命令轉發給DSP上的調試代理,調試代理執行調試査詢命令,并將執行結果返回給主控處理器,由主控處理器返回調試機。
7. 根據權利要求1所述的方法,其特征在于,對于所述的調試査詢命令 的結果,在主控處理器或者是調試機上面進行進一步分析得到需要的調試結 果信息。
8. —種基于網絡對數字信號處理器執行調試查詢命令的裝置,應用于包括調試機和數字信號處理器DSP的調試系統,其特征在于,包括主控處理器,設置于DSP側,通過網絡接收調試機對DSP的調試查詢命令,并從DSP處獲取調試查詢命令的結果;硬件通道,主控處理器通過硬件通道與被調試的DSP進行通信。
9. 根據權利要求8所述的調試查詢裝置,其特征在于,所述被調試的 DSP上進一步包含調試代理模塊,主控處理器接到調試查詢命令,轉發給位 于DSP上的調試代理模塊,在調試代理上面執行相應的調試查詢命令,并由 調試代理模塊將調試査詢命令的結果發送回主控處理器。
10. 根據權利要求8所述的調試査詢裝置,其特征在于,所述主控處理 器進一步分析與DSP上的可執行文件對應的映射文件,獲得指定變量在DSP 的內存中的地址;主控處理器通過硬件通道根據獲知的地址直接訪問DSP內 存,獲取調試響應消息。
11. 根據權利要求8所述的調試查詢裝置,其特征在于,所述主控處理 器為PowerPC系列處理器、ARM系列處理器等等,支持網絡接口外部設備, 內存支持網絡協議棧,能夠通過硬件通道直接訪問DSP的內存。
12. 根據權利要求8所述的調試查詢裝置,其特征在于,所述硬件通道 為HPI總線或DSI總線。
全文摘要
一種對數字信號處理器執行調試查詢命令的方法,應用于包括調試機和DSP的調試系統,其特征在于,在DSP側設置一個主控處理器;調試機把對DSP的調試查詢命令通過網絡發給主控處理器,主控處理器由DSP處獲取調試查詢命令的結果,返回給調試機。本發明同時還公開了一種對數字信號處理器執行調試查詢命令的裝置,應用于包括調試機和數字信號處理器DSP的調試系統,包括主控處理器,設置于DSP側,通過網絡接收調試機對DSP的調試查詢命令,并從DSP處獲取調試查詢命令的結果;硬件通道,主控處理器通過硬件通道與被調試的DSP進行通信。
文檔編號G06F11/36GK101192190SQ20061011479
公開日2008年6月4日 申請日期2006年11月23日 優先權日2006年11月23日
發明者文志剛, 蔣石竹 申請人:大唐移動通信設備有限公司