新四季網

一種基於虛擬斷點指令的無縫片上系統調試方法

2023-06-02 21:53:16

專利名稱:一種基於虛擬斷點指令的無縫片上系統調試方法
技術領域:
本發明屬於集成電路領域,具體涉及一種片上系統的調試方法。
背景技術:
國際半導體技術路線圖(ITRS:International Technology Roadmap for Semiconductors)指出,調試和定位問題所需要的時間,將會隨著工藝的進步呈指數型 增長° 據文獻 AReconfigurable Design-for-Debug Infrastructure for SoCs(M. Abramovici,Paul Bradley,Kumar Dwarakanah,et al. ,In Proceedings ACM/IEEE Design Automation Conference (DAC), 2006 :7_12)所述,在整個片上系統的設計過程中,從第一次 投片到最後成功的實現所有功能,硬體調試的時間已經接近整個時間的35%,而且這個數 字隨著集成度的提高還會增加。以調試靈活性和覆蓋面為驅動的片上系統調試方法的設計 中,如何更加合理地設計調試手段,成為了一個重要的挑戰。插入斷點指令的調試方法,是片上系統調試的一種有效且靈活的手段。該方法通 常採用在預期指令流位置插入斷點指令,當調試目標機運行到該指令時,暫停系統的運行 狀態,進入調試狀態,調試用戶可以通過調試手段觀測系統的當前狀態信息。退出調試模式 前,需要把插入的斷點指令置換為原指令,控制目標機從該指令的位置重新開始執行,以此 確保原指令運行序列的正確性。另外,調試用戶沒有刪除斷點指令之前,是希望該斷點指令 一直有效的,這樣,當指令流循環運行到此位置時,該斷點指令仍然有效,以此實現調試用 戶對某一特定狀態的監測。若按照上述方法,進行斷點指令插入設計時,將出現如附圖1、2所示情況。附圖1 中,在預期的A位置插入斷點指令,在斷點指令執行後,調試用戶介入,退出調試之前,恢復 原A位置的指令。插入的斷點指令被執行了一次後,就被置換回原來指令,那麼如果斷點指 令為循環體內的指令,再一次執行到該位置時,已沒有斷點指令。換句話說,在調試用戶沒 有刪除斷點的前提下,斷點指令在執行一次後,被自動清除。附圖2中,在預期的A位置插入斷點指令,在斷點指令執行後,調試用戶介入,退出 調試之前,未恢復原A位置的指令。退出調試後,目標機從A位置開始運行,斷點指令再次 命中,如此無限循環執行,系統異常。

發明內容
調試方法的可控制性,要求調試用戶可以通過調試器有效的控制目標機的運行狀 態和待調程序的執行過程。調試方法的低入侵性,則要求調試過程不改變原有程序的執行 行為,不對原有程序運行結果產生影響。基於上述兩個要求,本發明實現了一種基於虛擬斷 點指令的調試方法。該方法通過在停頓指令後插入虛擬斷點指令(該斷點指令執行時,調 試者不可見),利用該斷點指令執行的時間槽即時間間隙,完成預期斷點指令的恢復,在沒 有被調試刪除之前,預期斷點指令一直有效。同時,確保每次執行到預期斷點指令時,目標 機的正確運行。具體內容如下
—種基於虛擬斷點指令的無縫片上系統調試方法,包括如下步驟在預期插入斷 點指令的A位置,插入預期斷點指令,目標機運行到該預期斷點指令時,進入調試模式,打 開調試窗口,調試用戶介入調試;在退出調試模式前,將A位置的原指令恢復,在目標機指 令流中下一條指令位置,稱之為B位置,插入一個虛擬斷點指令,利用該虛擬斷點指令執行 的時間槽,完成預期斷點指令的恢復,關閉調試窗口,退出調試模式;所述虛擬斷點指令在 調試運行過程中用戶不可見。本發明的有益效果是所述方法無需用戶幹預,實現一次插入斷點後,斷點行為持 續有效,直至用戶將斷點清除,為嵌入式片上系統的調試提供了靈活且高效的手段。


