欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種支持nvm軟斷點調(diào)試的仿真器和方法

文檔序號:6624874閱讀:303來源:國知局
一種支持nvm軟斷點調(diào)試的仿真器和方法
【專利摘要】本發(fā)明介紹一種支持NVM軟斷點調(diào)試的仿真器和方法,涉及芯片仿真【技術(shù)領(lǐng)域】。仿真器包括仿真器調(diào)試模塊和仿真器硬件,仿真器硬件主要包括芯片功能調(diào)試模塊、CPU、芯片MMU、芯片NVM、芯片RAM、調(diào)試RAM等模塊。仿真器調(diào)試模塊將擦寫程序和斷點數(shù)據(jù)分別寫入調(diào)試RAM的擦寫程序RAM和斷點存儲RAM中,并依據(jù)斷點數(shù)據(jù)將芯片NVM中斷點地址的代碼備份到斷點存儲RAM,控制CPU執(zhí)行擦寫程序?qū)VM中斷點地址的代碼寫為斷點指令,實現(xiàn)斷點設(shè)置功能;將芯片NVM中斷點指令改回斷點存儲RAM備份的代碼,實現(xiàn)斷點清除功能。
【專利說明】一種支持NVM軟斷點調(diào)試的仿真器和方法

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種芯片仿真器,特別涉及一種支持NVM軟斷點調(diào)試的仿真器和方法。

【背景技術(shù)】
[0002]斷點調(diào)試是智能卡芯片仿真器主要調(diào)試手段,仿真器通常都會支持硬斷點調(diào)試,由于CPU調(diào)試模塊硬斷點寄存器個數(shù)的限制,仿真器支持的硬斷點個數(shù)較少,例如ARM7內(nèi)核最多支持兩個硬斷點。
[0003]軟斷點則是通過在代碼中設(shè)置特征值的方式來實現(xiàn),特征值通常稱為斷點指令。當需要在某地址代碼處設(shè)置軟斷點的時候,仿真器會先將此處代碼進行備份保護,然后將預(yù)先設(shè)定好的斷點指令寫入此地址,覆蓋原來的代碼數(shù)據(jù)。當程序運行到斷點指令處時,便會產(chǎn)生中斷,或是程序停止運行。當取消斷點時,之前受保護的代碼信息會被自動恢復(fù)。
[0004]硬斷點可以設(shè)置在任何存儲器的代碼上,例如RAM和NVM(NVM包括ROM、EEPR0M、FLASH等);而軟斷點由于需要修改相應(yīng)地址的值,所以一般只能設(shè)在RAM上,斷點數(shù)量可以不受限制。由于芯片程序存儲器通常為NVM,少數(shù)的硬斷點很難滿足工程師進行深入調(diào)試的需要,希望仿真器支持NVM的軟斷點調(diào)試。為解決NVM無法設(shè)置軟斷點的問題,有些仿真器實現(xiàn)了在FLASH上設(shè)置軟斷點的功能,實現(xiàn)原理是設(shè)置軟斷點對Flash進行擦寫操作,需要仿真器能夠有Flash編程功能,并且能夠在盡可能短的時間內(nèi)完成斷點指令的寫入。由于對Flash進行擦寫需要一定的時間,在執(zhí)行到Flash斷點的時候會感覺到停頓,用戶體驗不好。另外由于FLASH擦寫程序及下載數(shù)據(jù)緩存在芯片RAM中,每次斷點操作時都需下載擦寫程序,進行用戶RAM數(shù)據(jù)保護,使得仿真器設(shè)計變得復(fù)雜。
[0005]為解決上述方案中斷點調(diào)試速度慢,芯片RAM數(shù)據(jù)需要保護的問題,本發(fā)明提出一種利用硬件電路支持NVM芯片軟斷點調(diào)試的仿真器。
[0006]本發(fā)明的仿真器在仿真器硬件的調(diào)試RAM中存放NVM擦寫程序及斷點數(shù)據(jù),不占用芯片RAM,因此不需要考慮用戶芯片RAM的數(shù)據(jù)保護。NVM擦寫程序只需下載一次,斷點的設(shè)置和清除操作主要是由硬件自動完成,斷點調(diào)試速度得以明顯提升。只要增加調(diào)試RAM容量,可以實現(xiàn)更多的軟斷點,從而大大提高開發(fā)效率。


【發(fā)明內(nèi)容】

