專利名稱:一種支持處理器硅后調(diào)試的裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)系統(tǒng)驗(yàn)證領(lǐng)域,更具體地涉及處理器硅后調(diào)試領(lǐng)域,特別是涉
及一種支持處理器硅后調(diào)試的裝置和方法。
背景技術(shù):
在計(jì)算機(jī)系統(tǒng)驗(yàn)證領(lǐng)域中,隨著芯片規(guī)模的增大,第一次流片不可避免地會存在錯誤,因此需要進(jìn)行硅后調(diào)試,但是因?yàn)榻^大多數(shù)的信號變化都發(fā)生在硅片內(nèi)部,設(shè)計(jì)人員難以了解芯片的工作情況,因此會對調(diào)試工作造成極大的困難。 —般的調(diào)試支持手段在芯片內(nèi)加入一些分析邏輯,把內(nèi)部工作情況采集到存儲器,以使內(nèi)部信號可見。這種方法的主要缺點(diǎn)是采集的信號數(shù)量和時間長度受存儲器容量所限,且可觀測的信號在芯片設(shè)計(jì)時就已決定,無法更改。對于處理器這樣復(fù)雜的設(shè)計(jì)而言,逃逸到硅后的邏輯錯誤通常需要非常微妙的條件才會觸發(fā)。如果不能提供完全的可觀測性,要直接在硅片上找到錯誤的根源幾乎是不可能的。 要觀測所有的內(nèi)部信號只有在仿真器中才可能實(shí)現(xiàn)。因?yàn)閷?shí)際系統(tǒng)受到諸多因素的影響,不可能以任意低的頻率運(yùn)行,而高頻下捕捉大量的內(nèi)部信號并實(shí)時地送到片外也不現(xiàn)實(shí)。因此,最佳方案是讓實(shí)際系統(tǒng)的行為可以被仿真器精確地建模,在兩者之間建立一一映射關(guān)系,從而使錯誤能夠在仿真器中重現(xiàn),精確地還原出芯片中真實(shí)的工作情況。
在現(xiàn)有技術(shù)中,一般是將處理器流水線中的指令清空,從而可以得到簡單確定的體系結(jié)構(gòu)狀態(tài),使其能在仿真器中恢復(fù)。但是這種方法沒有以底層硬件的確定性為基礎(chǔ),無法精確地將實(shí)際硬件與仿真器對應(yīng)起來。 此外,確定性是實(shí)際系統(tǒng)可被仿真器精確建模的前提。主要的不確定性來源是跨時鐘域信號傳輸。這可通過若干已公開的方法消除,如使用比例同步時鐘(RSC, ratioedsynchronous clock),或者通過確定性同步器完成跨時鐘域傳輸。有了確定性,要做到硅片可仿真調(diào)試的主要難點(diǎn)在于取得被調(diào)試芯片的輸入。 圖1是基于一個常見的處理器系統(tǒng)的結(jié)構(gòu)示意圖。該系統(tǒng)包括處理器核、內(nèi)存、啟動閃存、串口、網(wǎng)卡、硬盤控制器等部件。由于網(wǎng)絡(luò)和硬盤訪問受各種隨機(jī)因素的影響,這樣的一個系統(tǒng)通常難以做到確定化。如果要支持硅后仿真調(diào)試,則需要在總線上加入記錄設(shè)備,錄制所有不確定的IO信號,用于在仿真調(diào)試中作為輸入。現(xiàn)有技術(shù)中已存在一些方法來使用專門的記錄芯片,或者邏輯分析儀抓取外部輸入,但是實(shí)現(xiàn)起來難度大,成本高,因此就需要一種更好的調(diào)試裝置和方法來解決該問題。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種支持處理器硅后調(diào)試的裝置和方法,其使一個處理器系統(tǒng)在硅后驗(yàn)證時支持仿真調(diào)試,從而加速硅后驗(yàn)證的過程。本發(fā)明能夠以最小代價改造一個處理器系統(tǒng),使其具有確定性,并且能夠方便地進(jìn)行硅后仿真調(diào)試。
為實(shí)現(xiàn)本發(fā)明目的而提供的一種支持處理器硅后調(diào)試的裝置,包括調(diào)試主機(jī)和驗(yàn)證系統(tǒng),其中驗(yàn)證系統(tǒng)包括基本系統(tǒng)、調(diào)試控制器和網(wǎng)卡,其特征在于 基本系統(tǒng)為可支持處理器核驗(yàn)證并且還有確定性的最小系統(tǒng),包括處理器核、內(nèi)
存、啟動閃存、串口輸出和時鐘控制模塊; 其中,時鐘控制模塊用于使各功能時鐘可被確定地停下,從而進(jìn)入暫停狀態(tài),在暫停狀態(tài)下處理器中所有的內(nèi)部狀態(tài)都可通過測試接口用掃描鏈訪問; 驗(yàn)證系統(tǒng)還包括調(diào)試控制器,用于與調(diào)試主機(jī)相連,使之可以遠(yuǎn)程地讀取或者控制基本系統(tǒng)的接口信號。 為實(shí)現(xiàn)本發(fā)明的目的還提供一種支持處理器硅后調(diào)試的方法,其特征在于,包括下面的步驟 A、準(zhǔn)備驗(yàn)證環(huán)境步驟,用于在基本系統(tǒng)內(nèi)部初始化驗(yàn)證所需要的軟件環(huán)境;
B、運(yùn)行驗(yàn)證程序步驟,用于在基本系統(tǒng)中運(yùn)行驗(yàn)證程序; C、系統(tǒng)狀態(tài)導(dǎo)入步驟,用于將保存在調(diào)試主機(jī)中的系統(tǒng)狀態(tài)加載到基本系統(tǒng)中;
D、系統(tǒng)狀態(tài)導(dǎo)出步驟,用于將基本系統(tǒng)系統(tǒng)的狀態(tài)導(dǎo)出保存到調(diào)試主機(jī)中;
E、建立快照點(diǎn)步驟,用于清理基本系統(tǒng)的狀態(tài),使其可被干凈地導(dǎo)入導(dǎo)出。
本發(fā)明的有益效果是 本發(fā)明只需少量的硬件支持就可實(shí)現(xiàn)處理器系統(tǒng)的仿真調(diào)試,使得硅后調(diào)試的可見性極大化,調(diào)試復(fù)雜度大大降低。
圖1是基于一個常見的處理器系統(tǒng)的結(jié)構(gòu)示意圖; 圖2是依據(jù)本發(fā)明的一個具體實(shí)施例的處理器硅后驗(yàn)證系統(tǒng)的結(jié)構(gòu)示意圖; 圖3是依據(jù)本發(fā)明的一個具體實(shí)施例的時鐘控制模塊的結(jié)構(gòu)示意圖; 圖4是依據(jù)本發(fā)明的一個具體實(shí)施例的基本系統(tǒng)外部接口的結(jié)構(gòu)示意圖; 圖5是依據(jù)本發(fā)明的一個具體實(shí)施例的調(diào)試控制器的內(nèi)部結(jié)構(gòu)示意圖; 圖6是依據(jù)本發(fā)明的一個具體實(shí)施例的驗(yàn)證及仿真調(diào)試方法的流程圖; 圖7是依據(jù)本發(fā)明的一個具體實(shí)施例的引導(dǎo)服務(wù)軟件所執(zhí)行的流程圖。
具體實(shí)施例方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明的支持處理器硅后調(diào)試的裝置和方法進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明而不是對本發(fā)明的限制。 本發(fā)明是在以如圖l所示的常見的處理器系統(tǒng)基礎(chǔ)上,定義實(shí)現(xiàn)了一個基本系統(tǒng),如圖l虛線框所示,僅由驗(yàn)證處理器必要的部件組成,包括處理器核、內(nèi)存、啟動閃存、串口輸出和時鐘控制模塊。當(dāng)驗(yàn)證軟件局限在這個基本系統(tǒng)內(nèi)部運(yùn)行時,沒有來自外部的輸入信號,因而在這個基本系統(tǒng)具有確定性的前提下,只要知道系統(tǒng)初始狀態(tài)就可實(shí)現(xiàn)硅片仿真調(diào)試。 圖2是依據(jù)本發(fā)明的一個具體實(shí)施例的處理器硅后驗(yàn)證系統(tǒng)的結(jié)構(gòu)示意圖。如圖2所示,處理器硅后驗(yàn)證系統(tǒng)包括調(diào)試主機(jī)、驗(yàn)證系統(tǒng)兩部分。調(diào)試主機(jī)控制驗(yàn)證過程,與驗(yàn)證系統(tǒng)間通過JTAG、 UART和網(wǎng)絡(luò)接口相連。其中,JTAG接口是常見的調(diào)試接口,在這里被用于運(yùn)行模式、復(fù)位等信號的控制和訪問掃描鏈;UART是簡單的低速通訊接口,用于輸出調(diào)試信息或者連接交互式終端;網(wǎng)絡(luò)接口的帶寬較高,用于在調(diào)試主機(jī)和驗(yàn)證系統(tǒng)間傳送大量數(shù)據(jù)。 驗(yàn)證系統(tǒng)由基本系統(tǒng)、調(diào)試控制器和網(wǎng)卡組成。其中,基本系統(tǒng)包括處理器核、內(nèi)存、啟動閃存、串口輸出和時鐘控制模塊,足以運(yùn)行測試程序。在運(yùn)行測試時,軟件局限在基本系統(tǒng)內(nèi)部運(yùn)行,不會訪問基本系統(tǒng)以外的外部設(shè)備。由于基本系統(tǒng)內(nèi)各模塊均為具有確定性的單時鐘同步模塊,模塊之間的交互使用確定性同步器同步,因此整個基本系統(tǒng)行為可完全確定。 基本系統(tǒng)中還包括時鐘控制模塊,其結(jié)構(gòu)如圖3所示,圖3是依據(jù)本發(fā)明的一個具體實(shí)施例的時鐘控制模塊的結(jié)構(gòu)示意圖。測試軟件可通過寫一個停時鐘請求信號,將各功能模塊的時鐘確定地停下,從而進(jìn)入暫停狀態(tài)。在圖3中,虛線框代表一個時鐘域,里面包含功能邏輯。功能邏輯的時鐘由時鐘起停器控制,當(dāng)起停器收到停時鐘請求(上升沿)后將功能邏輯的時鐘關(guān)閉,收到繼續(xù)信號結(jié)束后(下降沿)恢復(fù)功能邏輯的時鐘。繼續(xù)信號同時還作為全局同步信號,供確定性同步器初始化。 暫停狀態(tài)下處理器中所有的內(nèi)部狀態(tài)都可通過測試接口用掃描鏈訪問。其它部分的狀態(tài)總是已知的或者可通過軟件初始化啟動閃存在未進(jìn)行讀操作時的狀態(tài)固定,不需要記錄其狀態(tài);內(nèi)存的內(nèi)容可以用在處理器上運(yùn)行的軟件讀出或者寫入;調(diào)試串口的狀態(tài)可用軟件初始化。這樣,整個基本系統(tǒng)的狀態(tài)便可導(dǎo)入導(dǎo)出。 基本系統(tǒng)的外部接口如圖4所示,圖4是依據(jù)本發(fā)明的一個具體實(shí)施例的基本系統(tǒng)外部接口的結(jié)構(gòu)示意圖。該基本系統(tǒng)接口包括1、時鐘整個基本系統(tǒng)的唯一參考時鐘;2、復(fù)位系統(tǒng)復(fù)位,送到各模塊和同步器的復(fù)位輸入;3、運(yùn)行模式表示當(dāng)前運(yùn)行模式,供引導(dǎo)服務(wù)軟件選擇執(zhí)行路徑;4、暫停狀態(tài)信號,指示基本系統(tǒng)各功能模塊時鐘已停止,進(jìn)入暫停狀態(tài);5、繼續(xù)讓基本系統(tǒng)離開暫停狀態(tài),恢復(fù)功能模塊的時鐘;6、測試接口 處理
器測試接口 ,符合JTAG標(biāo)準(zhǔn),與測試掃描鏈相連,可訪問處理器中所有的內(nèi)部狀態(tài)。
這些接口信號除了時鐘外,都與調(diào)試控制器連接。調(diào)試控制器為普通的JTAG TAP控制器,其主要功能就是讓調(diào)試主機(jī)可以遠(yuǎn)程地讀取或者控制基本系統(tǒng)的接口信號。
調(diào)試控制器的內(nèi)部結(jié)構(gòu)如圖5所示,圖5是依據(jù)本發(fā)明的一個具體實(shí)施例的調(diào)試控制器的內(nèi)部結(jié)構(gòu)示意圖。調(diào)試控制器由TAP接口、復(fù)位控制寄存器、運(yùn)行模式寄存器、暫停狀態(tài)寄存器、斷點(diǎn)自動繼續(xù)數(shù)目寄存器和脈沖生成器組成。復(fù)位控制、運(yùn)行模式、暫停狀態(tài)寄存器分別對應(yīng)基本系統(tǒng)的接口信號,調(diào)試主機(jī)可通過它們設(shè)置基本系統(tǒng)的復(fù)位信號和運(yùn)行模式,并取得暫停信號的值。 斷點(diǎn)自動繼續(xù)數(shù)目寄存器與脈沖生成器相連,用于決定基本系統(tǒng)進(jìn)入暫停狀態(tài)后是否自動恢復(fù)。其作用在于使基本系統(tǒng)工作在驗(yàn)證模式時可以頻繁地進(jìn)入暫停狀態(tài),并且在無需外部調(diào)試主機(jī)參與的情況下就能快速地恢復(fù)運(yùn)行,從而支持頻繁且小開銷的斷點(diǎn)建立。如果自動繼續(xù)數(shù)目寄存器的值大于零,當(dāng)收到暫停信號后脈沖生成器就會生成一繼續(xù)脈沖送到基本系統(tǒng),同時斷點(diǎn)自動繼續(xù)數(shù)目寄存器的值減一。基本系統(tǒng)收到繼續(xù)脈沖后其時鐘控制模塊將為功能邏輯送出時鐘,恢復(fù)運(yùn)行。 基于本發(fā)明的硅后驗(yàn)證裝置來進(jìn)行硅后驗(yàn)證及仿真調(diào)試的流程見圖6,圖6是依據(jù)本發(fā)明的一個具體實(shí)施例的驗(yàn)證及仿真調(diào)試方法的流程圖。其中包含以下幾個主要操作1、準(zhǔn)備驗(yàn)證環(huán)境;2、運(yùn)行驗(yàn)證程序;3、系統(tǒng)狀態(tài)導(dǎo)入4、系統(tǒng)狀態(tài)導(dǎo)出;5、建立快照點(diǎn)。
基本系統(tǒng)不包含輸入輸出,所以除運(yùn)行驗(yàn)證程序外,這些流程需要在全系統(tǒng)中與調(diào)試主機(jī)配合著進(jìn)行。為清晰起見,下面先介紹驗(yàn)證系統(tǒng)中的軟件組成及其運(yùn)行流程。
驗(yàn)證系統(tǒng)上運(yùn)行的軟件可分為弓I導(dǎo)服務(wù)軟件和驗(yàn)證系統(tǒng)軟件兩類。其中引導(dǎo)服務(wù)軟件放置在啟動閃存中,處理器復(fù)位后就開始執(zhí)行。它根據(jù)不同的運(yùn)行模式完成對應(yīng)的功能。驗(yàn)證系統(tǒng)軟件存放在調(diào)試主機(jī)中,包含在基本系統(tǒng)中運(yùn)行的操作系統(tǒng)、測試程序及數(shù)據(jù),要經(jīng)由網(wǎng)絡(luò)下載到驗(yàn)證系統(tǒng)。 驗(yàn)證系統(tǒng)軟件和引導(dǎo)服務(wù)軟件都需要用到內(nèi)存。為使它們不相互干擾,內(nèi)存分成區(qū)域V和區(qū)域P,分別對應(yīng)驗(yàn)證系統(tǒng)軟件和引導(dǎo)服務(wù)軟件。 圖7是依據(jù)本發(fā)明的一個具體實(shí)施例的引導(dǎo)服務(wù)軟件所執(zhí)行的流程圖,圖7給出從處理器復(fù)位開始的軟件執(zhí)行流程。 下面分別就圖6和圖7中的主要流程進(jìn)行詳細(xì)的描述 1、準(zhǔn)備驗(yàn)證環(huán)境調(diào)試主機(jī)將運(yùn)行模式置于驗(yàn)證準(zhǔn)備模式,進(jìn)行系統(tǒng)復(fù)位。引導(dǎo)服
務(wù)軟件通過網(wǎng)絡(luò)讀入驗(yàn)證所需的軟件環(huán)境,存放到內(nèi)存區(qū)域V中。將內(nèi)存控制器置于自刷
新狀態(tài),并進(jìn)入暫停狀態(tài)。調(diào)試主機(jī)查詢暫停狀態(tài)寄存器,直至?xí)和顟B(tài)為真。
2、運(yùn)行驗(yàn)證程序調(diào)試主機(jī)將運(yùn)行模式置于仿真調(diào)試模式,進(jìn)行系統(tǒng)復(fù)位。引導(dǎo)服
務(wù)軟件識別當(dāng)前運(yùn)行模式,對基本系統(tǒng)進(jìn)行初始化,其包括對硬件進(jìn)行初始化,使其狀態(tài)已
知,將內(nèi)存控制器退出自刷新狀態(tài),屏蔽內(nèi)存區(qū)域P,使其內(nèi)容對基本系統(tǒng)不可見。引導(dǎo)服務(wù)
軟件跳轉(zhuǎn)至區(qū)域V中驗(yàn)證環(huán)境的入口,啟動驗(yàn)證系統(tǒng)。驗(yàn)證系統(tǒng)運(yùn)行測試程序。
3、系統(tǒng)狀態(tài)導(dǎo)入調(diào)試主機(jī)把運(yùn)行模式置于狀態(tài)導(dǎo)入模式,進(jìn)行系統(tǒng)復(fù)位。引導(dǎo)服
務(wù)軟件識別當(dāng)前運(yùn)行模式,完成下面操作將內(nèi)存控制器退出自刷新狀態(tài),通過網(wǎng)絡(luò)從調(diào)試
主機(jī)下載內(nèi)存映像到區(qū)域V中,讓內(nèi)存控制器進(jìn)入自刷新狀態(tài),發(fā)起停時鐘請求,進(jìn)入暫停
狀態(tài)。試主機(jī)查詢暫停狀態(tài)寄存器,直至?xí)和顟B(tài)為真。調(diào)試主機(jī)通過調(diào)試接口,用掃描鏈
將被調(diào)試芯片的所有觸發(fā)器、宏單元、SRAM的值寫入。 4、系統(tǒng)狀態(tài)導(dǎo)出調(diào)試主機(jī)通過調(diào)試接口,用掃描鏈將被調(diào)試芯片的所有觸發(fā)器、宏單元、SRAM的值讀出。運(yùn)行模式置于狀態(tài)導(dǎo)出模式,進(jìn)行系統(tǒng)復(fù)位。引導(dǎo)服務(wù)軟件識別當(dāng)前運(yùn)行模式,完成下面的操作將內(nèi)存控制器退出自刷新狀態(tài),通過網(wǎng)絡(luò)將內(nèi)存映像送出到調(diào)試主機(jī),把內(nèi)存控制器置于自刷新狀態(tài),發(fā)起停時鐘請求,進(jìn)入暫停狀態(tài)。調(diào)試主機(jī)查詢暫停狀態(tài)寄存器,直至?xí)和顟B(tài)為真。 5、建立快照點(diǎn)驗(yàn)證系統(tǒng)在一個周期性系統(tǒng)服務(wù)中(比如時鐘中斷服務(wù))加入斷點(diǎn)建立代碼。斷點(diǎn)建立代碼被調(diào)用,停止所有訪存操作,并將內(nèi)存控制器置于自刷新狀態(tài)。斷點(diǎn)建立代碼發(fā)起停時鐘請求,進(jìn)入定長等待循環(huán)?;鞠到y(tǒng)各模塊時鐘確定性地停下,進(jìn)入暫停狀態(tài),斷點(diǎn)建立完成。 快照點(diǎn)建立完成后驗(yàn)證系統(tǒng)在調(diào)試控制器控制下,由其決定是否直接從斷點(diǎn)繼續(xù)運(yùn)行。如果直接繼續(xù)(斷點(diǎn)自動繼續(xù)數(shù)目寄存器大于零),則調(diào)試控制器送出繼續(xù)脈沖,基本系統(tǒng)各模塊時鐘恢復(fù)。斷點(diǎn)建立代碼從等待循環(huán)退出,將內(nèi)存控制器退出自刷新狀態(tài)。斷點(diǎn)建立代碼結(jié)束,繼續(xù)運(yùn)行測試。如果不是直接繼續(xù),則驗(yàn)證系統(tǒng)將停留在暫停狀態(tài),調(diào)試主機(jī)可選擇進(jìn)行系統(tǒng)狀態(tài)導(dǎo)出操作。 盡管參照優(yōu)選實(shí)施例已經(jīng)描述了本發(fā)明,本領(lǐng)域熟練技術(shù)人員將認(rèn)識到,可以進(jìn)行形式和細(xì)節(jié)上的改變,只要不脫離本發(fā)明的精神和范圍。本發(fā)明試圖不局限于被公開的 具體實(shí)施例,如預(yù)期用于實(shí)施本發(fā)明的最佳模式,相反,本發(fā)明將包括落入附加權(quán)利要求的 范圍的全部實(shí)施例。
權(quán)利要求
一種支持處理器硅后調(diào)試的裝置,包括調(diào)試主機(jī)和驗(yàn)證系統(tǒng),其中驗(yàn)證系統(tǒng)包括基本系統(tǒng)、調(diào)試控制器和網(wǎng)卡,其特征在于基本系統(tǒng)包括處理器核、內(nèi)存、啟動閃存、串口輸出和時鐘控制模塊;驗(yàn)證系統(tǒng)還包括調(diào)試控制器;其中,所述時鐘控制模塊用于使各功能時鐘可被確定地停下,從而進(jìn)入暫停狀態(tài),在暫停狀態(tài)下處理器中所有的內(nèi)部狀態(tài)都可通過測試接口訪問;所述調(diào)試控制器用于使調(diào)試主機(jī)可以遠(yuǎn)程地讀取或者控制基本系統(tǒng)的接口信號。
2. 根據(jù)權(quán)利要求1所述的支持處理器硅后調(diào)試的裝置,其中基本系統(tǒng)內(nèi)的各個模塊均 為具有確定性的單時鐘同步模塊,且模塊之間的交互也實(shí)現(xiàn)確定性,因而使整個基本系統(tǒng) 行為完全確定。
3. 根據(jù)權(quán)利要求2所述的支持處理器硅后調(diào)試的裝置,其中調(diào)試控制器包括TAP接口、 復(fù)位控制寄存器、運(yùn)行模式寄存器、暫停狀態(tài)寄存器、斷點(diǎn)自動繼續(xù)數(shù)目寄存器和脈沖生成 器。復(fù)位控制、運(yùn)行模式、暫停狀態(tài)寄存器分別對應(yīng)基本系統(tǒng)的接口信號,調(diào)試主機(jī)可通過 它們設(shè)置基本系統(tǒng)的復(fù)位信號和運(yùn)行模式,并取得暫停信號的值;調(diào)試控制器還包括斷點(diǎn)自動繼續(xù)數(shù)目寄存器和脈沖生成器,用于決定基本系統(tǒng)進(jìn)入暫 停狀態(tài)后是否自動恢復(fù)。
4. 根據(jù)權(quán)利要求3所述的支持處理器硅后調(diào)試的裝置,其中調(diào)試主機(jī)與驗(yàn)證系統(tǒng)相 連,控制調(diào)試過程。
5. 根據(jù)權(quán)利要求4所述的支持處理器硅后調(diào)試的裝置,其特征在于測試時軟件的運(yùn) 行局限在基本系統(tǒng)內(nèi)部,不會訪問基本系統(tǒng)以外的設(shè)備。
6. —種支持處理器硅后調(diào)試的方法,其特征在于,包括下面的步驟A、 準(zhǔn)備驗(yàn)證環(huán)境步驟,用于在基本系統(tǒng)內(nèi)部初始化驗(yàn)證所需要的軟件環(huán)境;B、 運(yùn)行驗(yàn)證程序步驟,用于在基本系統(tǒng)中運(yùn)行驗(yàn)證程序;C、 系統(tǒng)狀態(tài)導(dǎo)入步驟,用于將保存在調(diào)試主機(jī)中的系統(tǒng)狀態(tài)加載到基本系統(tǒng)中;D、 系統(tǒng)狀態(tài)導(dǎo)出步驟,用于將基本系統(tǒng)系統(tǒng)的狀態(tài)導(dǎo)出保存到調(diào)試主機(jī)中;E、 建立快照點(diǎn)步驟,用于清理基本系統(tǒng)的狀態(tài),使其可被干凈地導(dǎo)入導(dǎo)出。
7. 根據(jù)權(quán)利要求6所述的支持處理器硅后調(diào)試的方法,其中準(zhǔn)備驗(yàn)證環(huán)境步驟A包括下面的步驟Al、調(diào)試主機(jī)將運(yùn)行模式置于驗(yàn)證準(zhǔn)備模式,進(jìn)行系統(tǒng)復(fù)位;A2、引導(dǎo)服務(wù)軟件通過網(wǎng)絡(luò)讀入驗(yàn)證所需的軟件環(huán)境,存放到內(nèi)存區(qū)域V中;A3、將內(nèi)存控制器置于自刷新狀態(tài),并進(jìn)入暫停狀態(tài);A4、調(diào)試主機(jī)查詢暫停狀態(tài)寄存器,直至?xí)和顟B(tài)為真。
8. 根據(jù)權(quán)利要求6所述的支持處理器硅后調(diào)試的方法,其中運(yùn)行驗(yàn)證程序步驟B包括下面的步驟Bl、調(diào)試主機(jī)將運(yùn)行模式置于仿真調(diào)試模式,進(jìn)行系統(tǒng)復(fù)位; B2、引導(dǎo)服務(wù)軟件識別當(dāng)前運(yùn)行模式,對基本系統(tǒng)進(jìn)行初始化; B3、引導(dǎo)服務(wù)軟件跳轉(zhuǎn)至區(qū)域V中驗(yàn)證環(huán)境的入口 ,啟動驗(yàn)證系統(tǒng);B4 、驗(yàn)證系統(tǒng)運(yùn)行測試程序。
9. 根據(jù)權(quán)利要求6所述的支持處理器硅后調(diào)試的方法,其中系統(tǒng)狀態(tài)導(dǎo)入步驟C包括下面的步驟Cl、調(diào)試主機(jī)把運(yùn)行模式置于狀態(tài)導(dǎo)入模式,進(jìn)行系統(tǒng)復(fù)位; C2 、引導(dǎo)服務(wù)軟件識別當(dāng)前運(yùn)行模式,導(dǎo)入內(nèi)存狀態(tài)后暫停; C3、調(diào)試主機(jī)查詢暫停狀態(tài)寄存器,直至?xí)和顟B(tài)為真;C4、調(diào)試主機(jī)通過調(diào)試接口,用掃描鏈將被調(diào)試芯片的所有觸發(fā)器、宏單元、SRAM的值 寫入。
10. 根據(jù)權(quán)利要求6所述的支持處理器硅后調(diào)試的方法,其中系統(tǒng)狀態(tài)導(dǎo)出步驟D包括 下面的步驟Dl、調(diào)試主機(jī)通過調(diào)試接口,用掃描鏈將被調(diào)試芯片的所有觸發(fā)器、宏單元、SRAM的值 讀出;D2、運(yùn)行模式置于狀態(tài)導(dǎo)出模式,進(jìn)行系統(tǒng)復(fù)位;D3 、引導(dǎo)服務(wù)軟件識別當(dāng)前運(yùn)行模式,導(dǎo)出內(nèi)存狀態(tài)后暫停;D4、調(diào)試主機(jī)查詢暫停狀態(tài)寄存器,直至?xí)和顟B(tài)為真。
11. 根據(jù)權(quán)利要求6所述的支持處理器硅后調(diào)試的方法,其中建立快照點(diǎn)步驟E包括下 面的步驟El、驗(yàn)證系統(tǒng)在一個周期性系統(tǒng)服務(wù)中加入斷點(diǎn)建立代碼;E2 、斷點(diǎn)建立代碼被調(diào)用,停止所有訪存操作,并將內(nèi)存控制器置于自刷新狀態(tài);E3 、斷點(diǎn)建立代碼發(fā)起停時鐘請求,進(jìn)入定長等待循環(huán); E4、基本系統(tǒng)各模塊時鐘確定性地停下,進(jìn)入暫停狀態(tài),斷點(diǎn)建立完成。
全文摘要
本發(fā)明公開了一種支持處理器硅后調(diào)試的裝置和方法,該裝置包括調(diào)試主機(jī)和驗(yàn)證系統(tǒng),其中驗(yàn)證系統(tǒng)包括基本系統(tǒng)、調(diào)試控制器和網(wǎng)卡?;鞠到y(tǒng)包括處理器核、內(nèi)存、啟動閃存、串口輸出和時鐘控制模塊。時鐘控制模塊用于使各功能時鐘可被確定地停下,從而進(jìn)入暫停狀態(tài),在暫停狀態(tài)下處理器中所有的內(nèi)部狀態(tài)都可通過測試接口用掃描鏈訪問。驗(yàn)證系統(tǒng)還包括調(diào)試控制器,用于與調(diào)試主機(jī)相連,使之可以遠(yuǎn)程地讀取或者控制基本系統(tǒng)的接口信號。
文檔編號G06F11/26GK101714114SQ200910243809
公開日2010年5月26日 申請日期2009年12月21日 優(yōu)先權(quán)日2009年12月21日
發(fā)明者蘇孟豪, 陳云霽 申請人:北京龍芯中科技術(shù)服務(wù)中心有限公司