圖I是預期插入斷點指令一次有效運行示意圖。圖2是預期插入斷點循環執行運行示意圖。圖3是本發明插入虛擬斷點指令運行示意圖。圖4是本發明的互聯結構示意圖。
具體實施例方式下面結合附圖對本發明做詳細描述。所述方法的實現結構如附圖3所示,A位置為預期插入斷點指令的位置,在所述圖 a中的A位置插入斷點指令,目標機運行到該斷點指令時,進入調試模式,打開調試窗口,調 試用戶介入調試;所述圖b中,實現在退出調試模式前,將A位置的原指令恢復,在目標機指 令流中下一條指令位置,稱之為B位置,插入一個虛擬斷點指令,關閉調試窗口,退出調試 模式。目標機從A位置開始運行,運行到B位置時,虛擬斷點指令被執行,進入調試模式,但 不打開調試窗口,調試用戶不可介入調試,如所述圖c中,利用該時間槽,完成兩個操作,一 是恢復B位置的原指令,二是恢復A位置的斷點指令,退出調試模式,目標機從B位置開始 繼續運行。如此,即實現了目標機指令流的正確運行,同時A位置的預期插入的斷點指令被 自動恢復。為實現所述方法,首先定義調試系統互連模型,如附圖4所示。該系統包括以下3 個組件目標機目標調試對象,完成指令流的運行,在遇到斷點指令後,暫停目標機運行, 控制調試中間件啟動。接收到調試中間件退出命令後,從斷點指令開始繼續運行。調試中間件調試用戶與目標機的通信樞紐,對調試用戶透明。接收調試窗口命 令,解析為目標機可識別控制信息;控制目標機與調試窗口間通信的開啟與關閉。調試窗口 調試用戶可見,向目標機發送調試命令。在所述調試系統中,為採用一種歸一化的形式實現所述調試方法,本發明將公開 一種R語言,由此來描述所示方法的實現過程。R語言的特點在於第一可觀性,R語言的基本操作為單條原語,同時定義了狀態 控制語句,由系統組件按照具體實現規定其定義,便於方法的描述;第二在時間上和空間上 的順序性,時間上順序性是指R語言描述的操作按照原語序列的順序進行執行,空間上順 序性則是指調試系統中3個組件的特定運行順序;第三閉合性,R語言規定了執行的起始行為start與終結行為end,同時,3個組件的關閉與開啟操作分別閉合。R語言的語法說明如下UiXn :布爾量,n取值0 9,其值false和true,分別表示「假」與「真」;2、Read,地址,標記讀取「地址」中數據,在「標記「中保存該數據;3、Write,數據,地址將「數據「寫入」地址「中;4、If條件goto標識「條件「為」真「時,跳轉至」標識「位置執行,否則順序執行;5、#An :數據標記,n取值0 9,該標記可以記錄數據;6、$Yn :元語標識,n取值0 9,定義了 R語言單條元語;7、#xx :狀態控制語句,該語句包括若干條單條元語;# windows_down :調試窗口關閉;# windows_open :調試窗 口打開;# debugmod_down :調試模式關閉;# debugmod_open :調試模式啟動;# run_on 目標機運行;# run_down 目標機運行結束;# non_bphit :調試模式啟動;8、ta :斷點指令;9、watchpoint_address :預期設置的斷點指令位置;10、PC 目標機當前運行的指令位置;11、NPC :緊鄰PC的下一個指令位置;其中,調試用戶在調試窗口打開期間可見目標機,其餘時刻,目標機對調試用戶透 明。該調試方法,以調試用戶啟動目標機運行為開始,以目標機運行結束為最終結點, 以下R語言描述的方法中,初始化為調試窗口開啟狀態。start # windowns_open;
$Y0 @X0 =false;
Read PC,#A0;
Read watchpoint—address,# A1 ;
If pc=watchpoint—address goto $Y 1 ;
Write ta,watchpoint—address; goto $Y2;
$Y1 @X0=tme;
Read npc,#A2;
Write ta,npc;
Write #A0,PC;
$Y2 # windowns—down ;
# debugmode—down;
#run—on;
If non—bphit goto $Y4;
# debugmode—open;
If @X0= =fault goto start;
Write #A2,NPC; goto $Y0;
end $Y4 #run—down;以下按照執行順序,描述上述方法初始時,系統調試窗口打開,為0X0賦值「假」,讀取目標機暫停時的PC位置的指 令,存入#A0 ;讀取預期設置斷點位置watchpoint_address的指令,存入#A1 ;判斷當前 PC值是否等於watchpoint_address值,以此確認是否由斷點指令的執行導致系統進入 調試模式,若不相等,表明此時目標機暫停的位置,並不是斷點位置,於是在watchpoint_ address位置插入斷點指令ta,轉入$Y2,關閉調試窗口,退出調試模式,目標機從PC位置開 始運行。當目標機運行到設置的斷點位置時,執行斷點指令,進入調試模式,此時判斷0X0 的「真」與「假」。由於前面執行過程中,@X0為「假」,因此,跳轉入start開始執行。為0X0賦值「假」,讀取目標機暫停時的PC位置的指令,存入#A0 ;讀取預期設置 斷點位置watchpoint_address的指令,存入#A1 ;此時,判別條件PC = = watchpoint_ address成立,表明此時調試狀態的進入是由斷點指令執行導致的。跳轉入$Y1,執行虛擬斷點的插入置0X0為「真」,讀取NPC位置的指令,保存#A2,在NPC位置插入斷點指令ta,將保存在#A0的指令恢復到PC位置,轉入$Y2,關閉調試 窗口,退出調試模式,目標機開始從PC位置運行。此時PC位置的指令被置換為原始指令,而NPC位置的指令為斷點指令,當運行到 NPC時,斷點指令執行,再一次進入調試模式,此時0X0為「真」,將NPC位置的指令恢復,取 消虛擬斷點指令,轉入$Y0。在此次由執行虛擬斷點指令帶來的時間槽中,由調試中間件完 成將斷點指令寫入PC位置。此時並沒有打開調試窗口,即本次斷點指令執行對調試用戶透 明。在$Y0處,置0X0為「假」,表徵此時虛擬斷點指令已經處理完成,判斷當前目標機 暫停的PC值與watchpoint_address,由於當前的斷點指令是虛擬加入的,因此,兩者顯然 不同。執行在watchpoint_address位置插入斷點指令ta,退出調試模式,目標機開始運行。當目標機的指令運行序列沒有循環執行,那麼在執行到最後,也沒有再一次的斷 點命中,此時目標機運行結束,如果再一次循環到斷點指令,將按照上述再次重複執行。
權利要求
1.一種基於虛擬斷點指令的無縫片上系統調試方法,包括如下步驟在預期插入斷點指令的A位置,插入預期斷點指令,目標機運行到該預期斷點指令時,進入調試模式,打開調試窗口,調試用戶介入調試;在退出調試模式前,將A位置的原指令恢復,在目標機指令流中下一條指令位置,稱之為B位置,插入一個虛擬斷點指令,利用該虛擬斷點指令執行的時間槽,完成預期斷點指令的恢復,關閉調試窗口,退出調試模式; 其特徵在於所述虛擬斷點指令在調試運行過程中用戶不可見。
全文摘要
本發明實現了一種基於虛擬斷點指令的調試方法,基於調試方法的可控制性和低入侵性,該方法通過在停頓指令後插入虛擬斷點指令(該斷點指令執行時,調試者不可見),利用該斷點指令執行的時間槽,完成預期斷點指令的恢復,在沒有被調試刪除之前,預期斷點指令一直有效。同時,確保每次執行到預期斷點指令時,目標機的正確運行。
文檔編號G06F11/26GK102662809SQ20121005595
公開日2012年9月12日 申請日期2012年3月6日 優先權日2012年3月6日
發明者張麗娜, 張洵穎, 楊博, 裴茹霞 申請人:中國航天科技集團公司第九研究院第七七一研究所

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