[0007]本發(fā)明所解決的技術(shù)問題是,如何設(shè)計一種支持NVM芯片軟斷點調(diào)試的仿真器。
[0008]本發(fā)明的仿真器包括仿真器調(diào)試模塊和仿真器硬件兩部分:仿真器控制模塊與仿真器硬件相連,用于控制仿真器硬件運行,實現(xiàn)對芯片功能模塊中的用戶程序調(diào)試功能。對于斷點功能,仿真器調(diào)試模塊實現(xiàn)生成斷點數(shù)據(jù),下載NVM擦寫程序、設(shè)置斷點、清除斷點的功能。仿真器硬件包括芯片功能調(diào)試模塊、CPU、功能模塊、MMU選擇模塊、芯片MMU、芯片NVM, RAM選擇模塊、芯片RAM和調(diào)試RAM。
[0009]芯片功能調(diào)試模塊,連接到仿真器調(diào)試模塊,用于接收調(diào)試命令;芯片功能調(diào)試模塊連接到MMU選擇模塊,用于選擇芯片功能調(diào)試模塊或者CPU連接芯片MMU ;芯片功能調(diào)試模塊連接到芯片MMU,實現(xiàn)調(diào)試模式下MMU權(quán)限設(shè)置;芯片功能調(diào)試模塊連接到CPU,實現(xiàn)對CPU的調(diào)試控制;芯片功能調(diào)試模塊連接到RAM選擇模塊,用于選擇芯片MMU連接的是芯片RAM還是調(diào)試RAM ;
[0010]CPU,仿真芯片使用的CPU處理器,經(jīng)過MMU選擇模塊連接到芯片MMU ;
[0011]功能模塊,與CPU相連,仿真芯片使用的各種功能模塊的功能。
[0012]MMU選擇模塊,將芯片功能調(diào)試模塊或者CPU連接到芯片MMU ;
[0013]芯片MMU,仿真芯片使用MMU保護功能,增加了 MMU選擇控制信號,當芯片功能調(diào)試模塊連接到芯片MMU時,改變芯片MMU權(quán)限控制,實現(xiàn)芯片功能調(diào)試模塊對芯片RAM和調(diào)試RAM的讀寫操作權(quán)限,對芯片NVM的讀操作權(quán)限的功能設(shè)置。
[0014]芯片NVM,仿真芯片使用的NVM存儲器;
[0015]RAM選擇模塊,將芯片MMU連接到芯片RAM或者調(diào)試RAM ;
[0016]芯片RAM,仿真芯片使用的RAM存儲器;
[0017]調(diào)試RAM,包括擦寫程序RAM和斷點存儲RAM,擦寫程序RAM存儲芯片NVM執(zhí)行擦寫操作的程序,CPU執(zhí)行擦寫程序RAM中的程序,實現(xiàn)對芯片NVM的擦寫操作,要寫入芯片NVM的數(shù)據(jù)暫存在擦寫程序RAM中,斷點存儲RAM用于存儲斷點數(shù)據(jù),斷點數(shù)據(jù)包括斷點總個數(shù)、斷點所在頁首地址、斷點地址、斷點代碼,斷點代碼是指芯片NVM中斷點地址對應(yīng)的程序代碼。
[0018]本發(fā)明的仿真器實現(xiàn)了軟斷點相關(guān)的三個基本操作:下載NVM擦寫程序、設(shè)置斷點、清除斷點。
[0019]下載NVM擦寫程序的方法如下:
[0020]仿真器調(diào)試模塊發(fā)送下載NVM擦寫程序命令,芯片功能調(diào)試模塊接收到命令后,設(shè)置MMU選擇控制信號和RAM選擇控制信號同時有效,將控制芯片功能調(diào)試模塊連接至芯片MMU,將芯片MMU連接到調(diào)試RAM,控制芯片功能調(diào)試模塊經(jīng)過MMU選擇模塊、芯片MMU、RAM選擇模塊訪問調(diào)試RAM,芯片功能調(diào)試模塊將NVM擦寫程序?qū)懭氩翆懗绦騌AM中,最后芯片功能調(diào)試模塊設(shè)置MMU選擇控制信號和RAM選擇控制信號同時無效,將CPU連接至芯片MMU,芯片MMU連接到芯片RAM。
[0021]下載NVM擦寫程序只在仿真器在初始化時進行一次下載,只要仿真器沒有斷電,調(diào)試RAM中擦寫程序就一直存在,軟斷點操作就可以隨時調(diào)用此程序進行NVM數(shù)據(jù)擦寫操作。
[0022]設(shè)置斷點的方法如下:
[0023]仿真器調(diào)試模塊發(fā)送設(shè)置斷點命令,并將斷點數(shù)據(jù)發(fā)送給芯片功能調(diào)試模塊,芯片功能調(diào)試模塊設(shè)置MMU選擇控制信號和RAM選擇控制信號同時有效,不經(jīng)過CPU直接訪問調(diào)試RAM,芯片功能調(diào)試模塊將斷點數(shù)據(jù)寫入斷點存儲RAM,并根據(jù)斷點存儲RAM中的斷點地址信息,將斷點代碼保存到斷點存儲RAM中,之后芯片功能調(diào)試模塊控制CPU執(zhí)行擦寫程序RAM中的NVM擦寫程序,將芯片NVM中的斷點代碼改寫為斷點指令,最后芯片功能調(diào)試模塊設(shè)置MMU選擇控制信號和RAM選擇控制信號同時無效,將CPU連接至芯片MMU,將芯片MMU連接到芯片RAM ;
[0024]清除斷點的方法如下:
[0025]仿真器調(diào)試模塊發(fā)送清除斷點命令,芯片功能調(diào)試模塊接收到命令后,設(shè)置MMU選擇控制信號和RAM選擇控制信號同時有效,不經(jīng)過CPU直接訪問調(diào)試RAM,芯片功能調(diào)試模塊控制CPU執(zhí)行擦寫程序RAM中的NVM擦寫程序,并根據(jù)斷點存儲RAM中的斷點數(shù)據(jù),將芯片NVM中斷點地址位置處的斷點指令改寫為斷點代碼,最后芯片功能調(diào)試模塊設(shè)置MMU選擇控制信號和RAM選擇控制信號同時無效,將CPU連接至芯片MMU,將芯片MMU連接到芯片 RAM。
[0026]本發(fā)明的仿真器實現(xiàn)專用的調(diào)試RAM用于存儲擦寫程序及斷點數(shù)據(jù),程序運行時使用芯片RAM,程序斷點操作時使用調(diào)試RAM,斷點操作信息都保存在調(diào)試RAM中,斷點操作不會改變芯片RAM數(shù)據(jù),不會影響用戶程序執(zhí)行。由于斷點操作不占用芯片RAM,斷點操作期間無需實現(xiàn)對芯片RAM數(shù)據(jù)的保護,并且斷點的設(shè)置和清除操作在芯片調(diào)試模塊控制下由硬件自動完成,從而提升了斷點的操作速度。
[0027]芯片功能調(diào)試模塊實現(xiàn)了芯片MMU的訪問接口,不經(jīng)過CPU直接訪問存儲器,調(diào)試操作時提高存儲器訪問速度,相比經(jīng)過CPU訪問存儲器獲得調(diào)試數(shù)據(jù),芯片功能調(diào)試模塊直接訪問存儲器速度更快。芯片功能調(diào)試模塊不僅實現(xiàn)對芯片MMU權(quán)限管理功能,同時對訪問的存儲器進行調(diào)試功能的權(quán)限管理,程序調(diào)試過程中無法通過CPU訪問的數(shù)據(jù),通過此通路得以顯示,或者禁止部分數(shù)據(jù)訪問,達到對芯片代碼保護的功能。
[0028]本發(fā)明實現(xiàn)NVM數(shù)據(jù)快速改寫的功能,用于實現(xiàn)NVM中程序下載,調(diào)試過程數(shù)據(jù)修改功能,可以實現(xiàn)調(diào)試界面NVM數(shù)據(jù)的實時修改,方便用戶對NVM程序的調(diào)試。
[0029]本發(fā)明中的軟斷點是指能夠CPU識別的斷點指令,CPU執(zhí)行到斷點指令時自動停止,或是產(chǎn)生中斷進行調(diào)試數(shù)據(jù)的存儲和顯示。
[0030]本發(fā)明中的芯片NVM是指芯片使用的ROM或FLASH或EEPROM存儲器,在仿真器硬件中使用RAM增加接口電路的方式實現(xiàn)。

