專(zhuān)利名稱(chēng):一種總線的實(shí)時(shí)跟蹤系統(tǒng)及相應(yīng)的跟蹤、調(diào)試方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息的跟蹤和調(diào)試,尤其涉及一種總線實(shí)時(shí)跟蹤裝置及相應(yīng) 的跟蹤、調(diào)試方法。
背景技術(shù):
片上集成系統(tǒng)(SoC)存在多個(gè)功能模塊如處理器、硬件加速器等等。 圖1所示為現(xiàn)有技術(shù)中常見(jiàn)的總線系統(tǒng),包含有多個(gè)請(qǐng)求模塊,各模塊通過(guò) 獨(dú)立的總線,經(jīng)過(guò)存儲(chǔ)器仲裁單元訪問(wèn)特定的存儲(chǔ)裝置如SRAM、 ROM、 SDRAM等等。各模塊和存儲(chǔ)器仲裁單元之間以及存儲(chǔ)器仲裁單元和存儲(chǔ)裝 置之間采用某個(gè)標(biāo)準(zhǔn)的總線協(xié)議,如AHB, AXI, APB, OCP等。本發(fā)明 對(duì)總線類(lèi)型不做限制。
這些功能模塊各自獨(dú)立運(yùn)行,根據(jù)需要訪問(wèn)各種存儲(chǔ)器資源。對(duì)于任意 可以訪問(wèn)的存儲(chǔ)裝置,SoC系統(tǒng)中都有確定唯一的地址空間以便和其他存儲(chǔ) 空間相互區(qū)別開(kāi)。同時(shí)為了保證系統(tǒng)的安全可靠,各個(gè)存儲(chǔ)空間對(duì)于每一個(gè) 功能模塊, 一般開(kāi)放不同的訪問(wèn)控制權(quán)限,如對(duì)于片內(nèi)的啟動(dòng)用的靜態(tài)存儲(chǔ) 器(SRAM),可能只允許主控制器讀寫(xiě),而禁止其他模塊寫(xiě)。
當(dāng)SoC的系統(tǒng)功能越來(lái)越復(fù)雜,任意功能模塊如果出現(xiàn)違規(guī)訪問(wèn)受限 的存儲(chǔ)空間時(shí),將越來(lái)越難以及時(shí)和直接地觀察到。這將導(dǎo)致一個(gè)復(fù)雜系統(tǒng) 的可靠性大幅度下降。
傳統(tǒng)的開(kāi)發(fā)調(diào)試手段,是逐個(gè)屏蔽各功能模塊,通過(guò)一一推斷排查的方 式獲得調(diào)試結(jié)果。釆用這種逐個(gè)屏蔽的做法來(lái)跟蹤模塊對(duì)總線的訪問(wèn)操作, 不僅費(fèi)時(shí)費(fèi)力,效率低下,而且無(wú)法獲知潛在的未暴露在系統(tǒng)錯(cuò)誤中的違規(guī) 訪問(wèn)操作,因此有必要對(duì)現(xiàn)有的調(diào)試技術(shù)加以改進(jìn)。
對(duì)于具有類(lèi)似應(yīng)用場(chǎng)景的嵌入式系統(tǒng)也存在相似的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種總線的實(shí)時(shí)跟蹤系統(tǒng),可以很方 便地實(shí)現(xiàn)對(duì)模塊總線的訪問(wèn)和特定事件的實(shí)時(shí)監(jiān)測(cè)。
為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種總線的實(shí)時(shí)跟蹤系統(tǒng),包括 要跟蹤的總線以及與該總線連接的至少 一 實(shí)時(shí)跟蹤裝置,該實(shí)時(shí)跟蹤裝置至
少包括觸發(fā)條件配置單元、觸發(fā)信號(hào)生成單元、跟蹤單元和存儲(chǔ)單元,其中
所述觸發(fā)條件配置單元用于配置實(shí)時(shí)跟蹤的觸發(fā)條件參數(shù);
所述觸發(fā)信號(hào)生成單元包括一 IO接口和一比較電路,用于在跟蹤使能 信號(hào)有效后,通過(guò)該10接口實(shí)時(shí)^^查要跟蹤的總線上的總線訪問(wèn)信息并在 該比較電路中對(duì)總線訪問(wèn)信息和觸發(fā)條件參數(shù)進(jìn)行比較,經(jīng)根據(jù)設(shè)定觸發(fā)條 件生成的該比較電路的運(yùn)算邏輯判定為滿足觸發(fā)條件時(shí),生成一觸發(fā)信號(hào)通 知跟蹤單元開(kāi)始跟蹤;
所述跟蹤單元包括一 IO接口和一存儲(chǔ)控制電路,用于在收到觸發(fā)信號(hào) 后,通過(guò)該IO接口將要跟蹤的總線上的總線訪問(wèn)信息引入,通過(guò)該存儲(chǔ)控 制電路將全部或部分總線訪問(wèn)信息保存到存儲(chǔ)單元;
所述存儲(chǔ)單元用于保存總線訪問(wèn)信息。
進(jìn)一步地,上述實(shí)時(shí)跟蹤系統(tǒng)還可具有以下特點(diǎn)還包括保存條件配置 單元,該保存條件配置單元與所述跟蹤單元連接,其中
所述保存條件配置單元用于配置總線信息的保存條件參數(shù);
所述跟蹤單元還包括一比較電路,將總線訪問(wèn)信息接入后,在該比較電 路中比較總線訪問(wèn)信息和保存條件參數(shù),經(jīng)根據(jù)設(shè)定保存條件生成的該比較 電路的運(yùn)算邏輯判定為滿足保存條件的總線訪問(wèn)信息,由所述存儲(chǔ)控制電路 實(shí)時(shí)寫(xiě)入到存儲(chǔ)單元。
進(jìn)一步地,上述實(shí)時(shí)跟蹤系統(tǒng)還可具有以下特點(diǎn)
所述觸發(fā)條件配置單元中配置的觸發(fā)條件參數(shù)為觸發(fā)跟蹤的起始地址、 訪問(wèn)類(lèi)型、訪問(wèn)模塊標(biāo)識(shí)、設(shè)定訪問(wèn)數(shù)據(jù)和特定二進(jìn)制序列中的一種或多種;所述保存條件配置單元中配置的保存條件參數(shù)為訪問(wèn)地址和訪問(wèn)數(shù)據(jù) 中的一種或多種。
進(jìn)一步地,上述實(shí)時(shí)跟蹤系統(tǒng)還可具有以下特點(diǎn)
還包括結(jié)束條件配置單元,用于配置結(jié)束條件參數(shù)的閾值;且所述跟蹤 單元在跟蹤過(guò)程中,實(shí)時(shí)檢測(cè)所述結(jié)束條件參數(shù)的當(dāng)前值,如已達(dá)到結(jié)束條 件參數(shù)的閾值則結(jié)束跟蹤;和/或
還包括中斷條件配置單元,用于配置中繼條件參數(shù)的閾值;且所述跟蹤 單元在跟蹤過(guò)程中,實(shí)時(shí)檢測(cè)所述中斷條件參數(shù)的當(dāng)前值,如已達(dá)到中斷條 件參數(shù)的閾值則向調(diào)試裝置發(fā)出中斷。
進(jìn)一步地,上述實(shí)時(shí)跟蹤系統(tǒng)還可具有以下特點(diǎn)
所述結(jié)束條件參數(shù)和中斷條件參數(shù)均為保存的總線訪問(wèn)信息的數(shù)據(jù)量, 且所述結(jié)束條件參數(shù)的閾值和中斷條件參數(shù)的閾值小于等于所述存儲(chǔ)單元 的容量。
進(jìn)一步地,上述實(shí)時(shí)跟蹤系統(tǒng)還可具有以下特點(diǎn)
所述要跟蹤的總線為片上集成系統(tǒng)總線系統(tǒng)中的存儲(chǔ)器仲裁模塊與功 能模塊之間,或者存儲(chǔ)器仲裁模塊與存儲(chǔ)裝置之間的總線。
上總線的實(shí)時(shí)跟蹤系統(tǒng)簡(jiǎn)單有效地實(shí)現(xiàn)了對(duì)模塊總線的訪問(wèn)或特定事 件的實(shí)時(shí)監(jiān)測(cè),可以獨(dú)立和各種總線組成完整的可調(diào)試總線系統(tǒng),并且對(duì)總 線本身時(shí)序無(wú)影響,面積小,可移植性高。特別適用于SoC系統(tǒng)。
本發(fā)明所要解決的又一技術(shù)問(wèn)題是提供一種總線的實(shí)時(shí)跟蹤方法,可以 實(shí)時(shí)監(jiān)測(cè)模塊總線的訪問(wèn)或特定事件。
為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種總線的實(shí)時(shí)跟蹤方法,應(yīng)用 于包括要跟蹤的總線和與該總線連接的至少 一實(shí)時(shí)跟蹤裝置的跟蹤系統(tǒng),對(duì) 一-各要跟蹤的總線進(jìn)行實(shí)時(shí)跟蹤時(shí),該實(shí)時(shí)跟蹤方法包括
根據(jù)欲要跟蹤的總線訪問(wèn)信息,在所述實(shí)時(shí)跟蹤裝置中配置實(shí)時(shí)跟蹤的 觸發(fā)條件參數(shù);打開(kāi)跟蹤功能后,所述實(shí)時(shí)跟蹤裝置實(shí)時(shí)檢查總線上的總線訪問(wèn)信息并 與觸發(fā)條件參數(shù)比較,在符合設(shè)定觸發(fā)條件時(shí)開(kāi)始跟蹤,并保存跟蹤結(jié)束前 的全部或部分總線訪問(wèn)信息。
進(jìn)一步地,上述實(shí)時(shí)跟蹤方法還可具有以下特點(diǎn)
打開(kāi)跟蹤功能前,還在所述實(shí)時(shí)跟蹤裝置中配置總線信息的保存條件參
數(shù);
開(kāi)始跟蹤后,所述實(shí)時(shí)跟蹤裝置按照配置的保存條件參數(shù),實(shí)時(shí)保存符 合設(shè)定保存條件的總線訪問(wèn)信息。
進(jìn)一步地,上述實(shí)時(shí)跟蹤方法還可具有以下特點(diǎn)
所述觸發(fā)條件參數(shù)為觸發(fā)跟蹤的起始地址、訪問(wèn)類(lèi)型 設(shè)定訪問(wèn)數(shù)據(jù)和特定二進(jìn)制序列中的一種或多種;
所述保存條件參數(shù)為訪問(wèn)地址和訪問(wèn)數(shù)據(jù)中的 一種或
進(jìn)一步地,上述實(shí)時(shí)跟蹤方法還可具有以下特點(diǎn)
打開(kāi)跟蹤功能前,還在所述實(shí)時(shí)跟蹤裝置中配置結(jié)束條件參數(shù)的閾值, 所述實(shí)時(shí)跟蹤裝置在跟蹤過(guò)程中,實(shí)時(shí)檢測(cè)所述結(jié)束條件參數(shù)的當(dāng)前值,如 已達(dá)到所述結(jié)束條件參數(shù)的閾值則結(jié)束跟蹤;和/或
打開(kāi)跟蹤功能前,還在所述實(shí)時(shí)跟蹤裝置中配置中斷條件參數(shù)的閾值, 所述實(shí)時(shí)跟蹤裝置在跟蹤過(guò)程中,實(shí)時(shí)檢測(cè)所述中斷條件參數(shù)的當(dāng)前值,如 已達(dá)到所述中斷條件參數(shù)的閾值則向調(diào)試裝置發(fā)出中斷。
進(jìn)一步地,上述實(shí)時(shí)跟蹤方法還可具有以下特點(diǎn)
所述結(jié)束條件參數(shù)和中斷條件參數(shù)均為保存的總線訪問(wèn)信息的數(shù)據(jù)量, 且所述結(jié)束條件參數(shù)的閾值和中斷條件參數(shù)的閾值小于等于所述存儲(chǔ)單元 的容量。
進(jìn)一步地,上述實(shí)時(shí)跟蹤方法還可具有以下特點(diǎn)
所述要跟蹤的總線為片上集成系統(tǒng)總線系統(tǒng)中的存儲(chǔ)器仲裁模塊與功 能模塊之間,或者存儲(chǔ)器仲裁模塊與存儲(chǔ)裝置之間的總線。
、訪問(wèn)才莫塊標(biāo)識(shí)、 多種。上述總線的實(shí)時(shí)跟蹤方法,可以實(shí)時(shí)監(jiān)測(cè)任意模塊總線的訪問(wèn)或特定事 件,提供定位違規(guī)訪問(wèn)操作的信息,還可主動(dòng)通知系統(tǒng)來(lái)修復(fù)或規(guī)避錯(cuò)誤。 特別適用于SoC系統(tǒng)。
本發(fā)明所要解決的再一技術(shù)問(wèn)題是提供一種基于上述總線實(shí)時(shí)跟蹤方 法的調(diào)試方法,可以利用實(shí)時(shí)跟蹤到的總線訪問(wèn)信息,方便、快速地定位違 規(guī)訪問(wèn)操作。
為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了 一種基于上述總線實(shí)時(shí)跟蹤方法 的調(diào)試方法,在保存了跟蹤到的總線訪問(wèn)信息后,調(diào)試裝置讀取實(shí)時(shí)跟蹤時(shí) 保存的總線訪問(wèn)信息,利用該總線訪問(wèn)信息進(jìn)行調(diào)試。
上述調(diào)試方法,可以利用實(shí)時(shí)監(jiān)測(cè)任意模塊總線的訪問(wèn)或特定事件,方
便、快速地定位違規(guī)訪問(wèn)操作,特別適用于SoC系統(tǒng)。
圖1為現(xiàn)有技術(shù)中常見(jiàn)的SoC總線系統(tǒng)示意圖。
圖2為本發(fā)明實(shí)施例實(shí)時(shí)跟蹤系統(tǒng)的結(jié)構(gòu)圖。
圖3為本發(fā)明實(shí)施例實(shí)時(shí)跟蹤調(diào)試方法的流程圖。
具體實(shí)施例方式
以下將結(jié)合附圖及實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明的實(shí)施方式。
圖2所示為本實(shí)施例基于片上集成系統(tǒng)(SoC)總線系統(tǒng)的實(shí)時(shí)跟蹤系 統(tǒng), 一個(gè)實(shí)時(shí)跟蹤裝置連接到存儲(chǔ)器仲裁模塊與一模塊之間的總線上,也可 以連接到存儲(chǔ)器仲裁模塊與 一存儲(chǔ)裝置之間的總線上。在利用該實(shí)時(shí)跟蹤系 統(tǒng)進(jìn)行調(diào)試時(shí),完整的調(diào)試系統(tǒng)中還應(yīng)包括一調(diào)試裝置(圖中未示出),用 于讀取實(shí)時(shí)跟蹤裝置保存的總線訪問(wèn)信息(控制信號(hào)、讀寫(xiě)地址、數(shù)據(jù)等),
完成調(diào)試。
圖2中還示出了實(shí)時(shí)跟蹤裝置的結(jié)構(gòu),包括觸發(fā)條件配置單元、觸發(fā) 信號(hào)生成單元、保存條件配置單元、跟蹤單元和存儲(chǔ)單元。其中觸發(fā)條件配置單元包括一個(gè)或多個(gè)用于配置實(shí)時(shí)跟蹤的觸發(fā)條件參數(shù) 的寄存器,該觸發(fā)條件參數(shù)可以是用于觸發(fā)跟蹤的起始地址、訪問(wèn)類(lèi)型(讀 或?qū)?、訪問(wèn)模塊標(biāo)識(shí)和設(shè)定訪問(wèn)數(shù)據(jù)中的一種或多種,也可以是其他任何 在總線上傳輸?shù)男畔⒓纯偩€訪問(wèn)信息,也可以是特定的二進(jìn)制序列。
觸發(fā)信號(hào)生成單元用包括IO接口和比較電路的邏輯電路實(shí)現(xiàn),與總線、
觸發(fā)條件配置單元和跟蹤單元連接,用于在跟蹤使能信號(hào)有效后,通過(guò)IO
接口實(shí)時(shí)檢查總線上的總線訪問(wèn)信息并在比較電路中與觸發(fā)條件參數(shù)比較, 經(jīng)根據(jù)設(shè)定觸發(fā)條件(包括總線訪問(wèn)信息與觸發(fā)條件參數(shù)之間需滿足的邏輯 關(guān)系)生成的比較電路運(yùn)算邏輯(比較、與、或、非等等各種邏輯運(yùn)算)判 定為滿足觸發(fā)條件(如總線訪問(wèn)信息中具有配置的起始地址、訪問(wèn)模塊標(biāo)識(shí)、 設(shè)定訪問(wèn)數(shù)據(jù)等)時(shí),生成一觸發(fā)信號(hào)通知跟蹤單元開(kāi)始跟蹤。在一特例中, 可以在跟蹤功能打開(kāi)后即生成觸發(fā)信號(hào),此時(shí)可認(rèn)為任何總線訪問(wèn)信息均符 合觸發(fā)條件,此時(shí)可通過(guò)將觸發(fā)條件參數(shù)配置為與其比較的任何總線訪問(wèn)信 息均可產(chǎn)生觸發(fā)信號(hào)的特定二進(jìn)制序列。
保存條件配置單元包括一個(gè)或多個(gè)用于配置總線信息的保存條件參數(shù) 的寄存器。在跟蹤保存的空間有限時(shí),總線訪問(wèn)信息難以完全保存,根據(jù)調(diào) 試需要可以只保存關(guān)心的總線訪問(wèn)信息,如訪問(wèn)地址、訪問(wèn)數(shù)據(jù)及其他任何 總線訪問(wèn)信息中的一種或多種。當(dāng)然,如果跟蹤信息的存儲(chǔ)單元有足夠的存 儲(chǔ)空間,也可以不配置保存條件。
跟蹤單元用包括IO接口 (可與觸發(fā)信號(hào)生成單元共用)、比4交電^各和
存儲(chǔ)控制電路的邏輯電路實(shí)現(xiàn),與總線、保存條件配置單元、觸發(fā)信號(hào)生成
單元和存儲(chǔ)單元相連,用于在收到觸發(fā)信號(hào)后,通過(guò)IO接口將總線訪問(wèn)信
號(hào)接入并在比較電路中與配置的保存條件參數(shù)比較,經(jīng)比較電路運(yùn)算邏輯 (根據(jù)保存條件生成)判定為滿足保存條件的總線訪問(wèn)信息由存儲(chǔ)控制電路 實(shí)時(shí)寫(xiě)入到存儲(chǔ)單元。
存儲(chǔ)單元用于保存全部或部分的總線訪問(wèn)信息,如可采用SRAM,主處 理器可以直接訪問(wèn)該SRAM,獲取跟蹤到的總線訪問(wèn)信息。該SRAM可以 是獨(dú)立的SRAM,也可以復(fù)用片內(nèi)已有SRAM,以節(jié)省面積。
可選的,在跟蹤過(guò)程中跟蹤裝置可以主動(dòng)停止跟蹤,此時(shí)可以增加一結(jié)束條件配置單元,包括一個(gè)或多個(gè)寄存器,用于配置實(shí)時(shí)跟蹤的結(jié)束條件參 數(shù)的閾值。跟蹤單元在跟蹤過(guò)程中,實(shí)時(shí)檢測(cè)結(jié)束條件參數(shù)的當(dāng)前值,如已 達(dá)到該閾值則結(jié)束跟蹤。如,在需要保存的跟蹤信息可能會(huì)大于存儲(chǔ)單元的 容量時(shí),該結(jié)束條件可以配置為一數(shù)據(jù)量,如1K個(gè)字節(jié)等,小于存儲(chǔ)單元 的容量即可。在跟蹤單元中設(shè)置一計(jì)數(shù)器,對(duì)已保存的跟蹤信息的數(shù)據(jù)量進(jìn) 行統(tǒng)計(jì),如達(dá)到配置的數(shù)據(jù)量即停止跟蹤。
可選地,在跟蹤過(guò)程中跟蹤裝置可以主動(dòng)通知調(diào)試裝置。此時(shí)需增加一 中斷條件配置單元,包括一個(gè)或多個(gè)用于配置中斷條件參數(shù)的閾值的寄存 器。該中斷條件參數(shù)如可以是已保存的跟蹤信息的數(shù)據(jù)量,也可以是某個(gè)特 定信息,如特定地址、特定數(shù)據(jù)等。相應(yīng)地,跟蹤單元在跟蹤過(guò)程中,實(shí)時(shí) 檢測(cè)中繼條件參數(shù)的當(dāng)前值,如已達(dá)到相應(yīng)閾值(如計(jì)數(shù)器統(tǒng)計(jì)的已保存的 跟蹤信息的數(shù)據(jù)量達(dá)到設(shè)定值)則向調(diào)試裝置發(fā)出中斷。調(diào)試裝置的中斷服 務(wù)程序可以從存儲(chǔ)單元中讀取數(shù)據(jù)或進(jìn)行其他調(diào)試相關(guān)的操作。發(fā)生中斷信 號(hào)后,跟蹤單元還可以繼續(xù)對(duì)總線訪問(wèn)信息進(jìn)行跟蹤。
明顯,上述實(shí)時(shí)跟蹤裝置并不局限于用在SoC系統(tǒng)中,根據(jù)具體應(yīng)用
調(diào)整觸發(fā)條件和保存條件等,可以獨(dú)立和各種總線組成完整的實(shí)時(shí)跟蹤調(diào)試 系統(tǒng),對(duì)總線本身的時(shí)序無(wú)影響,面積小,可移植性高,并且能根據(jù)需要在 硬件結(jié)構(gòu)上方便地進(jìn)行復(fù)制和擴(kuò)展,保證調(diào)試的規(guī)??筛鶕?jù)項(xiàng)目需要快速定 制,快速移植。
基于以上系統(tǒng),圖3示出了本實(shí)施例實(shí)時(shí)跟蹤調(diào)試方法的流程圖,描述 了對(duì)一路總線訪問(wèn)信息進(jìn)行實(shí)時(shí)跟蹤的步驟,包括
步驟S310,根據(jù)欲要跟蹤的總線訪問(wèn)信息,在實(shí)時(shí)跟蹤裝置中配置實(shí) 時(shí)跟蹤的觸發(fā)條件參數(shù)和總線信息的保存條件參數(shù);
在該步中,還可以選4奪性地配置跟蹤的結(jié)束條件參凄t和在跟蹤過(guò)程中產(chǎn) 生中斷的中斷條件參數(shù)。所述保存條件參數(shù)也是可選的。
步驟S320,打開(kāi)跟蹤功能后,實(shí)時(shí)跟蹤裝置實(shí)時(shí)^r查總線上的總線訪問(wèn)信息并與觸發(fā)條件參數(shù)比較,在符合設(shè)定觸發(fā)條件時(shí)開(kāi)始跟蹤;
步驟S330,實(shí)時(shí)跟蹤裝置按照配置的保存條件參數(shù),實(shí)時(shí)保存符合設(shè) 定保存條件的總線訪問(wèn)信息,直到跟蹤結(jié)束;
以上步驟已完成了對(duì)總線訪問(wèn)信息的實(shí)時(shí)跟蹤。
步驟S340,調(diào)試裝置讀取實(shí)時(shí)跟蹤時(shí)保存的總線訪問(wèn)信息,利用該總 線訪問(wèn)信息進(jìn)行調(diào)試。
根據(jù)調(diào)試的情況,還可以重新產(chǎn)生更加符合需要的實(shí)時(shí)跟蹤硬件,再?gòu)?步驟310開(kāi)始下一次調(diào)試。這里主要關(guān)心跟蹤信息的實(shí)時(shí)獲取,對(duì)于具體調(diào) 試方法不做任何限制。
可選的,還可以配置實(shí)時(shí)跟蹤的結(jié)束條件參數(shù)的閾值,在跟蹤過(guò)程中, 實(shí)時(shí)跟蹤裝置實(shí)時(shí)檢測(cè)結(jié)束條件參數(shù)的當(dāng)前值,如達(dá)到該閾值則結(jié)束跟蹤。 如,配置該結(jié)束條件參數(shù)的閾值為一數(shù)據(jù)量,跟蹤時(shí)對(duì)已保存的跟蹤信息的 凄t據(jù)量進(jìn)行統(tǒng)計(jì),如達(dá)到該數(shù)據(jù)量閾值即停止跟蹤。跟蹤結(jié)束也可以由調(diào)試 裝置來(lái)觸發(fā),如置跟蹤結(jié)束使能信號(hào)為有效。
可選地,還可以配置中斷條件參數(shù)的閾值,在跟蹤過(guò)程中,實(shí)時(shí)跟蹤裝 置實(shí)時(shí)檢測(cè)中斷條件參數(shù)的當(dāng)前值,如達(dá)到該閾值則向調(diào)試裝置發(fā)出中斷信 號(hào)。發(fā)生中斷信號(hào)后,可以繼續(xù)對(duì)總線訪問(wèn)信息進(jìn)行實(shí)時(shí)跟蹤。如無(wú)中斷, 則在軟件運(yùn)行結(jié)束后,讀取實(shí)時(shí)跟蹤過(guò)程保存的總線訪問(wèn)信息,進(jìn)行進(jìn)一步 的分析調(diào)試。
下面描述2個(gè)簡(jiǎn)單的3艮蹤調(diào)試的示例
其一,對(duì)一功能模塊和存儲(chǔ)器仲裁單元之間的總線跟蹤時(shí),將觸發(fā)條件 配置為功能模塊的訪問(wèn)類(lèi)型(讀和寫(xiě)),保存條件配置為訪問(wèn)數(shù)據(jù)即只保存 總線訪問(wèn)信息中的訪問(wèn)數(shù)據(jù)。這樣可以跟蹤該功能模塊的某段讀寫(xiě)數(shù)據(jù)。
其二,對(duì)存儲(chǔ)器仲裁單元和一存儲(chǔ)裝置之間的總線跟蹤時(shí),將觸發(fā)條件 配置為訪問(wèn)存儲(chǔ)的某個(gè)特定地址,將保存條件配置為訪問(wèn)的模塊序號(hào)。這樣 就可以跟蹤對(duì)該地址讀寫(xiě)的所有功能模塊,從而方便地定位對(duì)該存儲(chǔ)裝置進(jìn) 行違規(guī)訪問(wèn)操作的功能模塊。
以上是以對(duì)功能模塊與存儲(chǔ)器仲裁單元之間的 一路 線進(jìn)行跟蹤為例進(jìn)行說(shuō)明的,在其他實(shí)施例和實(shí)際應(yīng)用中,可以在功能模塊與存儲(chǔ)器仲裁單 元之間的多條總線上接入實(shí)時(shí)跟蹤調(diào)試裝置,實(shí)現(xiàn)對(duì)多條總線的實(shí)時(shí)跟蹤。 對(duì)于不同總線,跟蹤的目的往往不同,因此對(duì)每路總線所配置的實(shí)時(shí)跟蹤的 觸發(fā)條件、總線信息的保存條件、跟蹤結(jié)束條件和產(chǎn)生中斷的條件可以不同, 以實(shí)現(xiàn)不同的跟蹤功能。而對(duì)同一實(shí)時(shí)跟蹤裝置,也可以通過(guò)觸發(fā)條件、保 存條件等的不同配置和/或硬件電路的調(diào)整來(lái)實(shí)現(xiàn)對(duì)同 一總線的不同跟蹤功 能。同 一 實(shí)時(shí)跟蹤裝置也可以先后與不同模塊與存儲(chǔ)器仲裁單元之間的總線 連接,逐一 實(shí)現(xiàn)對(duì)這些總線的訪問(wèn)信息的跟蹤。
本發(fā)明提供的簡(jiǎn)單有效的實(shí)時(shí)跟蹤調(diào)試技術(shù),通過(guò)實(shí)時(shí)觀測(cè)任意功能模 塊或存儲(chǔ)裝置的總線訪問(wèn)或特定事件,通知系統(tǒng)來(lái)修復(fù)或規(guī)避錯(cuò)誤,保證了 復(fù)雜系統(tǒng)的可靠性。
雖然本發(fā)明所揭露的實(shí)施方式如上,但所述的內(nèi)容只是為了便于理解本 發(fā)明而采用的實(shí)施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬技術(shù)領(lǐng)域內(nèi) 的技術(shù)人員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實(shí)施的 形式上及細(xì)節(jié)上作任何的修改與變化,但本發(fā)明的專(zhuān)利保護(hù)范圍,仍須以所 附的權(quán)利要求書(shū)所界定的范圍為準(zhǔn)。
權(quán)利要求
1、一種總線的實(shí)時(shí)跟蹤系統(tǒng),包括要跟蹤的總線,其特征在于,還包括與該總線連接的至少一實(shí)時(shí)跟蹤裝置,該實(shí)時(shí)跟蹤裝置至少包括觸發(fā)條件配置單元、觸發(fā)信號(hào)生成單元、跟蹤單元和存儲(chǔ)單元,其中所述觸發(fā)條件配置單元用于配置實(shí)時(shí)跟蹤的觸發(fā)條件參數(shù);所述觸發(fā)信號(hào)生成單元包括一IO接口和一比較電路,用于在跟蹤使能信號(hào)有效后,通過(guò)該IO接口實(shí)時(shí)檢查要跟蹤的總線上的總線訪問(wèn)信息并在該比較電路中對(duì)總線訪問(wèn)信息和觸發(fā)條件參數(shù)進(jìn)行比較,經(jīng)根據(jù)設(shè)定觸發(fā)條件生成的該比較電路的運(yùn)算邏輯判定為滿足觸發(fā)條件時(shí),生成一觸發(fā)信號(hào)通知跟蹤單元開(kāi)始跟蹤;所述跟蹤單元包括一IO接口和一存儲(chǔ)控制電路,用于在收到觸發(fā)信號(hào)后,通過(guò)該IO接口將要跟蹤的總線上的總線訪問(wèn)信息引入,通過(guò)該存儲(chǔ)控制電路將全部或部分總線訪問(wèn)信息保存到存儲(chǔ)單元;所述存儲(chǔ)單元用于保存總線訪問(wèn)信息。
2、 如權(quán)利要求1所述的實(shí)時(shí)跟蹤系統(tǒng),其特征在于,還包括保存條件 配置單元,該保存條件配置單元與所述跟蹤單元連接,其中所述保存條件配置單元用于配置總線信息的保存條件參數(shù);所述跟蹤單元還包括一比較電路,將總線訪問(wèn)信息接入后,在該比較電 路中比較總線訪問(wèn)信息和保存條件參數(shù),經(jīng)根據(jù)設(shè)定保存條件生成的該比較 電路的運(yùn)算邏輯判定為滿足保存條件的總線訪問(wèn)信息,由所述存儲(chǔ)控制電路 實(shí)時(shí)寫(xiě)入到存儲(chǔ)單元。
3、 如權(quán)利要求2所述的實(shí)時(shí)跟蹤系統(tǒng),其特征在于所述觸發(fā)條件配置單元中配置的觸發(fā)條件參數(shù)為觸發(fā)跟蹤的起始地址、 訪問(wèn)類(lèi)型、訪問(wèn)模塊標(biāo)識(shí)、設(shè)定訪問(wèn)數(shù)據(jù)和特定二進(jìn)制序列中的 一種或多種;所述保存條件配置單元中配置的保存條件參數(shù)為訪問(wèn)地址和訪問(wèn)數(shù)據(jù) 中的一種或多種。
4、 如權(quán)利要求1或2或3所述的實(shí)時(shí)跟蹤系統(tǒng),其特征在于還包括結(jié)束條件配置單元,用于配置結(jié)束條件參數(shù)的閾值;且所述跟蹤 單元在跟蹤過(guò)程中,實(shí)時(shí)檢測(cè)所述結(jié)束條件參數(shù)的當(dāng)前值,如已達(dá)到結(jié)束條 件參數(shù)的閾值則結(jié)束跟蹤;和/或還包括中斷條件配置單元,用于配置中繼條件參數(shù)的閾值;且所述跟蹤 單元在跟蹤過(guò)程中,實(shí)時(shí)檢測(cè)所述中斷條件參數(shù)的當(dāng)前值,如已達(dá)到中斷條 件參數(shù)的閾值則向調(diào)試裝置發(fā)出中斷。
5、 如權(quán)利要求4所述的實(shí)時(shí)跟蹤系統(tǒng),其特征在于所述結(jié)束條件參數(shù)和中斷條件參數(shù)均為保存的總線訪問(wèn)信息的凄t據(jù)量, 且所述結(jié)束條件參數(shù)的閾值和中斷條件參數(shù)的閾值小于等于所述存儲(chǔ)單元的容量。
6、 如^l利要求1或2或3或5所述的實(shí)時(shí)^J宗系統(tǒng),其特4正在于所述要跟蹤的總線為片上集成系統(tǒng)總線系統(tǒng)中的存儲(chǔ)器仲裁模塊與功 能模塊之間,或者存儲(chǔ)器仲裁模塊與存儲(chǔ)裝置之間的總線。
7、 一種總線的實(shí)時(shí)跟蹤方法,應(yīng)用于包括要跟蹤的總線和與該總線連 接的至少 一 實(shí)時(shí)跟蹤裝置的跟蹤系統(tǒng),對(duì) 一路要跟蹤的總線進(jìn)行實(shí)時(shí)跟蹤 時(shí),該實(shí)時(shí)^艮蹤方法包:fe:根據(jù)欲要跟蹤的總線訪問(wèn)信息,在所述實(shí)時(shí)跟蹤裝置中配置實(shí)時(shí)跟蹤的 觸發(fā)條件參數(shù);打開(kāi)跟蹤功能后,所述實(shí)時(shí)跟蹤裝置實(shí)時(shí)^r查總線上的總線訪問(wèn)信息并 與觸發(fā)條件參數(shù)比較,在符合設(shè)定觸發(fā)條件時(shí)開(kāi)始跟蹤,并保存跟蹤結(jié)束前 的全部或部分總線訪問(wèn)信息。
8、 如權(quán)利要求7所述的實(shí)時(shí)跟蹤方法,其特征在于 打開(kāi)跟蹤功能前,還在所述實(shí)時(shí)跟蹤裝置中配置總線信息的保存條件參數(shù);開(kāi)始跟蹤后,所述實(shí)時(shí)跟蹤裝置按照配置的保存條件參數(shù),實(shí)時(shí)保存符合設(shè)定保存條件的總線訪問(wèn)信息。
9、 如權(quán)利要求8所述的實(shí)時(shí)跟蹤方法,其特征在于所述觸發(fā)條件參數(shù)為觸發(fā)跟蹤的起始地址、訪問(wèn)類(lèi)型、訪問(wèn)模塊標(biāo)識(shí)、 設(shè)定訪問(wèn)數(shù)據(jù)和特定二進(jìn)制序列中的一種或多種;所述保存條件參^:為訪問(wèn)地址和訪問(wèn)數(shù)據(jù)中的 一種或多種。
10、 如權(quán)利要求7或8或9所述的實(shí)時(shí)跟蹤方法,其特征在于打開(kāi)跟蹤功能前,還在所述實(shí)時(shí)跟蹤裝置中配置結(jié)束條件參數(shù)的閾值, 所述實(shí)時(shí)跟蹤裝置在跟蹤過(guò)程中,實(shí)時(shí)檢測(cè)所述結(jié)束條件參數(shù)的當(dāng)前值,如 已達(dá)到所述結(jié)束條件參數(shù)的閾值則結(jié)束跟蹤;和/或打開(kāi)跟蹤功能前,還在所述實(shí)時(shí)跟蹤裝置中配置中斷條件參數(shù)的閾值, 所述實(shí)時(shí)跟蹤裝置在跟蹤過(guò)程中,實(shí)時(shí)檢測(cè)所述中斷條件參數(shù)的當(dāng)前值,如 已達(dá)到所述中斷條件參數(shù)的閾值則向調(diào)試裝置發(fā)出中斷。
11、 如權(quán)利要求IO所述的實(shí)時(shí)跟蹤方法,其特征在于所述結(jié)束條件參數(shù)和中斷條件參數(shù)均為保存的總線訪問(wèn)信息的數(shù)據(jù)量, 且所述結(jié)束條件參數(shù)的閾值和中斷條件參數(shù)的閾值小于等于所述存儲(chǔ)單元 的容量。
12、 如權(quán)利要求7或8或9或11所述的實(shí)時(shí)跟蹤系統(tǒng),其特征在于所述要跟蹤的總線為片上集成系統(tǒng)總線系統(tǒng)中的存儲(chǔ)器仲裁模塊與功 能模塊之間,或者存儲(chǔ)器仲裁模塊與存儲(chǔ)裝置之間的總線。
13、 一種基于權(quán)利要求7中總線實(shí)時(shí)跟蹤方法的調(diào)試方法,其特征在于在保存了跟蹤到的總線訪問(wèn)信息后,調(diào)試裝置讀取實(shí)時(shí)跟蹤時(shí)保存的總 線訪問(wèn)信息,利用該總線訪問(wèn)信息進(jìn)行調(diào)試。
全文摘要
一種總線的實(shí)時(shí)跟蹤系統(tǒng)及相應(yīng)的跟蹤、調(diào)試方法,該實(shí)時(shí)跟蹤系統(tǒng)包括要跟蹤的總線以及實(shí)時(shí)跟蹤裝置,該實(shí)時(shí)跟蹤裝置包括觸發(fā)條件配置單元,用于配置實(shí)時(shí)跟蹤的觸發(fā)條件參數(shù);觸發(fā)信號(hào)生成單元,用于在跟蹤使能信號(hào)有效后,檢查要跟蹤的總線上的總線訪問(wèn)信息并與觸發(fā)條件參數(shù)進(jìn)行比較,滿足觸發(fā)條件時(shí),生成一觸發(fā)信號(hào);跟蹤單元,用于在收到觸發(fā)信號(hào)后,將要跟蹤的總線上的總線訪問(wèn)信息引入,全部或部分總線訪問(wèn)信息保存到存儲(chǔ)單元;存儲(chǔ)單元用于保存總線訪問(wèn)信息。本發(fā)明還提供了相應(yīng)的跟蹤方法,另外,調(diào)試裝置還可讀取實(shí)時(shí)跟蹤時(shí)保存的總線訪問(wèn)信息用于調(diào)試。本發(fā)明可以很方便地實(shí)現(xiàn)對(duì)模塊總線的訪問(wèn)和特定事件的實(shí)時(shí)監(jiān)測(cè)。
文檔編號(hào)G06F13/14GK101639816SQ200910084560
公開(kāi)日2010年2月3日 申請(qǐng)日期2009年5月21日 優(yōu)先權(quán)日2009年5月21日
發(fā)明者川 林 申請(qǐng)人:北京中星微電子有限公司