專利名稱:微處理器芯片仿真器及斷點設(shè)置的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種微處理器芯片仿真器。本發(fā)明還涉及一種全速運行用戶程序時設(shè)
置斷點的方法。
背景技術(shù):
在開發(fā)、調(diào)試微處理器芯片中用戶程序時,程序開發(fā)人員所使用的工具是與微處 理器芯片配套的仿真器。與產(chǎn)品芯片不同,在仿真器中使用的是仿真芯片,仿真芯片工作在 用戶模式或者監(jiān)控模式,并始終在這兩種模式間切換。當仿真芯片工作在用戶模式時,執(zhí)行 用戶程序模擬產(chǎn)品芯片的實際工作狀態(tài);當仿真芯片工作在監(jiān)控模式時,執(zhí)行仿真器獨有 的監(jiān)控程序,通過仿真器與仿真芯片間的仿真通道觀察、設(shè)置、修改芯片的狀態(tài)和參數(shù)。
使用仿真器調(diào)試用戶程序時,往往需要用到斷點這一十分常用的調(diào)試手段,斷點 的主要作用是用于觀察程序在全速執(zhí)行的過程中是否能執(zhí)行到設(shè)置了斷點的程序位置,同 時在斷點設(shè)置位置處程序停下后,可以觀察此時存儲器、SFR等的芯片狀態(tài)?,F(xiàn)有的仿真器 都只能在仿真芯片處于監(jiān)控模式下,才能設(shè)置斷點,在全速執(zhí)行用戶程序時是不能設(shè)置斷 點的。使用現(xiàn)有的仿真器,用戶如果啟動仿真器全速執(zhí)行用戶程序后,就不能再直接設(shè)置斷 點,必須先使仿真器停止執(zhí)行用戶程序,使仿真器和仿真芯片進入監(jiān)控模式,再設(shè)置斷點。 如果需要繼續(xù)運行的話,再控制仿真芯片從停止處繼續(xù)運行。這樣處理使用起來不是很方 便。 另外,很多微處理器芯片的仿真過程中需要與其他目標系統(tǒng)配合調(diào)試。例如接觸 式智能卡芯片就需要配合接觸式智能卡讀卡機(目標系統(tǒng))調(diào)試。在接觸式智能卡中,如 果目標系統(tǒng)一定時間內(nèi)沒有收到接觸式智能卡芯片的響應(yīng)信息,就會認為用戶程序或芯片 工作出錯;目標系統(tǒng)就會拉低復(fù)位信號,強制停止與接觸式智能卡芯片和用戶程序的交互 的通信過程,使其退回到復(fù)位狀態(tài)。采用現(xiàn)有的仿真器配合目標系統(tǒng)調(diào)試用戶程序,在全速 執(zhí)行用戶程序并與目標系統(tǒng)交互通信后,如果需要設(shè)置斷點,就必須停止執(zhí)行用戶程序,設(shè) 置斷點,再重新啟動仿真芯片繼續(xù)執(zhí)行用戶程序;這一過程所需的時間必然超過目標系統(tǒng) 的響應(yīng)時間要求,使用戶程序無法從停止處繼續(xù)運行,必須從頭再來執(zhí)行一遍之前的通信 過程。這對調(diào)試工作是非常不方便的,極大地降低了程序調(diào)試的效率。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種微處理器芯片仿真器,在全速運行用戶程序 時仍舊可以設(shè)置斷點;為此本發(fā)明還要提供一種全速運行用戶程序時設(shè)置斷點的方法。
為解決上述技術(shù)問題,本發(fā)明的微處理器芯片仿真器,包括仿真芯片和仿真管理 模塊;所述仿真芯片通過仿真管理接口與仿真管理模塊相連接,仿真管理模塊控制仿真芯 片工作在監(jiān)控模式或者用戶模式; 當仿真芯片工作在監(jiān)控模式時,仿真管理模塊向仿真芯片提供斷點信息,仿真芯 片執(zhí)行監(jiān)控程序完成斷點的設(shè)置;
當仿真芯片從用戶模式切換到監(jiān)控模式時,仿真管理模塊記錄用戶程序執(zhí)行停止的位置;當仿真芯片從監(jiān)控模式切換回用戶模式時,仿真管理模塊控制仿真芯片從所述停止的位置處繼續(xù)執(zhí)行用戶程序。 仿真芯片從用戶模式切換到監(jiān)控模式后,始終從監(jiān)控程序的"O"地址處開始執(zhí)行。
本發(fā)明的全速運行用戶程序時設(shè)置斷點的方法是,仿真管理模塊通過仿真管理接口控制仿真芯片工作在用戶模式或監(jiān)控模式; 仿真芯片工作在用戶模式時,仿真芯片通過數(shù)據(jù)/地址總線全速執(zhí)行用戶程序存儲器中的用戶程序;如果用戶設(shè)置了斷點,仿真管理模塊通過仿真管理接口控制仿真芯片切換到監(jiān)控模式,并把斷點信息提供給仿真芯片;仿真芯片通過數(shù)據(jù)/地址總線執(zhí)行監(jiān)控程序存儲器中的監(jiān)控程序完成斷點的設(shè)置;然后,仿真管理模塊通過仿真管理接口控制仿真芯片重新工作到用戶模式,仿真芯片通過數(shù)據(jù)/地址總線繼續(xù)執(zhí)行用戶程序存儲器的用戶程序。 用本發(fā)明的微處理器芯片仿真器及方法,全速運行用戶程序時也可以設(shè)置斷點,提高了程序的調(diào)試工作效率,特別是可以極大地提高需要配合目標系統(tǒng)交互通信調(diào)試,且目標系統(tǒng)對響應(yīng)時間有要求情況下的程序調(diào)試效率。
下面結(jié)合附圖和具體實施方式
對本發(fā)明作進一步詳細的說明
附圖是本發(fā)明的微處理器芯片仿真器結(jié)構(gòu)示意圖。
具體實施例方式
如圖所示,本發(fā)明的微處理器芯片仿真器1包括仿真芯片2、仿真管理模塊3、用戶程序存儲器4和監(jiān)控程序存儲器5。仿真芯片2與仿真管理模塊3之間有仿真管理接口 8,仿真管理模塊3通過仿真管理接口 8控制仿真芯片2工作在監(jiān)控模式或者用戶模式。當仿真芯片2工作在監(jiān)控模式時,仿真管理模塊3可通過仿真管理接口 8提供斷點信息給仿真芯片2,仿真芯片2執(zhí)行監(jiān)控程序完成斷點的設(shè)置。仿真芯片2從用戶模式切換到監(jiān)控模式時,仿真管理模塊3會記錄用戶程序執(zhí)行停止的位置;仿真芯片2再切換回用戶模式時,仿真管理模塊3控制仿真芯片2從所述停止的位置處繼續(xù)執(zhí)行用戶程序。仿真芯片2從用戶模式切換到監(jiān)控模式后,始終從監(jiān)控程序的"O"地址處開始執(zhí)行。 仿真芯片2與用戶程序存儲器4間有標準的數(shù)據(jù)/地址總線6,當仿真芯片2工作在用戶模式時,仿真芯片2執(zhí)行用戶程序存儲器4中的用戶程序,模擬產(chǎn)品芯片的工作情況。仿真芯片2與監(jiān)控程序存儲器5間也有標準的數(shù)據(jù)/地址總線7,當仿真芯片2工作在監(jiān)控模式時,仿真芯片2執(zhí)行監(jiān)控程序存儲器7中的監(jiān)控程序,可以在仿真管理模塊3的控制下設(shè)置斷點。 用戶要求微處理器芯片仿真器1全速運行后,仿真管理模塊3通過仿真管理接口8控制仿真芯片2工作在用戶模式,仿真芯片2通過數(shù)據(jù)/地址總線6執(zhí)行用戶程序存儲器4中的用戶程序。此時,仿真芯片2全速執(zhí)行用戶程序,如果用戶設(shè)置了斷點,仿真管理模塊3通過仿真管理接口 8控制仿真芯片2切換到監(jiān)控模式,并把斷點信息提供給仿真芯片2。仿真芯片2通過數(shù)據(jù)/地址總線7執(zhí)行監(jiān)控程序存儲器5中的監(jiān)控程序完成斷點的
4設(shè)置。然后,仿真管理模塊3通過仿真管理接口 8控制仿真芯片2重新工作到用戶模式,仿
真芯片2通過數(shù)據(jù)/地址總線6繼續(xù)執(zhí)行用戶程序存儲器4中的用戶程序。 在上述過程中,仿真芯片2工作模式的切換對用戶而言是不可見的,這樣就實現(xiàn)
了用戶程序全速運行時設(shè)置斷點的功能。 對于需要配合目標系統(tǒng)調(diào)試的微處理器芯片仿真器1,完成工作模式的切換、斷點的設(shè)置都是由微處理器芯片仿真器1在后臺完成的,這一過程所需的時間非常的短。由于沒有手動停止程序執(zhí)行,設(shè)置斷點,再啟用程序運行的過程,不會出現(xiàn)因這一手動控制過程所導致的目標系統(tǒng)判斷交互通信超時的錯誤,保證了需要交互通信的程序可以連續(xù)地調(diào)試下去。 以上通過具體實施方式
對本發(fā)明進行了詳細的說明,對于本領(lǐng)域的技術(shù)人員來說,在不脫離本發(fā)明原理的情況下,還可做出若干變形和改進,這些也應(yīng)視為屬于本發(fā)明的保護范圍。
權(quán)利要求
一種微處理器芯片仿真器,其特征在于包括仿真芯片和仿真管理模塊;所述仿真芯片通過仿真管理接口與仿真管理模塊相連接,仿真管理模塊控制仿真芯片工作在監(jiān)控模式或者用戶模式;當仿真芯片工作在監(jiān)控模式時,仿真管理模塊向仿真芯片提供斷點信息,仿真芯片執(zhí)行監(jiān)控程序完成斷點的設(shè)置;當仿真芯片從用戶模式切換到監(jiān)控模式時,仿真管理模塊記錄用戶程序執(zhí)行停止的位置;當仿真芯片從監(jiān)控模式切換回用戶模式時,仿真管理模塊控制仿真芯片從所述停止的位置處繼續(xù)執(zhí)行用戶程序。
2. 如權(quán)利要求1所述的微處理器芯片仿真器,其特征在于所述仿真芯片從用戶模式 切換到監(jiān)控模式后,始終從監(jiān)控程序的"0"地址處開始執(zhí)行。
3. 如權(quán)利要求1所述的微處理器芯片仿真器,其特征在于還包括通過數(shù)據(jù)/地址總 線與仿真芯片相連接的用戶程序存儲器和監(jiān)控程序存儲器;當仿真芯片全速執(zhí)行用戶程序 存儲器中的用戶程序時,如果用戶設(shè)置了斷點,仿真芯片切換到監(jiān)控模式,仿真管理模塊將 斷點信息提供給仿真芯片;仿真芯片執(zhí)行監(jiān)控程序存儲器中的監(jiān)控程序完成斷點的設(shè)置; 然后,仿真芯片重新返回到用戶模式,通過繼續(xù)執(zhí)行用戶程序存儲器的用戶程序。
4. 一種全速運行用戶程序時設(shè)置斷點的方法,其特征在于,仿真管理模塊通過仿真管 理接口控制仿真芯片工作在用戶模式或監(jiān)控模式;仿真芯片工作在用戶模式時,仿真芯片通過數(shù)據(jù)/地址總線全速執(zhí)行用戶程序存儲器 中的用戶程序;如果用戶設(shè)置了斷點,仿真管理模塊通過仿真管理接口控制仿真芯片切換 到監(jiān)控模式,并把斷點信息提供給仿真芯片;仿真芯片通過數(shù)據(jù)/地址總線執(zhí)行監(jiān)控程序 存儲器中的監(jiān)控程序完成斷點的設(shè)置;然后,仿真管理模塊通過仿真管理接口控制仿真芯 片重新工作到用戶模式,仿真芯片通過數(shù)據(jù)/地址總線繼續(xù)執(zhí)行用戶程序存儲器的用戶程 序。
全文摘要
本發(fā)明公開了一種微處理器芯片仿真器,包括仿真芯片,仿真管理模塊,用戶程序存儲器,監(jiān)控程序存儲器。仿真管理模塊通過所述的仿真管理接口控制仿真芯片工作在監(jiān)控模式或者用戶模式。當仿真芯片工作在監(jiān)控模式時,仿真管理模塊可通過所述的仿真管理接口提供斷點信息給仿真芯片,仿真芯片執(zhí)行監(jiān)控程序完成斷點的設(shè)置??刂品抡嫘酒瑥挠脩裟J角袚Q到監(jiān)控模式時,仿真管理模塊會記錄用戶程序執(zhí)行停止的位置,仿真芯片切換回用戶模式時,仿真管理模塊會控制仿真芯片從所述停止位置處繼續(xù)執(zhí)行用戶程序。本發(fā)明還公開了一種全速運行用戶程序時設(shè)置斷點的方法。本發(fā)明在全速運行用戶程序時仍舊可以設(shè)置斷點,提高了程序的調(diào)試工作效率。
文檔編號G06F11/36GK101751323SQ20081004403
公開日2010年6月23日 申請日期2008年11月28日 優(yōu)先權(quán)日2008年11月28日
發(fā)明者許國泰 申請人:上海華虹集成電路有限責任公司