專利名稱:Dma設(shè)備的實時調(diào)試支持及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理系統(tǒng),并且更具體地,涉及數(shù)據(jù)處理系統(tǒng)中的測試與調(diào)試特征。
背景技術(shù):
數(shù)據(jù)處理系統(tǒng)具有當作系統(tǒng)通信高速通道的一個或多個總線。該一個或多個總線在由時鐘周期定義的時間段期間用于傳輸?shù)刂?、?shù)據(jù)和/或控制信息。在文獻中記錄了應用各種技術(shù)檢測數(shù)據(jù)處理系統(tǒng)中電路的功能和校驗與驗證執(zhí)行軟件的功能,稱為軟件程序調(diào)試。測試方法的關(guān)鍵部分是獲得數(shù)據(jù)處理系統(tǒng)各部分的外部可視性,例如寄存器的內(nèi)容和系統(tǒng)操作的結(jié)果。數(shù)據(jù)處理系統(tǒng)外部的測試與調(diào)試設(shè)備用于監(jiān)視由系統(tǒng)的一個或多個總線傳送的地址值、數(shù)據(jù)和控制信息。
典型的數(shù)據(jù)處理系統(tǒng)使用稱為直接存儲器訪問(DMA)的技術(shù)。利用直接存儲器訪問,可以最少地使用中央處理器(CPU)在輸入/輸出設(shè)備和存儲器之間直接傳送信息。從而,DMA控制器可用于在數(shù)據(jù)處理系統(tǒng)中從源向目標傳送信息流。
片上系統(tǒng)(SOC)設(shè)計通常包括多個設(shè)備和總線,這些設(shè)備和總線能夠利用實時技術(shù)產(chǎn)生調(diào)試消息。例如,稱為IEEE ISTO 5001或者Nexus調(diào)試標準的IEEE標準是已經(jīng)建立的實時調(diào)試標準,它利用多個片上設(shè)備支持實時調(diào)試消息產(chǎn)生。Nexus調(diào)試標準規(guī)定了一種機制,為外部記錄重建工具標識系統(tǒng)中預定的操作條件。然而,此調(diào)試信息通常限于監(jiān)視從系統(tǒng)存儲器讀取的或向系統(tǒng)存儲器寫入的信息和記錄執(zhí)行的軟件執(zhí)行流的變化,軟件執(zhí)行流例如為最后采用的分支以來執(zhí)行的大量順序指令。當前調(diào)試處理器功能提供非常有限數(shù)量的有關(guān)DMA活動的信息。
本發(fā)明通過示例說明并且不限于附圖,其中相同的引用標記表示相同的元件,其中圖1以框圖形式表示根據(jù)本發(fā)明一個實施例的數(shù)據(jù)處理系統(tǒng);圖2以框圖形式表示根據(jù)本發(fā)明的替換數(shù)據(jù)處理系統(tǒng);圖3以時序圖形式表示作為時間的函數(shù)的通道信息傳送;圖4以示意圖形式表示第一傳送消息的格式;圖5以示意圖形式表示第二傳送消息的格式;圖6以示意圖形式表示第三傳送消息的格式;圖7以示意圖形式表示第四傳送消息的格式;圖8以示意圖形式表示第五傳送消息的格式;圖9以布局圖形式表示用于DMA消息傳遞的控制寄存器;以及圖10以布局圖形式表示用于周期性狀態(tài)消息傳遞的控制寄存器。
技術(shù)人員明白,圖中的各元件僅出于簡明的目的說明,并不一定依比例繪制。例如,圖中一些元件的尺度可能相對于其它元件夸大,以有助于提高對于本發(fā)明實施例的理解。
具體實施例方式
此處使用的術(shù)語“總線”指多個信號或?qū)w,可用于傳送一種或者多種類型的信息,例如數(shù)據(jù)、地址、控制或狀態(tài)。當涉及使信號、比特或者類似裝置呈現(xiàn)其邏輯真或者邏輯假狀態(tài)時,分別使用“有效”(assert)和“否定”。如果邏輯真狀態(tài)是邏輯水平一,則邏輯假狀態(tài)是邏輯水平零。進一步地,此處說明的存儲器可為任何類型的存儲器,例如只讀存儲器(ROM)、隨機存取存儲器(RAM)、靜態(tài)隨機存取存儲器(SRAM)、非易失性存儲器(例如,閃存)以及MRAM等等。
圖1以框圖形式表示提供實時DMA專用調(diào)試功能的數(shù)據(jù)處理系統(tǒng)10。數(shù)據(jù)處理系統(tǒng)10允許專用于DMA總線主控器的一類實時調(diào)制消息類型,這些消息表明關(guān)鍵的狀態(tài)參數(shù)。數(shù)據(jù)處理系統(tǒng)10因此經(jīng)由DMA單元的實時消息提供改進的調(diào)試信息源。
在一種形式中,提供多導體系統(tǒng)總線12在所有系統(tǒng)設(shè)備間進行通信。處理器14雙向連接至系統(tǒng)總線12。盡管通過斜線將此處說明的雙向總線表示為多個導體總線,但是應當容易地理解,還可實現(xiàn)單個導體總線和/或多個單向總線。同樣雙向連接至系統(tǒng)總線12的是DMA控制器設(shè)備16、存儲器18、存儲器20、外圍設(shè)備22、外圍設(shè)備24、調(diào)試模塊26和總線仲裁器28。調(diào)試模塊26在其輸出端提供用于提供調(diào)試信息的調(diào)試端口。DMA控制設(shè)備16和處理器14的每一個具有輸出端,用于向調(diào)試模塊26提供多比特狀態(tài)信號。處理器14和DMA控制器設(shè)備16的每一個分別具有耦合至總線仲裁器28的多比特雙向總線。外圍設(shè)備22的輸出端連接至DMA控制器設(shè)備16,以提供標記為DMA_REQ的DMA請求信號。類似地,外圍設(shè)備24的輸出端連接至DMA控制器設(shè)備16,以提供標記為DMA_REQ的DMA請求信號。盡管在圖1中將此處說明的系統(tǒng)單元表示為直接連接至系統(tǒng)總線12,但是應當理解,諸如驅(qū)動器、緩沖器等的耦合電路(未示出)可位于系統(tǒng)總線12和說明的系統(tǒng)單元之間。
在操作中,數(shù)據(jù)處理系統(tǒng)10利用處理器14執(zhí)行預定的指令集。信息存儲在存儲器18或存儲器20之一中。應當理解,可以僅實現(xiàn)一個存儲器或者其它數(shù)量的存儲器,并且連接至系統(tǒng)總線12。DMA控制器設(shè)備16用于控制從數(shù)據(jù)處理系統(tǒng)10中的源向數(shù)據(jù)處理系統(tǒng)10中的目標傳送信息流。數(shù)據(jù)處理系統(tǒng)10中的信息在通道中傳送,該信息是在源與目標間關(guān)聯(lián)的流。數(shù)據(jù)處理系統(tǒng)10中的外圍設(shè)備,例如外圍設(shè)備22或者外圍設(shè)備24,可為任何種類的電路設(shè)備,但是通常通過不向總線仲裁器28請求系統(tǒng)總線12的控制而充當系統(tǒng)總線12的從設(shè)備。不管外圍設(shè)備為何種設(shè)備,這些外圍設(shè)備形成系統(tǒng)存儲器映射的一部分。總線仲裁器28用于在數(shù)據(jù)處理系統(tǒng)10中請求控制系統(tǒng)總線12的任何設(shè)備間仲裁系統(tǒng)總線12的控制。大量常規(guī)仲裁算法中的任一種可用于實現(xiàn)數(shù)據(jù)處理系統(tǒng)10。調(diào)試模塊26用于提供與DMA控制器設(shè)備16關(guān)聯(lián)的一個或多個實時調(diào)試消息,如下所述。換言之,調(diào)試模塊26通過從DMA控制器設(shè)備16和處理器14接收狀態(tài)信號監(jiān)視DMA控制器設(shè)備16,并且生成下述的實時調(diào)試消息以輸出至調(diào)試端口。
圖2所示的是圖1的數(shù)據(jù)處理系統(tǒng)10配置的替換實施例。系統(tǒng)總線30雙向連接至DMA控制器44和預定數(shù)量的其它系統(tǒng)單元,例如系統(tǒng)單元40和系統(tǒng)單元42。系統(tǒng)單元40和系統(tǒng)單元42可為任何類型的總線主控器或總線從設(shè)備。系統(tǒng)單元40、DMA控制器44和系統(tǒng)單元42的每一個分別雙向連接至調(diào)試模塊32、調(diào)試模塊34和調(diào)試模塊36。每一調(diào)試模塊32、調(diào)試模塊34和調(diào)試模塊36的輸出端連接至調(diào)試端口邏輯38。調(diào)試端口邏輯38提供用于提供實時調(diào)試消息的調(diào)試端口。如圖2中的點線所示,任意數(shù)量的調(diào)試模塊和系統(tǒng)單元可耦合在系統(tǒng)總線30和調(diào)試端口邏輯38之間。
在替換形式中,按照某種方式劃分調(diào)試模塊的功能,以針對耦合至系統(tǒng)總線30的每一系統(tǒng)單元分配調(diào)試模塊,包括DMA控制器44。調(diào)試端口邏輯38從每一調(diào)試模塊32、調(diào)試模塊34和調(diào)試模塊36接收消息,并且在調(diào)試端口邏輯處提供這些消息。在一種形式中,將調(diào)試端口邏輯38的邏輯配置為在時間順序的基礎(chǔ)上提供調(diào)試消息,其中按照從各種調(diào)試模塊接收消息的順序輸出這些消息。然而,可使用其它邏輯配置實現(xiàn)調(diào)試輸出的其它順序。
圖3中所示的是表明圖1或圖2的系統(tǒng)實施例中通道上傳輸活動的時序圖,通道由X表示。假設(shè)通道X是與源和目標關(guān)聯(lián)的任一系統(tǒng)實施例中的預定說明性數(shù)據(jù)流。DMA控制器設(shè)備16和DMA控制器44的每一個被配置為支持多個通道,以從源向目標傳送信息流。當從任一源或目標設(shè)備接收到DMA請求消息時,例如DMA_REQ,產(chǎn)生通道中的傳輸。例如,在圖3中示出了三個分別的請求。每一請求具有與其關(guān)聯(lián)的延遲,例如延遲50與第一請求關(guān)聯(lián),延遲52與第二請求關(guān)聯(lián),延遲54與第三請求關(guān)聯(lián)。每一延遲的長度不同,這是由于多種系統(tǒng)因素造成的,例如由總線仲裁器28確定的DMA控制器設(shè)備16的當前優(yōu)先級和由DMA控制器設(shè)備16的操作確定的通道X的優(yōu)先級。此延遲是系統(tǒng)特性,希望其在系統(tǒng)外部可知并且不中斷系統(tǒng)。
信息流的傳輸繼續(xù),直到每次請求已經(jīng)傳送特定字節(jié)數(shù)的數(shù)據(jù)。在圖3示出的形式中,假設(shè)DMA控制器設(shè)備16和DMA控制器44的每一個每次請求傳送N字節(jié)的信息,其中N為整數(shù)。例如,響應于三個分離的和順序的通道請求進行傳輸60、傳輸62和傳輸64。應當注意,傳輸可中斷,例如與傳輸62關(guān)聯(lián)的中斷期66。中斷期66可由多種系統(tǒng)因素導致,例如由總線仲裁器28確定的總線主控關(guān)系的改變。每一N字節(jié)的傳輸被稱為“迭代”或者“次循環(huán)迭代”。在“主循環(huán)迭代”中執(zhí)行大量次循環(huán)迭代。應當注意,術(shù)語“迭代”的使用并不暗示或者要求相同次循環(huán)或主循環(huán)傳輸?shù)闹貜汀O喾?,在此語境下,迭代指這樣的事實,對于任何通道,例如圖3的通道X,傳輸活動是共同的,并且因此出現(xiàn)多個連續(xù)的傳輸。在圖3示例中,主循環(huán)迭代65中有三個次循環(huán)迭代,次循環(huán)迭代59、次循環(huán)迭代61和次循環(huán)迭代63。因此,可將所說明的通道操作視為兩層嵌套傳輸操作,其中兩個層次的嵌套是主循環(huán)和次循環(huán)。應當理解,可以存在任何數(shù)量的次循環(huán)迭代,如通道請求信號中點線所示。完成次循環(huán)迭代之后,系統(tǒng)總線12的控制可轉(zhuǎn)移至具有未決請求的更高優(yōu)先級通道?;蛘?,可產(chǎn)生觸發(fā)事件,以觸發(fā)另一通道開始次循環(huán)迭代。還可在主循環(huán)迭代的終止處轉(zhuǎn)移系統(tǒng)總線12的控制。
為了優(yōu)化總體系統(tǒng)操作,當系統(tǒng)執(zhí)行時DMA活動各方面的外部可視性非常重要。因此,此處提供一組與DMA活動相關(guān)的實時跟蹤消息。
在圖4中所示的是標識第一傳輸開始的第一實時DMA控制器消息,第一傳輸例如為圖3的主循環(huán)迭代65的第一傳輸。第一傳輸消息示出為具有五個字段,其中兩個字段是可選的。第一字段被標識為類型碼(TCODE)字段,該字段標識消息的類型或功能。僅作為示例,選擇六比特TCODE值110111將該消息標識為“第一傳輸開始”消息。第二字段是通道標識(通道ID)字段,在一種形式中,該字段的長度是四至八比特,通知與該消息關(guān)聯(lián)的是什么通道和通道類型。第三字段是通道狀態(tài)字段,僅作為示例,長度可為一至八比特中的任一個。通道狀態(tài)的示例包括第一傳輸開始時通道的優(yōu)先級、通道的利用因子(即,例如百分比)、之前是否發(fā)生通道的傳輸錯誤以及各種其它狀態(tài)或者信息細節(jié)。第四字段可選,它是表示通道將傳輸多少信息的傳輸計數(shù)。該字段可包含與通道關(guān)聯(lián)的每個次循環(huán)迭代的傳輸計數(shù)信息,并且/或者可包含與該通道關(guān)聯(lián)的主循環(huán)迭代的傳輸計數(shù)信息。僅作為示例,傳輸計數(shù)字段的長度可從八至六十四比特,但也可采用其它比特長度。第五字段也是可選的,它是傳輸業(yè)務(wù)延遲。傳輸業(yè)務(wù)延遲標識從初始通道請求至開始傳輸活動需要多長時間。換言之,此字段中的值是與第一傳輸關(guān)聯(lián)的中斷延遲,例如延遲50??衫谜{(diào)試模塊26中或其它地方的計數(shù)器(未示出)測量此字段中的值,以計算與延遲50關(guān)聯(lián)的時間段。在一種形式中,該傳輸業(yè)務(wù)延遲字段的長度可為八至六十四比特,但是也可使用其它比特長度。
圖5中所示的是第二實時DMA控制器消息,該消息標識次循環(huán)迭代的開始,例如圖3的任何次循環(huán)迭代59、61和63。此第二傳輸消息被示出為具有五個字段,其中兩個字段是可選的。第一字段是類型碼(TCODE)字段,該字段將消息標識為“次循環(huán)迭代開始”消息。僅出于示例的目的,類型碼被表示為111000,但可以使用其它值和比特長度。第二字段是通道標識(ID)字段,該字段標識與次循環(huán)迭代開始關(guān)聯(lián)的通道。第三字段是通道狀態(tài)字段,該字段標識通道的一個或多個參數(shù),例如上面對于第一消息說明的狀態(tài)信息。第四字段是傳輸計數(shù),用于標識通道將傳送多少信息,如上對于第一消息的傳輸計數(shù)字段的說明。第五字段是傳輸業(yè)務(wù)延遲字段,該字段標識延遲,例如延遲50、延遲52或者延遲54。再一次地,為每一字段提供的比特長度僅作為示例。
圖6中所示的是第三實時DMA控制器消息,該消息標識諸如圖3的任何次循環(huán)迭代59、61和63的次循環(huán)迭代的終止。此第三傳輸消息被表示為具有五個字段,其中兩個字段是可選的。第一字段是類型碼(TCODE)字段,該字段將消息標識為“次循環(huán)迭代終止”消息。僅出于示例目的,類型碼被表示為111001,但是可使用其它值和比特長度。第二字段是通道標識(ID)字段,該字段標識與次循環(huán)迭代終止關(guān)聯(lián)的通道。第三字段是通道狀態(tài)字段,該字段標識通道的一個或多個狀態(tài)參數(shù),例如上面針對第一消息說明的狀態(tài)信息。第四字段是迭代計數(shù),標識目前在系統(tǒng)總線上傳送哪個次循環(huán)迭代。第五字段是迭代間隔,它是次循環(huán)迭代持續(xù)多長時間的計數(shù)值??墒褂梦挥谙到y(tǒng)中任何位置的計數(shù)器(未示出),但是優(yōu)選地,該計數(shù)器處于調(diào)試模塊之中或者與其接近。再一次地,為每一字段提供的比特長度僅作為示例。還可配置調(diào)試模塊26,使得即使通常由于傳輸錯誤造成整個次循環(huán)并未全部完成也可以生成第三傳輸消息。
圖7中所示的是第四實時DMA控制器消息,該消息標識主循環(huán)迭代完成,例如圖3的主循環(huán)迭代65。此第四傳輸消息被表示為具有五個字段,其中兩個字段是可選的。第一字段是類型碼(TCODE)字段,該字段將消息標識為“主循環(huán)迭代終止”消息。僅出于示例目的,類型碼被表示為111010,但是可以使用其它值和比特長度。第二字段是通道標識(ID)字段,該字段標識與主循環(huán)迭代終止關(guān)聯(lián)的通道。第三字段是通道狀態(tài)字段,該字段標識通道的一個或多個狀態(tài)參數(shù),例如上面對于第一消息說明的狀態(tài)信息。第四字段是傳輸計數(shù),用于標識通道已經(jīng)傳送了多少信息,如上對于第一消息的傳輸計數(shù)字段的說明。第五字段是傳輸間隔字段,它是主循環(huán)迭代持續(xù)多長時間的計數(shù)值??墒褂梦挥谙到y(tǒng)中任何位置的計數(shù)器(未示出),但優(yōu)選地,該計數(shù)器處于調(diào)試模塊26中或與其接近。再一次地,為每一字段提供的比特長度僅作為示例。還可配置調(diào)試模塊26,使得即使通常由于傳輸錯誤造成整個主循環(huán)并未全部完成也可以生成第四傳輸消息。
圖8中所示的是第五實時DMA控制器消息,該消息在周期性的基礎(chǔ)上提供標識的通道的狀態(tài)。該周期性的消息收發(fā)用于提供標識的通道的一個或者多個狀態(tài)指標。此第五傳輸消息被表示為具有四個字段,其中一個字段是可選的。第一字段是類型碼(TCODE)字段,該字段將消息標識為‘周期狀態(tài)’消息。僅出于示例目的,類型碼被表示為111011,但是可以使用其它值和比特長度。第二字段是通道標識(ID)字段,該字段標識與提供的狀態(tài)信息關(guān)聯(lián)的通道。第三字段是通道狀態(tài)字段,該字段標識通道的一個或多個狀態(tài)參數(shù),例如上面結(jié)合第一消息的討論而說明的狀態(tài)信息。第四字段是當前傳輸計數(shù),標識在與狀態(tài)相關(guān)的時刻當前傳輸已經(jīng)進行了多少。周期性的狀態(tài)消息可用于確定系統(tǒng)中通道的相對進展和允許通道優(yōu)先級以及DMA通道的總線主控器優(yōu)先級的修改。為了生成周期性的狀態(tài)消息,通過下面說明的可編程的寄存器控制啟動該功能。當啟動該功能時,何時提供周期性的狀態(tài)消息的時序是明確的。無論何時出現(xiàn)預先確定或者預先定義數(shù)量的系統(tǒng)時鐘或總線周期,可產(chǎn)生周期性的狀態(tài)消息?;蛘?,可根據(jù)固定周期生成周期性的狀態(tài)消息,固定周期由系統(tǒng)中連接的特定硬件確定。
圖9中所示的是一個DMA通道的控制寄存器70。僅在示例形式中,控制寄存器70具有啟動或者禁止八五DMA實時消息的五個比特和啟動或者禁止生成觀察點觸發(fā)的四個比特。在一種形式中,提供各種DMA通道的控制寄存器,每一個都類似于控制寄存器70,它們位于調(diào)試模塊26中??刂萍拇嫫?0用于表示為通道“CH0”的DMA通道。緊接著控制寄存器70下方的是任何通道的控制比特功能的說明,通道表示為通道x,CHx。控制寄存器70的第一比特,比特0,啟動周期性狀態(tài)消息功能。當比特0具有有效(asserted)的邏輯一值時,調(diào)試模塊26將產(chǎn)生具有圖8所示格式的周期性的狀態(tài)消息。按照類似的方式,控制寄存器70的比特五、六、七和八分別啟動或者禁止圖7、6、5和4的消息。除了圖4-8的DMA消息外,控制寄存器70用于啟動觀察點的觸發(fā),以進行數(shù)據(jù)處理系統(tǒng)10的外部分析。此處使用的術(shù)語“觀察點”指監(jiān)視預定的內(nèi)部系統(tǒng)事件和當發(fā)生這些系統(tǒng)事件時的信令或指示??刂萍拇嫫?0的比特1、2、3和4與觀察點功能的啟動關(guān)聯(lián)。當啟動這些觀察點時,由調(diào)試模塊26向與出現(xiàn)的功能關(guān)聯(lián)的調(diào)試端口提供指示,而不是在事件發(fā)生時進行指示。例如,SOTWTE比特啟動確定在關(guān)聯(lián)通道中傳輸開始以及如果發(fā)生傳輸則在調(diào)試端口使信號有效或提供消息的功能。圖9中提供的其它觀察點比特用于指示出現(xiàn)迭代(可定義次循環(huán)或者主循環(huán))的開始(比特3),出現(xiàn)迭代(次循環(huán)或主循環(huán))的終止(比特2)以及出現(xiàn)傳輸(次循環(huán)或者主循環(huán))的結(jié)束(比特1)。觀察點功能的選擇性使用可用于啟動其它調(diào)試功能。例如,可在數(shù)據(jù)處理系統(tǒng)10中使用“傳輸終止”觀察點來觸發(fā)與系統(tǒng)單元40、系統(tǒng)單元42、處理器14關(guān)聯(lián)的其它調(diào)試功能或者數(shù)據(jù)處理系統(tǒng)10中任何其它希望的功能??刂萍拇嫫?0的功能可從圖9中所示的功能擴大或者縮小,這取決于希望的應用需求??刂萍拇嫫?0還可位于除調(diào)試模塊26之外的數(shù)據(jù)處理系統(tǒng)10的其它區(qū)域中。
圖10中所示的是周期性的狀態(tài)消息控制寄存器80,具有針對于DMA控制器設(shè)備16的每一希望的通道數(shù)量的字段。在示出的形式中,提供四個通道并且分配三十二個比特,但是可使用任何數(shù)量的通道和比特。在第一通道字段中,表示為CH0,存儲在其中的數(shù)字值控制由調(diào)試模塊26產(chǎn)生的周期性狀態(tài)消息的速率。因此,周期性的狀態(tài)消息控制寄存器80允許用于每一將要產(chǎn)生的每一通道的可編程的和獨立的報告速率。
到現(xiàn)在為止應當明白,已經(jīng)提供了一種實時調(diào)試支持方法和結(jié)構(gòu),該方法和結(jié)構(gòu)以DMA操作參數(shù)專用消息的形式提供信息。包括在DMA操作參數(shù)信息中的是知道DMA傳輸何時開始和終止,知道每一個次循環(huán)迭代的開始和終止時刻,知道主循環(huán)迭代開始和終止時刻,知道預定DMA通道的周期狀態(tài)以及知道多大的延遲與每一DMA通道請求關(guān)聯(lián)。此處說明的DMA調(diào)試消息根據(jù)DMA控制器設(shè)備16中現(xiàn)有的信號生成,并且在實時基礎(chǔ)上生成,因此在DMA控制器設(shè)備16或處理器14的操作中不出現(xiàn)中斷。通過具有對于包含在此處說明的DMA消息中包含的信息的外部訪問,可容易地獲得改進水平的片上系統(tǒng)(SOC)調(diào)試、驗證和性能。
在一種形式中,提供了一種系統(tǒng)及其操作方法,該系統(tǒng)具有通信總線和耦合至該通信總線的直接存儲器訪問(DMA)設(shè)備。該直接存儲器訪問設(shè)備控制信息通道,信息通道的每一通道經(jīng)由通道傳輸從系統(tǒng)中的源向目標傳送信息。調(diào)試控制電路耦合至DMA設(shè)備,該調(diào)試控制電路提供調(diào)試消息,調(diào)試消息標識至少一個預定通道的DMA通道傳輸邊界的存在。調(diào)試控制電路進一步包括可編程控制機制,用于選擇調(diào)試消息將標識通道傳輸邊界的存在的、由直接存儲器訪問設(shè)備控制的那個信息通道。由調(diào)試控制電路提供的調(diào)試消息之一表明至少一個預定通道的通道傳輸已經(jīng)開始。另一調(diào)試消息進一步表明至少一個預定通道的狀態(tài)參數(shù)。在一種形式中,狀態(tài)參數(shù)為下列之一(1)至少一個預定通道的通道優(yōu)先級;(2)至少一個預定通道的利用因子;(3)對于至少一個預定通道以前是否發(fā)生傳輸錯誤。在另一形式中,調(diào)試消息之一進一步表明與通道傳輸關(guān)聯(lián)的時間延遲,該時間延遲表明直接存儲器訪問設(shè)備接收到開始傳送信息的請求和實際傳送信息間的系統(tǒng)延遲。在又一形式中,由調(diào)試控制電路提供的調(diào)試消息之一表明至少一個預定通道的通道傳輸已經(jīng)終止。在另一形式中,由調(diào)試控制電路提供的調(diào)試消息之一表明至少一個預定通道的多個次循環(huán)迭代的每一個已經(jīng)開始。在另一形式中,由調(diào)試控制電路提供的調(diào)試消息之一表明至少一個預定通道的多個次循環(huán)迭代的每一個已經(jīng)終止。在另一形式中,由調(diào)試控制電路提供的調(diào)試消息之一表明至少一個預定通道的周期性狀態(tài)?;蛘撸蓪⑾到y(tǒng)配置為具有多個系統(tǒng)單元,多個系統(tǒng)單元的每一個耦合至通信總線。在替換形式中,調(diào)試控制電路進一步包括多個調(diào)試模塊,用于提供調(diào)試消息,多個調(diào)試模塊的每一個均耦合至多個系統(tǒng)單元的預定的一個。調(diào)試端口邏輯耦合至多個調(diào)試模塊,以向調(diào)試端口提供調(diào)試消息。
在另一形式中,提供了一種系統(tǒng)和操作方法,該系統(tǒng)具有通信總線和耦合至通信總線的直接存儲器訪問(DMA)設(shè)備。直接存儲器訪問(DMA)設(shè)備控制信息通道,信息通道的每一通道經(jīng)由通道傳輸從系統(tǒng)中的源向目標傳送信息。調(diào)試控制電路耦合至DMA設(shè)備,該調(diào)試控制電路提供調(diào)試消息,調(diào)試消息周期性地提供至少一個預定通道的至少一個狀態(tài)參數(shù)。在一種形式中,至少一個狀態(tài)參數(shù)是下列至少一個(1)至少一個預定通道的優(yōu)先級,(2)至少一個預定通道的利用因子,以及(3)對于至少一個預定通道之前是否發(fā)生傳輸錯誤。調(diào)試控制電路另外提供表明通道傳輸已經(jīng)開始的調(diào)試消息。調(diào)試控制電路另外提供表明通道傳輸已經(jīng)終止的調(diào)試消息。調(diào)試控制電路是可編程的,為每一信息通道啟動調(diào)試消息的選擇性生成。調(diào)試控制電路進一步地生成觀察點指示符,該觀察點指示符是至少一個預定通道的預定觀察點條件,該預定的觀察點條件是基于直接存儲器訪問設(shè)備活動的觀察點條件。調(diào)試控制電路進一步生成多個觀察點指示符,每一個觀察點指示符分別表明不同的一個信息通道的觀察點條件??刂萍拇嫫鞔鎯雍徒固峁┱{(diào)試消息的控制信號,調(diào)試消息周期性地提供至少一個預定通道的至少一個狀態(tài)參數(shù)。直接存儲器訪問設(shè)備實現(xiàn)相同通道內(nèi)的嵌套的信息傳輸,包括形成主循環(huán)迭代的多個次循環(huán)迭代。每一調(diào)試消息包括具有預定比特字段的多比特消息,這些字段包括消息類型字段、通道標識字段和狀態(tài)信息字段。
在另一形式中,提供一種系統(tǒng)和操作方法,該系統(tǒng)具有通信總線和耦合至該通信總線的直接存儲器訪問(DMA)設(shè)備。該直接存儲器訪問(DMA)設(shè)備控制多個信息通道,信息通道的每一通道經(jīng)由通道傳輸在系統(tǒng)中從源向目標傳送信息。調(diào)試控制電路耦合至DMA設(shè)備。該調(diào)試控制電路通過在每通道基礎(chǔ)上的可編程提供與直接存儲器訪問設(shè)備的操作參數(shù)相關(guān)的調(diào)試消息。該直接存儲器訪問設(shè)備的操作參數(shù)包括關(guān)于傳輸邊界是否出現(xiàn)和周期性狀態(tài)消息中至少一個的信息。調(diào)試控制電路進一步提供至少一個調(diào)試消息,調(diào)試消息包括與直接存儲器訪問設(shè)備的系統(tǒng)延遲相關(guān)的延遲信息,在直接存儲器訪問設(shè)備接收到通道傳輸請求后直接存儲器訪問設(shè)備開始通道傳輸。
應當明白,對于所公開的實施例可進行各種修改。例如,處理器14可實現(xiàn)為各種不同類型的數(shù)據(jù)處理電路,以執(zhí)行各種處理功能。任何類型的外圍設(shè)備可經(jīng)由系統(tǒng)總線耦合至處理器14,包括協(xié)處理器??衫萌魏尾煌谋忍卮笮崿F(xiàn)該系統(tǒng)。任何類型的存儲設(shè)備可用于說明的貯存器、寄存器和存儲器??砂凑杖魏畏绞礁淖兿⒆侄蔚捻樞颉?筛淖兛刂萍拇嫫髦锌刂票忍氐捻樞?。
上面對于特定實施例說明了益處、其它優(yōu)勢和問題的解決方案。然而,這些益處、優(yōu)勢、問題的解決方案以及使任何益處、優(yōu)勢或解決方案出現(xiàn)或顯得更加明顯的任何要素將不被視為任何或所有權(quán)利要求的關(guān)鍵的、必須的或本質(zhì)的特征。如此處所使用,術(shù)語“包括”或其任何其它變形,目的是涵蓋非排它性的內(nèi)容,使得包括一系列要素的過程、方法、物品或裝置不僅包括這些要素,而且包括沒有明確列出的或這些過程、方法、物品或裝置固有的要素。如此處所使用的,術(shù)語“一”(a或an)定義為一個或多個一個。如此處所使用,術(shù)語“多個”定義為兩個或多于兩個。如此處所使用,術(shù)語“另一”定義為至少第二或更多。如此處所使用,術(shù)語“包括”和/或“具有”定義為“包含”(例如,開放式語言)。如此處所使用,術(shù)語“耦合”,定義為“連接”,但是不一定是直接的也不一定是機械的連接。
權(quán)利要求
1.一種系統(tǒng),包括通信總線;耦合至所述通信總線的直接存儲器訪問(DMA)設(shè)備,所述直接存儲器訪問設(shè)備控制信息通道,所述信息通道的每一通道經(jīng)由通道傳輸在所述系統(tǒng)中從源向目標傳輸信息;以及耦合至所述直接存儲器訪問設(shè)備的調(diào)試控制電路,所述調(diào)試控制電路提供調(diào)試消息,該調(diào)試消息標識至少一個預定通道的DMA通道傳輸邊界的存在。
2.權(quán)利要求1所述的系統(tǒng),其中所述調(diào)試控制電路進一步包括可編程控制裝置,用于選擇將由所述調(diào)試消息標識通道傳輸邊界存在的、所述直接存儲器訪問設(shè)備控制的那個信息通道。
3.權(quán)利要求1所述的系統(tǒng),其中由所述調(diào)試控制電路提供的所述調(diào)試消息之一表示所述至少一個預定通道的通道傳輸已經(jīng)開始。
4.權(quán)利要求3所述的系統(tǒng),所述調(diào)試消息之一進一步表示所述至少一個預定通道的狀態(tài)參數(shù)。
5.權(quán)利要求4所述的系統(tǒng),其中所述狀態(tài)參數(shù)包括以下之一所述至少一個預定通道的通道優(yōu)先級,所述至少一個預定通道的利用因子,以及對于所述至少一個預定通道、之前是否發(fā)生傳輸錯誤。
6.權(quán)利要求3所述的系統(tǒng),其中所述調(diào)試消息之一進一步表示與所述通道傳輸關(guān)聯(lián)的時間延遲,該時間延遲表示所述直接存儲器訪問設(shè)備接收到開始傳輸信息的請求和實際傳輸所述信息之間的系統(tǒng)延遲。
7.權(quán)利要求1所述的系統(tǒng),其中由所述調(diào)試控制電路提供的所述調(diào)試消息之一表明所述至少一個預定通道的通道傳輸已經(jīng)終止。
8.權(quán)利要求1所述的系統(tǒng),其中由所述調(diào)試控制電路提供的所述調(diào)試消息之一表示所述至少一個預定通道的多個次循環(huán)迭代中的每一個已經(jīng)開始。
9.權(quán)利要求1所述的系統(tǒng),其中由所述調(diào)試控制電路提供的所述調(diào)試消息之一表示所述至少一個預定通道的多個次循環(huán)迭代中的每一個已經(jīng)結(jié)束。
10.權(quán)利要求1所述的系統(tǒng),其中由所述調(diào)試控制電路提供的所述調(diào)試消息之一表示所述至少一個預定通道的周期性狀態(tài)。
11.權(quán)利要求1所述的系統(tǒng),進一步包括多個系統(tǒng)單元,所述多個系統(tǒng)單元的每一個耦合至所述通信總線;其中所述調(diào)試控制電路進一步包括用于提供所述調(diào)試消息的多個調(diào)試模塊,所述多個調(diào)試模塊的每一個耦合至所述多個系統(tǒng)單元中預定的一個;以及耦合至所述多個調(diào)試模塊的調(diào)試端口邏輯,用于向調(diào)試端口提供所述調(diào)試消息。
12.一種系統(tǒng),包括通信總線;耦合至所述通信總線的直接存儲器訪問(DMA)設(shè)備,所述直接存儲器訪問設(shè)備控制信息通道,信息通道的每一通道經(jīng)由通道傳輸在所述系統(tǒng)中從源向目標傳輸信息;以及耦合至所述直接存儲器訪問設(shè)備的調(diào)試控制電路,所述調(diào)試控制電路提供調(diào)試消息,調(diào)試消息周期性地提供至少一個預定通道的至少一個狀態(tài)參數(shù)。
13.權(quán)利要求12所述的系統(tǒng),其中所述至少一個狀態(tài)參數(shù)進一步包括以下之一所述至少一個預定通道的通道優(yōu)先級,所述至少一個預定通道的利用因子,以及對于所述至少一個預定通道、之前是否發(fā)生傳輸錯誤。
14.權(quán)利要求12所述的系統(tǒng),其中所述調(diào)試控制電路另外提供調(diào)試消息,每一調(diào)試消息表示通道傳輸已經(jīng)開始。
15.權(quán)利要求12所述的系統(tǒng),其中所述調(diào)試控制電路另外提供調(diào)試消息,每一調(diào)試消息表示通道傳輸已經(jīng)終止。
16.權(quán)利要求12所述的系統(tǒng),其中所述調(diào)試控制電路是可編程的,為每一信息通道啟動所述調(diào)試消息的選擇性生成。
17.權(quán)利要求12所述的系統(tǒng),其中所述調(diào)試控制電路進一步生成觀察點指示符,該觀察點指示符是所述至少一個預定通道的預定觀察點條件,所述預定觀察點條件是基于所述直接存儲器訪問設(shè)備的活動的觀察點條件。
18.權(quán)利要求17所述的系統(tǒng),其中所述調(diào)試控制電路進一步生成多個觀察點指示符,每個觀察點指示符分別指示不同的一個信息通道的觀察點條件。
19.權(quán)利要求12所述的系統(tǒng),進一步包括用于存儲控制信號的控制寄存器,該控制信號啟動和禁止提供調(diào)試消息,該調(diào)試消息周期性地提供所述至少一個預定通道的至少一個狀態(tài)參數(shù)。
20.權(quán)利要求12所述的系統(tǒng),其中所述直接存儲器訪問設(shè)備在相同通道中實現(xiàn)嵌套的信息傳輸,包括形成主循環(huán)迭代的多個次循環(huán)迭代。
21.權(quán)利要求12所述的系統(tǒng),其中所述每個調(diào)試消息包括具有預定比特字段的多比特消息,這些預定比特字段包括消息類型字段、通道標識字段以及狀態(tài)信息字段。
22.一種系統(tǒng),包括通信總線;耦合至所述通信總線的直接存儲器訪問(DMA)設(shè)備,所述直接存儲器訪問設(shè)備控制多個信息通道,信息通道的每一通道經(jīng)由通道傳輸在所述系統(tǒng)中從源向目標傳輸信息;以及耦合至所述直接存儲器訪問設(shè)備的調(diào)試控制電路,所述調(diào)試控制電路通過在每通道基礎(chǔ)上的編程而選擇性地提供與所述直接存儲器訪問設(shè)備的操作參數(shù)相關(guān)的調(diào)試消息。
23.權(quán)利要求22所述的系統(tǒng),其中所述直接存儲器訪問設(shè)備的操作參數(shù)包括關(guān)于以下中至少一個的信息是否出現(xiàn)傳輸邊界以及周期性狀態(tài)信息。
24.權(quán)利要求22所述的系統(tǒng),其中所述調(diào)試控制電路進一步提供至少一個調(diào)試消息,該調(diào)試消息包括與所述直接存儲器訪問設(shè)備的系統(tǒng)延遲相關(guān)的延遲信息,在所述直接存儲器訪問設(shè)備接收到通道傳輸請求后開始通道傳輸。
25.一種在系統(tǒng)中進行實時調(diào)試支持的方法,包括提供通信總線;將直接存儲器訪問(DMA)設(shè)備耦合至所述通信總線,所述直接存儲器訪問設(shè)備控制信息通道,所述信息通道的每一通道在系統(tǒng)中經(jīng)由通道傳輸從源向目標傳輸信息;將調(diào)試控制電路耦合至所述直接存儲器訪問設(shè)備;以及提供調(diào)試消息,所述調(diào)試消息為所述信息通道的至少一個預定通道標識DMA通道傳輸邊界的存在。
26.權(quán)利要求25所述的方法,進一步包括編程并且選擇將由所述調(diào)試消息標識通道傳輸邊界存在的、所述直接存儲器訪問設(shè)備控制的那個信息通道。
27.權(quán)利要求25所述的方法,進一步包括利用由所述調(diào)試控制電路提供的所述調(diào)試消息之一來指示所述至少一個預定通道的通道傳輸已經(jīng)開始。
28.權(quán)利要求27所述的方法,進一步包括利用所述調(diào)試消息之一來進一步指示所述至少一個預定通道的狀態(tài)參數(shù)。
29.權(quán)利要求28所述的方法,進一步包括利用所述狀態(tài)參數(shù)來指示以下之一所述至少一個預定通道的通道優(yōu)先級,所述至少一個預定通道的利用因子,以及對于所述至少一個預定通道、以前是否出現(xiàn)傳輸錯誤。
30.權(quán)利要求27所述的方法,進一步包括利用所述調(diào)試消息之一來進一步指示與所述通道傳輸關(guān)聯(lián)的時間延遲,該時間延遲指示所述直接存儲器訪問設(shè)備接收到開始傳輸信息的請求和實際傳輸所述信息間的系統(tǒng)延遲。
31.權(quán)利要求25所述的方法,進一步包括利用由所述調(diào)試控制電路提供的所述調(diào)試消息之一來指示所述至少一個預定通道的通道傳輸已經(jīng)終止。
32.權(quán)利要求25所述的方法,進一步包括利用由所述調(diào)試控制電路提供的所述調(diào)試消息之一來指示所述至少一個預定通道的多個次循環(huán)迭代中的每一個已經(jīng)開始。
33.權(quán)利要求25所述的方法,進一步包括利用由所述調(diào)試控制電路提供的所述調(diào)試消息之一來指示所述至少一個預定通道的多個次循環(huán)迭代中的每一個已經(jīng)終止。
34.權(quán)利要求25所述的方法,進一步包括利用由所述調(diào)試控制電路提供的所述調(diào)試消息之一來周期性地指示所述至少一個預定通道的預定狀態(tài)參數(shù)。
35.權(quán)利要求25所述的方法,進一步包括提供多個系統(tǒng)單元,所述多個系統(tǒng)單元的每一個耦合至所述通信總線;提供多個調(diào)試模塊,用于提供所述調(diào)試消息,所述多個調(diào)試模塊的每一個耦合至所述多個系統(tǒng)單元中預定的一個;以及將調(diào)試端口邏輯耦合至所述多個調(diào)試模塊,用于向調(diào)試端口提供所述調(diào)試消息。
36.一種在系統(tǒng)中進行實時調(diào)試支持的方法,包括提供通信總線;將直接存儲器訪問(DMA)設(shè)備耦合至所述通信總線,所述直接存儲器訪問設(shè)備控制信息通道,所述信息通道的每一通道在系統(tǒng)中經(jīng)由通道傳輸從源向目標傳輸信息;以及將調(diào)試控制電路耦合至所述直接存儲器訪問設(shè)備,用于提供調(diào)試消息,該調(diào)試消息周期性地提供至少一個預定通道的至少一個狀態(tài)參數(shù)。
37.權(quán)利要求36所述的方法,進一步包括將所述至少一個狀態(tài)參數(shù)實現(xiàn)為以下之一所述至少一個預定通道的通道優(yōu)先級,所述至少一個預定通道的利用因子,以及對于所述至少一個預定通道、之前是否出現(xiàn)傳輸錯誤。
38.權(quán)利要求36所述的方法,進一步包括另外提供表示通道傳輸已經(jīng)開始的調(diào)試消息。
39.權(quán)利要求36所述的方法,進一步包括另外提供表示通道傳輸已經(jīng)終止的調(diào)試消息。
40.權(quán)利要求36所述的方法,進一步包括為每一信息通道啟動所述調(diào)試消息的選擇性生成。
41.權(quán)利要求36所述的方法,進一步包括生成觀察點指示符,該觀察點指示符是所述至少一個預定通道的預定觀察點條件,所述預定觀察點條件是基于所述直接存儲器訪問設(shè)備的活動的觀察點條件。
42.權(quán)利要求41所述的方法,進一步包括生成多個觀察點指示符,每一觀察點指示符分別表示不同的一個信息通道的觀察點條件。
43.權(quán)利要求36所述的方法,進一步包括利用控制寄存器存儲啟動和禁止提供調(diào)試消息的控制信號,所述調(diào)試消息周期性地提供所述至少一個預定通道的至少一個狀態(tài)參數(shù)。
44.權(quán)利要求36所述的方法,進一步包括在相同的通道中實現(xiàn)嵌套的信息傳輸,每一嵌套的信息傳輸包括形成主循環(huán)迭代的多個次循環(huán)迭代。
45.權(quán)利要求36所述的方法,進一步包括將每一所述調(diào)試消息實現(xiàn)為具有預定比特字段的多比特消息,所述預定比特字段包括消息類型字段、通道標識字段以及狀態(tài)信息字段。
46.一種在系統(tǒng)中進行實時調(diào)試支持的方法,包括提供通信總線;將直接存儲器訪問(DMA)設(shè)備耦合至所述通信總線,所述直接存儲器訪問設(shè)備控制多個信息通道,所述信息通道的每一通道在系統(tǒng)中經(jīng)由通道傳輸從源向目標傳輸信息;以及將調(diào)試控制電路耦合至所述直接存儲器訪問設(shè)備,所述調(diào)試控制電路通過在每通道基礎(chǔ)上的編程而選擇性地提供與所述直接存儲器訪問設(shè)備的操作參數(shù)相關(guān)的調(diào)試消息。
47.權(quán)利要求46所述的方法,進一步包括將所述直接存儲器訪問設(shè)備的操作參數(shù)實現(xiàn)為關(guān)于下述至少一個的信息是否出現(xiàn)傳輸邊界以及周期性的狀態(tài)信息。
48.權(quán)利要求46所述的方法,進一步包括提供至少一個調(diào)試消息,所述至少一個調(diào)試消息包括與所述直接存儲器訪問設(shè)備的系統(tǒng)延遲相關(guān)的延遲信息,在所述直接存儲器訪問設(shè)備接收到通道傳輸請求之后開始通道傳輸。
全文摘要
一種數(shù)據(jù)處理系統(tǒng)(10),具有調(diào)試模塊(26),該調(diào)試模塊選擇性地生成專用于系統(tǒng)中直接存儲器訪問(DMA)控制器設(shè)備(16)的一個或多個調(diào)試消息。提供啟動哪個DMA調(diào)試消息的控制寄存器(70)。提供DMA傳輸活動的起始和終止,包括次循環(huán)迭代何時開始和完成。在調(diào)試消息中還可包括延遲信息,該延遲信息表示每一DMA傳輸?shù)耐ǖ勒埱蠛蛯嶋H的請求發(fā)起間的系統(tǒng)延遲。調(diào)試消息之一在控制寄存器(80)的控制之下提供預定DMA通道的周期性狀態(tài)。至少一個調(diào)試消息實現(xiàn)觀察點功能,例如指示傳輸何時開始或終止。調(diào)試模塊可集中于系統(tǒng)中或者分布于每一預定系統(tǒng)單元中。
文檔編號G06F11/00GK1906589SQ200480040726
公開日2007年1月31日 申請日期2004年12月21日 優(yōu)先權(quán)日2004年1月23日
發(fā)明者威廉·C·莫耶 申請人:飛思卡爾半導體公司