【專利附圖】

【附圖說明】
[0031]圖1是芯片功能模塊結(jié)構(gòu)圖。
[0032]圖2是支持軟斷點調(diào)試仿真器結(jié)構(gòu)圖。
[0033]圖3是擦寫程序RAM的結(jié)構(gòu)圖。
[0034]圖4是斷點存儲RAM的結(jié)構(gòu)圖。
[0035]圖5是下載NVM程序的流程圖。
[0036]圖6是設(shè)置軟斷點的流程圖。
[0037]圖7是清除軟斷點的流程圖。

【具體實施方式】
[0038]下面結(jié)合附圖對本發(fā)明仿真器進行詳細說明。
[0039]1、如圖1所示,是支持MMU功能的芯片功能模塊,包括CPU 5、功能模塊6、芯片MMU8、芯片NVM 10、芯片RAM 11,用于仿真真實芯片的功能。CPU 5通過芯片MMU 8實現(xiàn)存儲器芯片NVM 10和芯片RAM 11的訪問和權(quán)限管理。
[0040]2、如圖2所示,基于支持MMU功能的芯片功能模塊,增加調(diào)試電路,實現(xiàn)了支持NVM軟斷點調(diào)試的仿真器。增加調(diào)試電路包括:仿真器調(diào)試模塊2、芯片功能調(diào)試模塊4、MMU選擇模塊7、RAM選擇模塊9、調(diào)試RAM 12。其中調(diào)試RAM 12由擦寫程序RAM 13和斷點存儲RAM14組成。圖5、圖6、圖7詳細介紹各模塊如何實現(xiàn)軟斷點調(diào)試功能。
[0041]3、如圖3所示,規(guī)定了擦寫程序RAM的數(shù)據(jù)結(jié)構(gòu),包括NVM擦寫程序區(qū)和擦寫數(shù)據(jù)Buffer區(qū)。NVM擦寫程序區(qū)在仿真器初始化時下載NVM擦寫程序,擦寫數(shù)據(jù)Buffer區(qū)用于芯片NVM 10數(shù)據(jù)改寫時存放的臨時數(shù)據(jù)。
[0042]4、如圖4所示,規(guī)定了斷點存儲RAM的數(shù)據(jù)結(jié)構(gòu),包括斷點總個數(shù)、頁地址標志、斷點所在頁首地址、斷點地址及斷點代碼。圖中舉例的斷點I地址、斷點2地址、斷點a地址、斷點a+Ι地址、斷點a+2地址、斷點b地址統(tǒng)稱為斷點地址,斷點I代碼、斷點2代碼、斷點a代碼、斷點a+Ι代碼、斷點a+2代碼、斷點b代碼統(tǒng)稱為斷點代碼。斷點總個數(shù)、頁地址標志、斷點所在頁首地址、所有斷點地址是由仿真器調(diào)試模塊2產(chǎn)生,并發(fā)送命令寫入斷點存儲RAM 14,斷點代碼是指芯片NVM 10中斷點地址對應(yīng)的程序代碼,是由芯片功能調(diào)試模塊4從芯片NVM 10讀出并寫入斷點存儲RAM 14進行數(shù)據(jù)備份。根據(jù)斷點總個數(shù)確定設(shè)置操作的斷點數(shù)量。頁地址標志表示后面的數(shù)據(jù)為另一頁的斷點,前一頁的斷點可以進行一次斷點寫入操作。斷點所在頁首地址確定操作NVM的頁號。數(shù)據(jù)結(jié)構(gòu)中每一頁中斷點個數(shù)不固定,由用戶設(shè)置斷點位置來確定。斷點存儲RAM的數(shù)據(jù)結(jié)構(gòu)保證了以較少的RAM容量可以存儲較多的斷點信息,從而設(shè)置更多的軟斷點。
[0043]5、如圖5所示,仿真器調(diào)試模塊2發(fā)送下載NVM擦寫程序命令,并將NVM擦除程序發(fā)送給芯片功能調(diào)試模塊4,芯片功能調(diào)試模塊4負責將NVM擦寫程序?qū)懭氩翆懗绦騌AM13,實現(xiàn)過程如下:
[0044]I)芯片功能調(diào)試模塊4直接訪問芯片MMU 8,選擇調(diào)試RAM 12。實現(xiàn)方法:芯片功能調(diào)試模塊4設(shè)置MMU選擇控制信號15和RAM選擇控制信號16同時有效,芯片功能調(diào)試模塊4可以直接訪問調(diào)試RAM 12中的擦寫程序RAM 13 ;
[0045]2)芯片功能調(diào)試模塊4將NVM擦除程序?qū)懭氩翆懗绦騌AM 13 ;
[0046]3)芯片功能調(diào)試模塊4判斷所有程序是否下載完成,如果下載完成執(zhí)行4),否則執(zhí)行2);
[0047]4) CPU 5直接訪問芯片MMU 8,選擇芯片RAM 11。實現(xiàn)方法:芯片功能調(diào)試模塊4設(shè)置MMU選擇控制信號15和RAM選擇控制信號16同時無效,CPU 5訪問芯片NVM 10和芯片RAM11,可以正常執(zhí)行程序。
[0048]6、如圖6所示,仿真器調(diào)試模塊2發(fā)送設(shè)置斷點命令,并將斷點列表數(shù)據(jù)(包括斷點總個數(shù)、斷點所在頁首地址、斷點地址)發(fā)送給芯片功能調(diào)試模塊4,斷點列表數(shù)據(jù)由仿真器調(diào)試模塊2根據(jù)用戶設(shè)置的斷點位置和數(shù)量,按斷點存儲RAM的數(shù)據(jù)結(jié)構(gòu)生成,數(shù)據(jù)大小在斷點存儲RAM 14容量范圍內(nèi)。芯片功能調(diào)試模塊4控制各個模塊完成軟斷點設(shè)置功能,具體流程如下:
[0049]I)芯片功能調(diào)試模塊4直接訪問芯片MMU 8,選擇調(diào)試RAM 12 ;
[0050]2)芯片功能調(diào)試模塊4將斷點列表數(shù)據(jù)寫入斷點存儲RAM 14 ;
[0051]3)芯片功能調(diào)試模塊4根據(jù)已設(shè)置的斷點數(shù)和斷點存儲RAM 14中“斷點總個數(shù)”,判斷是否繼續(xù)設(shè)置斷點,如果完成所用斷點的設(shè)置執(zhí)行11),否則執(zhí)行4);
[0052]4)芯片功能調(diào)試模塊4根據(jù)斷點存儲RAM 14中“斷點所在頁首地址”,讀芯片NVM10中斷點所在頁的數(shù)據(jù)到擦寫程序RAM 13中“擦寫數(shù)據(jù)Buffer區(qū)”;
[0053]5)芯片功能調(diào)試模塊4將斷點存儲RAM 14中每個“斷點地址”對應(yīng)“斷點代碼”寫入斷點存儲RAM 14 ;
[0054]6)芯片功能調(diào)試模塊4將“擦寫數(shù)據(jù)Buffer區(qū)”對應(yīng)的“斷點地址”改為斷點指令;
[0055]7)芯片功能調(diào)試模塊4設(shè)置MMU選擇控制信號15無效,選擇CPU 5直接訪問芯片MMU 8 ;
[0056]8)芯片功能調(diào)試模塊4控制CPU 5執(zhí)行擦寫程序RAM 13中的程序,擦除芯片NVM10中斷點所在頁;
[0057]9)芯片功能調(diào)試模塊4控制CPU 5將“擦寫數(shù)據(jù)Buffer區(qū)”數(shù)據(jù)寫入芯片NVM 10中斷點所在頁;
[0058]10)芯片功能調(diào)試模塊4設(shè)置MMU選擇控制信號15有效,選擇芯片功能調(diào)試模塊4直接訪問芯片MMU 8,執(zhí)行3);
[0059]11) CPU 5直接訪問芯片MMU 8,選擇芯片RAM 11?;氐侥J狀態(tài),使CPU 5訪問芯片NVM 10和芯片RAM 11,可以正常執(zhí)行程序。
[0060]7、如圖7所示,仿真器調(diào)試模塊2發(fā)送清除斷點命令,芯片功能調(diào)試模塊4收到命令后,控制各個模塊完成軟斷點清除功能,具體流程如下:
[0061]I)芯片功能調(diào)試模塊4直接訪問芯片MMU 8,選擇調(diào)試RAM 12 ;
[0062]2)芯片功能調(diào)試模塊4讀取斷點存儲RAM 14中的斷點數(shù)據(jù);
[0063]3)芯片功能調(diào)試模塊4根據(jù)已清除的斷點數(shù)和斷點存儲RAM 14中“斷點總個數(shù)”,判斷是否繼續(xù)清除斷點,如果清除了所有斷點執(zhí)行10),否則執(zhí)行4);
[0064]4)芯片功能調(diào)試模塊4根據(jù)斷點存儲RAM 14中“斷點所在頁首地址”,讀芯片NVM10中斷點所在頁的數(shù)據(jù)到擦寫程序RAM 13中“擦寫數(shù)據(jù)Buffer區(qū)”;
[0065]5)芯片功能調(diào)試模塊4將斷點存儲RAM 14中每個“斷點地址”對應(yīng)“斷點代碼”寫入“擦寫數(shù)據(jù)Buffer區(qū)”;
[0066]6)芯片功能調(diào)試模塊4設(shè)置MMU選擇控制信號15無效,選擇CPU 5直接訪問芯片MMU 8 ;
[0067]7)芯片功能調(diào)試模塊4控制CPU 5擦除芯片NVM 10中斷點所在頁;
[0068]8)芯片功能調(diào)試模塊4控制CPU 5將“擦寫數(shù)據(jù)Buffer區(qū)”數(shù)據(jù)寫入芯片NVM 10中斷點所在頁;
[0069]9)芯片功能調(diào)試模塊4設(shè)置MMU選擇控制信號15有效,選擇芯片功能調(diào)試模塊4直接訪問芯片MMU 8,執(zhí)行3);
[0070]10) CPU 5直接訪問芯片MMU 8,選擇芯片RAM 11。CPU 5訪問芯片NVM 10和芯片RAM 11,可以正常執(zhí)行程序。
【權(quán)利要求】
1.一種支持NVM軟斷點調(diào)試的仿真器,其特征在于程序運行時使用芯片RAM,程序斷點操作時使用調(diào)試RAM,斷點操作信息全部保存在調(diào)試RAM中,斷點操作不會改變芯片RAM數(shù)據(jù),不會影響用戶程序執(zhí)行;仿真器包括仿真器調(diào)試模塊和仿真器模塊,其中: 仿真器調(diào)試模塊,與仿真器硬件相連,實現(xiàn)對芯片功能模塊中程序的調(diào)試功能,對于斷點功能,實現(xiàn)生成斷點數(shù)據(jù),下載NVM擦寫程序、設(shè)置斷點、清除斷點的功能; 仿真器模塊,包括芯片功能調(diào)試模塊、CPU、功能模塊、MMU選擇模塊、芯片MMU、芯片NVM, RAM選擇模塊、芯片RAM和調(diào)試RAM ; 芯片功能調(diào)試模塊,連接到仿真器調(diào)試模塊,用于接收調(diào)試命令;芯片功能調(diào)試模塊連接到MMU選擇模塊,用于選擇芯片功能調(diào)試模塊或者CPU連接芯片MMU ;芯片功能調(diào)試模塊連接到芯片MMU,實現(xiàn)調(diào)試模式下MMU權(quán)限設(shè)置;芯片功能調(diào)試模塊連接到CPU,實現(xiàn)對CPU的調(diào)試控制;芯片功能調(diào)試模塊連接到RAM選擇模塊,用于選擇芯片MMU連接的是芯片RAM還是調(diào)試RAM ; CPU,仿真芯片使用的CPU處理器,經(jīng)過MMU選擇模塊連接到芯片MMU ; 功能模塊,與CPU相連,仿真芯片使用的各種功能模塊的功能; MMU選擇模塊,將芯片功能調(diào)試模塊或者CPU連接到芯片MMU ; 芯片MMU,仿真芯片使用MMU保護功能,增加了 MMU選擇控制信號,當芯片功能調(diào)試模塊連接到芯片MMU時,改變芯片MMU權(quán)限控制,實現(xiàn)芯片功能調(diào)試模塊對芯片RAM和調(diào)試RAM的讀寫操作權(quán)限,對芯片NVM的讀操作權(quán)限的功能設(shè)置; 芯片NVM,仿真芯片使用的NVM存儲器; RAM選擇模塊,將芯片MMU連接到芯片RAM或者調(diào)試RAM ; 芯片RAM,仿真芯片使用的RAM存儲器; 調(diào)試RAM,包括擦寫程序RAM和斷點存儲RAM,擦寫程序RAM存儲芯片NVM執(zhí)行擦寫操作的程序,CPU執(zhí)行擦寫程序RAM中的程序,實現(xiàn)對芯片NVM的擦寫操作。
2.一種支持NVM軟斷點調(diào)試的方法,應(yīng)用于如權(quán)利要求1所述的仿真器中,其特征在于步驟如下: 1)仿真器調(diào)試模塊發(fā)送下載NVM擦寫程序命令,芯片功能調(diào)試模塊接收到命令后,設(shè)置MMU選擇控制信號和RAM選擇控制信號同時有效,控制芯片功能調(diào)試模塊經(jīng)過MMU選擇模塊、芯片MMU、RAM選擇模塊訪問調(diào)試RAM,芯片功能調(diào)試模塊將NVM擦寫程序?qū)懭氩翆懗绦騌AM中,最后芯片功能調(diào)試模塊設(shè)置MMU選擇控制信號和RAM選擇控制信號同時無效,將CPU連接至芯片MMU,芯片MMU連接到芯片RAM ; 2)仿真器調(diào)試模塊發(fā)送設(shè)置斷點命令,并將斷點數(shù)據(jù)發(fā)送給芯片功能調(diào)試模塊,芯片功能調(diào)試模塊設(shè)置MMU選擇控制信號和RAM選擇控制信號同時有效,不經(jīng)過CPU直接訪問調(diào)試RAM,芯片功能調(diào)試模塊將斷點數(shù)據(jù)寫入斷點存儲RAM,并根據(jù)斷點存儲RAM中的斷點地址信息,將斷點代碼保存到斷點存儲RAM中,之后芯片功能調(diào)試模塊控制CPU執(zhí)行擦寫程序RAM中的NVM擦寫程序,將芯片NVM中的斷點代碼改寫為斷點指令,最后芯片功能調(diào)試模塊設(shè)置MMU選擇控制信號和RAM選擇控制信號同時無效,將CPU連接至芯片MMU,將芯片MMU連接到芯片RAM ; 3)仿真器調(diào)試模塊發(fā)送清除斷點命令,芯片功能調(diào)試模塊接收到命令后,設(shè)置MMU選擇控制信號和RAM選擇控制信號同時有效,不經(jīng)過CPU直接訪問調(diào)試RAM,芯片功能調(diào)試模塊控制CPU執(zhí)行擦寫程序RAM中的NVM擦寫程序,并根據(jù)斷點存儲RAM中的斷點數(shù)據(jù),將芯片NVM中斷點地址位置處的斷點指令改寫為斷點代碼,最后芯片功能調(diào)試模塊設(shè)置MMU選擇控制信號和RAM選擇控制信號同時無效,將CPU連接至芯片MMU,將芯片MMU連接到芯片RAM0
3.根據(jù)權(quán)利要求2所述的方法,其特征在于斷點操作不占用芯片RAM,斷點操作期間無需實現(xiàn)對芯片RAM數(shù)據(jù)的保護,并且斷點的設(shè)置和清除操作在芯片調(diào)試模塊控制下由硬件自動完成,提升了斷點的操作速度。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于芯片功能調(diào)試模塊實現(xiàn)了芯片MMU的訪問接口,不經(jīng)過CPU直接訪問存儲器,提高存儲器調(diào)試操作的訪問速度,不僅實現(xiàn)了芯片MMU的存儲器權(quán)限管理功能,還對訪問的存儲器進行調(diào)試功能的權(quán)限管理,實現(xiàn)對芯片代碼保護、調(diào)試數(shù)據(jù)顯示的功能。
【文檔編號】G06F11/36GK104461859SQ201410427112
【公開日】2015年3月25日 申請日期:2014年8月27日 優(yōu)先權(quán)日:2014年8月27日
【發(fā)明者】張洪波, 趙滿懷, 陳 峰 申請人:北京中電華大電子設(shè)計有限責任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
西乌| 分宜县| 卢龙县| 牡丹江市| 宜君县| 苍梧县| 怀柔区| 察雅县| 石河子市| 浦城县| 电白县| 巴青县| 昔阳县| 长泰县| 江山市| 黄山市| 邢台市| 同仁县| 施甸县| 汉寿县| 长岛县| 张掖市| 营山县| 松阳县| 彝良县| 山西省| 邵阳市| 海宁市| 称多县| 东山县| 周口市| 兰州市| 青河县| 乌苏市| 神木县| 昆山市| 西乡县| 北宁市| 安泽县| 齐河县| 南川市|