TWI354885B - Real-time debug support for a dma device and metho - Google Patents

Real-time debug support for a dma device and metho Download PDF

Info

Publication number
TWI354885B
TWI354885B TW094100177A TW94100177A TWI354885B TW I354885 B TWI354885 B TW I354885B TW 094100177 A TW094100177 A TW 094100177A TW 94100177 A TW94100177 A TW 94100177A TW I354885 B TWI354885 B TW I354885B
Authority
TW
Taiwan
Prior art keywords
channel
debug
information
direct memory
memory access
Prior art date
Application number
TW094100177A
Other languages
English (en)
Other versions
TW200602852A (en
Inventor
William C Moyer
Original Assignee
Freescale Semiconductor Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Freescale Semiconductor Inc filed Critical Freescale Semiconductor Inc
Publication of TW200602852A publication Critical patent/TW200602852A/zh
Application granted granted Critical
Publication of TWI354885B publication Critical patent/TWI354885B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/349Performance evaluation by tracing or monitoring for interfaces, buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

九、發明說明: 【發明所屬之技術領域】 本發明係關於一種資料處理系統,更特定言之,係關於 資料處理系統中的測試與除錯特徵。 【先前技術】 資料處理系統具有一或多個匯流排,其作為用於系統的 通訊快線。該等一或多個匯流排用以在時脈週期所定義的 時間週期中傳輸位址、資料及/或控制資訊。該說明書適當 地證明應用各種技術來測試資料處理系統内的電路之功能 性,以檢查並確認執行軟件之功能性,其係已知的軟件程 式除錯。測試方法中的關鍵組件係用以獲得資料處理系統 之部分的外部可見度,例如暫存器之内容及系統操作之結 果。資料處理系統之外部測試與除錯設備係用以監視由系 統之匯流排或多個匯流排所傳輸的位址、資料及控制資訊 之數值。 典型資料處理系統採用已知的直接記憶體存取(DMA)之 技術。採用直接記憶體存取,可由中央處理單元(CPU)在輸 入/輸出裝置與具有最小包含的記憶體之間直接傳輸資 訊。因此,DMA控制器用以將自資料處理系統中的來源之 資訊流傳輸至目的地。 曰曰片上系統(S0C)設計通常係由多個裝置及匯流排組 成,該等匯流排能夠採用即時技術而產生除錯訊息。例如, 瞭解為IEEE IST05001的IEEE標$或心⑽除錯標準為所建 立的即時除錯標準,其支援由多個晶片上裝置所產生的即 98519.doc 1354885 時除錯訊息。Nexus除錯標準規定一機制以向外部追蹤重建 工具識別系、統内的預定操作條件。然而,此除錯資訊通常 限於監視所讀取或寫入系統記憶體的資訊,以及追蹤所執 行的軟體之執行流程之變化,例如自最後所取的分支起所 執行的許多序列指令。該除錯處理器能力提供一很有限數 量的關於DMA活動的資訊。 【發明内容】 如本文中所用,術語「匯流排」係用以指複數個信號或 導體,其可用以傳輸一或多種類型的資訊,例如資料、位 址、控制或狀態。術語「判定」及「否定」係用以指分別 使信號、位元或類似裝備處於其邏輯正確或邏輯錯誤狀 態。若邏輯正確狀態為邏輯位準―,則邏輯錯誤狀態為邏 輯位準零。此外,本文所說明的記憶體可以為任—類型的 記憶體,例如唯讀記憶體(R0M)、隨機存取記憶體(ram)、 靜態隨機存取記憶體(SRAM)、非揮發性記憶體(例如快閃 記憶體)以及MRAM等。 【實施方式】 圖1以方塊圖的形式解說資料處理系統1〇,其提供即時 DMA特线錯功能性。資料處理系統1〇允 類…類别,其對於腿匯流排主機而言係特二 其指示關鍵的狀態參數。資料處理系統1〇因此經由用於 DMA單元的即時訊息而提供除錯資訊之改進來源。 、 在-種形式中’多導體系統匯流排12係提供用以在所有 系統裝置之間進行通訊。處理器14係'雙向連接至系統匯流 98519.doc
OJ #12 ° 雖然本文# β Μ # A p β 體匯流排,作= 流排係由斜線指示為多導 及/赤夕m 還應輕易地瞭解也可實施單一導體匯流排 DMAiTr向匯流排。此外,雙向連接至系統匯流排12的係 ,制器裝置16、記憶體18 '記憶體2〇、周邊設備Μ、 二、又備24、除錯模組26與匯流排仲裁器28。除錯模組% 、用乂提供除錯資訊的除錯琿之輸出。DMA控制器裝置 ”處理态14之各項具有一輸出,用以提供多位元狀態給 示錯模組26。處理器14與〇财控制器裝置16之各項分別具 有輕合至匯流排仲裁器28的多位元雙向匯流排。周邊設備 22之輸出係連接至驗控制器裝置16,以提供標識為 DMA一REQ的DMA請求信號。同樣地,周邊設備以之輸出係 連接至驗控制器裝置16,以提供標識為DMA_REQ的 DMA請求信號。雖然本文所說明的系統單元係在圖丨中解說 為直接連接至系統匯流排12,但是應瞭解麵合電路(圖中未 顯示)(例如驅動器、緩衝器等)可處在系統匯流排12與所解 說的系統單元之間。 在操作中,資料處理系統10採用處理器14執行預定指 令。資訊係儲存在記憶體18或記憶體2〇之一個中。應瞭解 僅-個記憶體或任何其他數量的記憶體可加以實施並連接 至系統匯流排12。DMA控制器裝置16用以控制將自資料處 理系統10内的來源之資訊流傳輸至資料處理系統1〇内的一 目的地。資料處理系統10内的資訊係在一通道内進行通 訊,該通道為在來源與目的地之間相關聯的資訊流。資料 處理系統ίο内的周邊設備,例如周邊設備22或周邊設備 98519.doc 丄乃4885 24,可以為各種電路裝置之任一裝置,但是通常藉由不嘈 求用於系統匯流排12之控制的匯流排仲裁器28而作為系統 匯流排12的從屬裝置。不管裝置之類型,該等周邊設備為 形成系統記憶體映射之部分的周邊設備。匿流排仲=器28 發揮作用以仲裁請求系統匯流排12之控制的資料處理系統 1〇内的任何裝置之間㈣統匯流排12之控制。許多傳统仲 裁演算法之任-演算法均可用以實施資料處理系㈣。除 錯模組26用以提供與DMA控制器裝置16相關聯的一或多個 即時除錯訊息’如以下所說明。換言之,除錯模組Μ藉由 從難控制器裝置16及處理㈣接收狀態信號而監視 謝錢制器裝置16,並且產生如以上說明的即時除錯訊息 以將該訊息輸出給除錯埠。 圖;解說圖!之資料處理系統1〇之組態之替代具體實施 例:糸統匯流排30係雙向連接至DMA控制器料,以及預定 數量的其他系統單元’例如系統單元4〇與系統單元42。系 系統單元42可以為任一類型的匯流排主機或匯 〜排從屬部分。系統單元40 '職控制器44與系統單元42 之各項係分別雙向竊合至除錯模組32、除錯模組 模組36°除錯模組32、除錯模組3績除錯模組36之各除錯 =輸!係連接至除錯4邏輯38。除錯蜂邏請供用 =二訊息的除錯#。如圓2t的虛線所指示,任 輯3Γ❹及系統軍元可輕合在系統匯流排3〇與除 錯埠邏輯3 8之間。 在替代形式中,除錯模組之功能性係採用一方式劃分成 98519.doc 1354885 指定一除錯模組用於耦合至系統匯流排3〇的各系統單元, 包含DMA控制器44 »除錯埠邏輯38從除錯模組32、除錯模 組34與除錯模組36之各除錯模組接收訊息,並且提供除錯 埠邏輯中的訊息。在一種形式中,除錯埠邏輯38痛配置成 以時間序列為基礎而提供除錯訊息,其中該等訊息係以其 從各除錯模組得以接收的順序而加以輸出。然而,其他邏 輯組態也可用以實施除錯輸出之其他排序。 圖3解說時序圖,其解說圖1或圖2之任一系統具體實施例 内指定為通道x之通道上的傳輸活動。假;t通道X為與來源 與目的地相關聯的任一系統具體實施例内的預定解說性資 料流。DMA控制器裝置_DMA控制器料之各項係配置成 支援用以傳輸從來源至目的地的資訊流之多通道。一旦從 來源或目的地裝置接收DMA請求信號(例如dma—re⑺之 後就會產生通道内的傳輸。圖3範例解說三個分離請求。 各請求具有與之相關聯的延遲時間,例如與第一請求相關 聯的延遲時間50、與第二請求相關聯的延遲時間Μ以及與 第二請未相關聯的延遲時間5[各延遲時間之長度由於數 個系統因素而有所不同,铉笙 U該專因素如如由匯流排仲裁器28 ^定的舰控制器裝置16之當前優先權,以及如由疆 Γ::Π=定的通道x之優先權,遲時間為系統 特徵,其需要在系統之外得到瞭解而不中斷系統。 資訊流之傳輸會繼螬,古1 t 詈Ml 根據各項請求而傳輸某數
置的位兀組。在圖3之解說的形式中,假定D 16與DMA控制器44之各項 ㈣褒置 谷項根據晴求而傳輸資訊之N個位元 98519.doc 丄354885 ” 為整數。例如,傳輸6〇、傳輸62與傳輸μ會出現 以回應三個分離及序列通道請求。應注意可以中斷傳輸, 例如與傳輪62相關聯的中斷週期66。中斷週期啊源於許 多系統因素,例如由匯流排仲裁器28所決定之匯流排主晶 片中的變化。Ν個位元組之各傳輸係指「疊代」或「次迴: 疊代」。許多次迴路疊代係在「主迴路疊代」内執行。應注 意術語「疊代」之使用不暗示或要求相同次迴路或主迴路 傳輸之重複。相反’此背景中的疊代指以下事實:對於任 -通道(例如圖3之通道χ)而言,傳輸活動均係共同的,因 此會出現多個連續傳輸。在圖3範例中,存在三個次迴路疊 代,即主迴路疊代65内的次迴路疊代59、次迴路疊代^與 次迴路疊代63。所說明的通道操作因此可視為二深巢套傳 輸操作,其令二個位準的巢套為主迴路與次迴路。應瞭解 任一數量的次迴路疊代均可存在,如由通道請求信號中的 虛線所表示。在完成次迴路疊代之後,系統匯流排Η之控 制可傳輸至具有未決請求的較高優先權通道。或者可產生 觸發事件以觸發另-通道來開始次迴路疊代。系統匯流排 12之控制也可在主迴路疊代結束時傳輸。 為了最佳化總體系統操作,隨著系統執行指令,觀Α活 動之各方面之外部可見度很重要。因此,本文提供與DMA 活動有關的即時追蹤訊息集。 圖4解說第一即時DMA控制器訊息,其識別第一傳輸之開 始,該傳輸如圖3之主迴路疊代65之第—傳輸。第—傳輸訊 息係解說成具有五個攔位’其中二個攔位為可選搁位。第 98519.doc -10· 1354885 -櫊:係識別為類型碼攔位(TC〇DE),其識別訊息之類型 或功月b。僅經由範例,六位元⑽加數值ιι〇⑴係選擇成 識別作為「第—傳輸之開始」訊息的訊息。第二棚位為通 道識別(通道m)攔位,其在一種形式中係自四至八個位元 又並且通知訊息係與通道或通道之類型相關聯。第 一攔位為通道狀態攔位,並且僅經由範例而可以為從一至 八個位7〇長度中的任何位元。通道狀態之範例包含第一傳 輸之開始時通道之優先權、通道之利用率(即利用百分比)、 用於通道的傳輸錯誤是否先前已出現.、以及許多其他狀態 或資訊細節。為可選攔位之第四攔位係傳輸計數,其表示 通道將傳輸多少資訊。此欄位可包含用於與通道相關聯的 各次迴路疊代之傳輸計數資訊及/或可包含用於與通道相 關聯的主迴路疊代之傳輸計數資訊。僅作為範例,傳輸計 數攔位可以為從八至六十四個位元的長度,但是可使用其 他位凡長度。亦為可選欄位之第五攔位係傳輸服務延遲時 間。傳輸服務延遲時間識別從最初通道請求開始傳輸活動 要花費多長時間。換言之,此欄位中的數值為與第一傳輸 相關聯的中斷延遲時間,例如延遲時間5〇。此攔位中的該 數值可藉由採用可以在除錯模組26或別處中的計數器(未 顯示)加以測量,以對與延遲時間5〇相關聯的時間週期進行 計數。在一種形式中,傳輸服務延遲時間欄位可以為從八 至六十四個位元的長度,但是可使用其他位元長度。 圖5解說第二即時Dma控制器訊息,其識別次迴路疊代之 開始’該次迴路疊代如圖3之次迴路疊代59' 61與63之任一 98519.doc 1354885 次迴路疊代。此第二傳輸訊息係解說成具有五個攔位,其 中一個攔位為可選攔位。第一欄位為類型碼(TC〇de)攔 位其將訊息識別為「次迴路疊代之開始」訊息。僅為示 聋已性目的起見’類型碼係解說為丨丨1〇〇〇,但是可使用其他 數值及位元長度❶第二攔位為通道識別項(ID )襴位,其識 別與次迴路疊代之開始相關聯的通道。第三欄位為通道狀 態搁仅’其識別通道之一狀態參數或多個參數,例如以上 說明之用於第一訊息的狀態資訊。第四攔位為傳輸計數, 用以識別如以上所說明的通道將傳輸多少資訊用於第一訊 息之傳輸計數欄位。第五欄位為傳輸服務延遲時間欄位, 其識別延遲時間,例如延遲時間5〇、延遲時間52或延遲時 間54。此外,提供用於各攔位的位元長度僅作為示範。 圖6解說第三即時dm A控制器訊息,其識別次迴路疊代之 結束,該次迴路疊代如圖3之次迴路疊代59、61與63之任一 次迴路疊代。此第三傳輸訊息係解說成具有五個攔位,其 中一個攔位為可選糊位。第一欄位為類型碼(TC〇DE)攔 位,其將該訊息識別為「次迴路疊代之結束」訊息。僅為 不乾性目的起見,類型碼係解說為〗丨丨〇〇丨,但是也可使用 其他數值及位元長度。第二攔位為通道識別項(ID)欄位, 其識別與次迴路疊代之結相關聯的通道。第三欄位為通道 狀態攔位,其識別通道之一狀態參數或多個參數,例如以 上說明的用於第一訊息的狀態資訊。第四攔位為疊代計 數,其用以識別何次迴路疊代目前係在系統匯流排上傳 輸。第五欄位為疊代間隔,其為次迴路疊代持續多長時間 98519.doc •12- 1354885 之计數數值。可以使用定位在系統中任何處的計數器(圖中 未顯示),但是計數器較佳在除錯模組内或接近於除錯模 組。此外,提供用於各攔位的位元長度僅作為示範。還可 配置除錯模組2 6以便即使整個次迴路因傳輸錯誤而不完全 結束,仍可產生第三傳輸訊息。 圖7解說第四即時DMA控制器訊息,其識別主迴路疊代 (例如圖3之主迴路疊代65)之結束。此第四傳輪訊息係^說 成具有五個欄位,其中二個欄位為可選欄位。第一欄位為 類型碼(TCODE)欄位,其將該訊息識別為「主迴路疊代: 結束」訊息》僅為示範性目的起見,類型碼係解說為 m〇1〇’但是也可使用其他數值及位元長度。第二搁位為 通道識別項(m_)欄位’其識別與主迴路疊代之結相關聯的 通道。第二欄位為通道狀態攔位,其識別通道之一狀•離束 數或多個參數,例如以上說明的用於第—訊息的狀^資 訊。第四欄位為傳輸計數’如上所說明其用以識別通道已 傳輸多少資訊用於第-訊息之傳輸計數攔位。第五棚位為 傳輸間隙欄位,其為主迴路疊代持續多長時間之計數數 值。可以使用定位在系統中任何處的計數器(圖中未顯示), 但是計數器較佳在除錯模組26内或接近於該除錯模組。此 外,提供用於各攔位的位元長度僅作為示還可將除錯 模組26配置成即使整個主迴路因傳輸錯誤而未正常地完: 結束’仍可產生第四傳輸訊息。 圖8解說第五即時DMA控制器訊息,其以週期為基礎而提 供-識別通道之狀態。此週期性訊息用以提供識別通道之 98519.doc 13 1354885 一或多個狀態準則。第五傳輸訊息係解說成具有四個攔 位,其中二個攔位為可選攔位。第_攔位為類型碼(tc〇de) 攔位,其將該訊息識別為「週期性狀態」訊息。僅為示範 性目的起見,類型碼係解說為111011,但是也可使用其他 數值及位兀長度。第二欄位為通道識別項(ID.)欄位,其識 別與所提供的狀態資訊相關聯的通道。第三欄位為通道狀 態欄位,其識別通道之一狀態參數多個參數,例如以上說 明的與第一訊息之說明有關的狀態資訊。第四欄位為當前 傳輸什數,用以識別在狀態與之有關的時間點當前傳輸已 進仃至何程度。此外,僅藉由示範提供用於各欄位的位元 長度。週期性狀態訊息可用以決定系統中的通道之相對進 展,以允許修改DMA通道之通道優先權與匯流排主優先 權為了產生週期性狀態訊息,由以下說明的暫存器之可 私·式控制而致動該功能◊當致動該功能時,何時提供週期 性狀態訊息之時序為特定實施方案。週期性狀態訊息可產 • 生於已出現一預定系統時脈或預定數量的匯流排週期之任 何時候。或者,週期性狀態訊息可產生於由系統中的特定 硬體線路所決定的固定週期。
圖9解說用於一個DMA通道的控制暫存器7〇。控制暫存器 〇僅在示範性形式中具有五個位元,其致動或停用八十五 個DMA即時訊息,以及四個位元,其致動或停用觀察點觸 發器之產生。在一種形式中,用於各種DMA通道的控制暫 . 存器(其分別類似於控制暫存器7 0)係提供並定位在除錯模 組26内。控制暫存器7〇係用於指定為「CHO」通道的DMA 98519.doc 1354885 2道。用於^為通道x(即CHx)之任—通道的㈣位元功 能之說明係正好在控制暫存器7〇下面。控制暫存器7〇之第 :位元即位元〇致動週期性狀態訊息功能。當位元〇具有判 定的邏輯-數值時,除錯模組26將產生週期性狀態訊息, 其具有如圖8所解說的格式。採用類似的方式,控制暫:器 70之位S五、,、、七與八分別致動或停用圖7、6、$與4之 訊息。除圖4至8之DMA訊息以外,控制暫存器川還用以致 動用於資料處理系統10之外部分析的觀察點之觸發。如本 文所用’術5吾「觀察點」指當出現此類内部系統事件時, 監視預定内部系統事件及發信或指示。控制暫存器7〇之位 7C1、2、3與4係與觀察點功能之致動相關聯。當致動該等 觀察點時,由除錯模組26提供指示給除錯埠,從而指示所 出現的相關聯功能,與指示何時出現相反事件。例如, SOTWTE位元致動以下功能:決定相關料道巾的傳輸之 開始,以及若出現傳輸’則判定一信號或提供除錯埠中的 一訊息。提供在圖9中的其他觀察點位元用以指示:疊代之 開始(可以定義次迴路或主迴路)已出現(位元3),疊代之結 束(次迴路或主迴路)已出現(位元2),以及傳輸之結束(次迴 路或主迴路)已出現(位元1}。觀察點功能之選擇性使用可用 以致動其他除錯功能。例如,「傳輸之結束」觀察點可用於 資料處理系統10内,以觸發與系統單元4〇、系統單元42、 處理器Μ或資料處理系統10内任一其他所需功能相關聯的 其他除錯功能性。控制暫存器7〇之功能性可從圖9解說的暫 存器擴大或減小,取決於所需應用需要。控制暫存器觸 98519.doc -15- 而非在除錯模組26 可定位在資料處理系統1G之其他區域 内。 解說週期性狀態訊息控制暫存㈣,其具有搁位用 、MA控制器裝置16之許多所需通道之各通 的形式中’提供四個通道並指定三十二個位元,但是= 用任一數量的通道。在第—通道欄位即指定的⑽中,儲 存於其中的數位數值可控制由除錯模組%產生週期性 =息的速率。因此,週期性狀態訊息控制暫存器80發揮功 月匕’以使用於各通道的可程式化及獨立報告速率可得以 立。 :現在應瞭解已提供即時除錯支援方法與結冑,其提供以 訊息之形式的資訊’該等訊息對於DMA操作參數而言係特 疋的包3在DMA操作參數資訊内的係:瞭解DMA傳輸何 時開始或結束,瞭解次迴路疊代傳輸之各傳輸何時開始與 結束之一時間點,瞭解主迴路疊代何時開始與結束之一時 間點,瞭解預SDMA通道之週期性狀態,以及瞭解多少延 遲時間係與各DMA通道睛求相關聯。本文所說明的dma除 錯訊息係根據DMA控制器裝置16内的現有信號而加以產 生,並且以即時為基礎而得以產生,以便在DMA控制器裝 置16或處理器14之操作中不出現中斷。藉由外部存取包含 在本文所說明之DMA訊息中的資訊,可輕易地獲得系統上 晶片(SOC)除錯、確認與性能之改進位準。 在一種形式中,已提供系統及其操作方法,系統具有通 訊匯流排及耦合至通訊匯流排的直接記憶體存取(DMA)裝 98519.doc •16· 1354885 置。直接記憶體存取裝置可控制資訊通道,該等資訊通道 之各資訊通道經由一通道傳輸將資訊從該系統_的一來源 傳輸至一目的地。除錯控制電路係耦合至DMA裝置,除錯 控制電路提供除錯訊息,其識別用於至少一個預定通道的 DMA通道傳輸邊界之存在。除錯控制電路進一步包含可程 式化控制機制,用以選擇由直接記憶體存取裝置所控制的 資訊通道,除錯訊息將識別通道傳輸邊界之存在。由除錯
控制電路所提供的除錯訊息之一指示通道傳輸已開始至少 一個預疋通道。除錯訊息之另一個進一步指示至少一個預 定通道之狀態參數。在一種形式中,狀態參數為以下之一: (1)至少一個預定通道之通道優先權;(2)至少一個預定通道 之利用率;以及(3)以及先前是否已出現與該至少一個預定 通道有關的一傳輸錯誤。在另一形式中,除錯訊息之一指 示與通道傳輸相關聯的時間延遲,即指示在直接記憶體存 取裝置接收請求開始傳輸資訊與實際傳輸資訊之間的系統 延遲。在另-形式中,由除錯控制電路所提供的除錯訊息 之一指示通道傳輸已結束至少一個預定通道。在另一形式 中,由除錯控制電路所提供的除錯訊息之一指示至少一個 預定通道之複數個次迴路疊代之各次迴路疊代已開始。在 另一形式中,由除錯控制電路所提供的除錯訊息之一指示 至少-個預定通道之複數财迴路疊代之各次迴路疊Z 結束。在另-形式中,由除錯控制電路所提供的除:訊息 之-指示至少-個預;^通道之週期性狀態。或者系統可二 置成具有複數個系統單元,複數個系統單元之各系統單元 98519.doc •17- 1354885 係輕合至通訊匯流排。在替代形式中,除錯控制電路進一 v匕3複數個除錯模組以提供除錯訊息,複數個除錯模組 之各除錯模組係耦合至複數個系統單元之一預定系統單 儿。除錯埠邏輯係耦合至複數個除錯模組,以提供除錯訊 息給除錯埠。 在另一形式中,已提供系統及其操作方法,該系統具有 通訊匯流排及耦合至通訊匯流排的直接記憶體存取(dma) 裝置。直接記憶體存取裝置可控制資訊通道,該等資訊通 道之各資訊通道經由一通道傳輸將資訊從該系統中的一來 源傳輸至一目的地。除錯控制電路係耦合至DMA裝置,除 錯控制電路提供除錯訊息,其週期性地提供至少一個狀態 參數用於至少一個預定通道。在一種形式中,至少一個狀 態參數為以下之一 :(1)至少一個預定通道之通道優先權; (2)至少一個預定通道之利用率;以及(3)以及先前是否已出 現與該至少一個預定通道有關的一傳輸錯誤。除錯控制電 路另外提供除錯訊息,其指示通道傳輸已開始。除錯控制 電路另外提供除錯訊息,其指示通道傳輸已結束。除錯控 制電路可程式化來致動除錯訊息之選擇性產生以用於資訊 通道《除錯控制電路進一步產生觀察點指示項,其為至少 一個狀通道之預定觀察點條件,預定觀察點條件為基於 直接記憶體存取裝置之活動的觀察點條件。除錯控制電路 進-步產生複數個觀察點指示項,各觀察點指示器分別指 示該等資訊通道之一不同資訊通道之觀察點條件。控制暫 存器儲存-控制信號,其致動及停用除錯訊息之提供,該 98519.doc -18· 1354885 等訊息週期性地提供至少-個狀態參數用於至少一個預定 通道。直接記憶體存取裝置實施相同通道㈣資訊之巢套 式傳輸,該通道包括複數個次迴路疊代,其形成—主迴路 疊代。除錯訊息分別包括多位元訊息,其具有預定位元搁 位’包含訊息類型攔位、通道識別攔位與狀態資訊攔位。 在另-形式中’提供系統及其操作方法,該系統具有通 訊匯流排及耦合至通訊匯流排的直接記憶體存取(dma)裝 置。直接記憶體存取裝置可控制多個資訊通道,該等資訊 通道之各資訊通道經由一通道傳輸將資訊從該系統中的一 來源傳輪至一目的地。除錯控制電路係耦合至DMA裝置。 除錯控制電路藉由以每通道為基礎而程化式,選擇性地提 供與直接記憶體存取裝置之操作參數有關的除錯訊息。直 接記憶體存取裝置之操作參數包含關於傳輸邊界之至少一 個是否已出現的資訊以及週期性狀態資訊。除錯控制電路 進步提供至少一個除錯訊息,其包含在由直接記憶體存 取裝置接收通道傳輸請求之後’與開始通道傳輸的直接記 憶體存取裝置之系統延遲有關的延遲時間資訊。 應明白可對所揭示的具體實施例進行各種修改。例如, 處理器14可以實施為各種不同類型的資料處理電路之任一 個資料處理電路’以執行各種類型的處理功能。經由包含 協同處理器之系統匯流排,任一類型的周邊設備均可輕合 至處理器I4。可採用各種不同位元大小之任一大小而實施 該系統。任一類型的儲存裝置均可用於所說明的儲存器、 暫存器與記憶體。可採用任一方式改變訊息之攔位之川員 98519.doc -19- 1354885 序。可以改變控制暫存器中的控制位元之順序。 以上已針對特定具體實施例而說明利益、其他優點及問 題的解決辦法。然而,利益、優點、問題的解決辦法及任 可可引起任何利益、優點、解決辦法出現或變得更明顯之 几件’不應視為任何或所有申請專利範圍之臨界、需要或 本質特徵或元件。如本文所用,術語「包括」、「包含」或 其任何其他變化,係希望涵蓋非排斥内含物,因此程序、 方法、物品或包括元件之清單的設備,不僅包含該等元件, 而且包含未明確列舉或此類程序、方法'物品或設備内在 2其他元件。如本文所用,術語一或一個係定義為一個或 -個以上。如本文所用,術語複數個係定義為兩個或兩個 以上。如本文所用,術語另-係定義為至少第二個或更多。 如本文所用,術語包含及/或具有係定 一 λ , i 心我為包括(即開放語 5 )。如本文所用,術語耦合係定義為連 連接,也不必機械連接。 e 必 【圖式簡單說明】 本發明係經由範例解說,而且不受附圖的限制’其中相 同參考指示類似元件,並且其中: A T祁 圖1以方塊圖形式解說依據本發明 資料處理系統; -項具體實施例的 圖2以方塊圖形式解說根據本發 統; 月之一替代資料處理系 圖3以時序圖形式解說與時間成函 傳輸; ㈣的通道之資訊 98519.doc -20- 1354885 圖4以概略形式解說第一傳輸訊息之格式 圖5以概略形式解說第二傳輸訊息之格式 圖6以概略形式解說第三傳輪訊息之格式 圖7以概略形式解說第四傳輪訊息之格式 圖8以概略形式解說第五傳輪訊息之格式; 圖9以配置形式解說用於DMA訊息的控制暫存器;以及 圖1 〇以配置形式解說用於週期性狀釀 器 μ丨王狀憑讯息的控制暫存
熟為此項技術者應瞭解圖式中的元件係因簡單及清楚而 解說,並且不必按比例繪製。例如,為了有助於提高對本 發明之具體實施例的瞭解,圖中部分元件之尺寸可相對於 其他元件而誇大。 【主要元件符號說明】 10 資料處理系統 12 多導體系統匯流排 14 處理器 16 直接記憶體存取(DMA)控制器裝置 18 記憶體 20 記憶體 22 周邊設備 24 周邊設備 26 除錯模組 28 匯流排仲裁器 30 系統匯流排
98519.doc -21 - 321354885
34 36 38 40 42 44 50 52 54 59 60 61 62 63 64 65 66 70 80 除錯模組 除錯模組 除錯模組 除錯埠邏輯 系統單元 系統單元 DM A控制器 延遲時間 延遲時間 延遲時間 次迴路疊代 傳輸 次迴路疊代 傳輸 次迴路疊代 傳輸 主迴路疊代 中斷週期 控制暫存器 控制暫存器 98519.doc -22-

Claims (1)

1354885 第094100177號專利申請案 |---- 中文申請專利範圍替換本⑽年7月) 卜年]月/1祕正本 十、申請專利範圍: ---:~ , 1. 一種用於除錯支援之系統,其包括: 一通訊匯流排; • 一直接記憶體存取(DMA)裝置,其係耦合至該通訊匯流 • 排,該直接記憶體存取裝置控制多個資訊通道,該等資 訊通道之各通道經由一通道傳輸將資訊從該系統中的一 . 來源傳輸至一目的地;以及 除錯控制電路,其係耦合至該直接記憶體存取裝置, 該除錯控制電路藉由以每一通道為基礎之程式化,而選 擇性地提供與該直接記憶體存取裝置之操作參數有關的 除錯訊息。 2. 如請求項i之系統,其中該直接記憶體存取裝置之操作參 數包含關於傳輸邊界是否已出現以及週期性狀態資訊之 至少一者之資訊。 3. 如凊求項2之系統,其中該除錯控制電路進一步提供至少 個除錯訊息’該除錯訊息包含在由該直接記憶體存取 装置接收一通道傳輪請求之後,與開始一通道傳輪的該 直接記憶體存取裝置之系統延遲有關的延遲時間資訊。 4. 一種於一系統中的即時除錯支援之方法,其包括: 提供一通訊匯流排; 將—直接記憶體存取(DMA)裝置耦合至該通訊匯流 排’該直接記憶體存取裝置控制資訊通道,該等資訊通 道之各通道經由一通道傳輸將資訊從該系統中的一來源 傳輪至一目的地; 98519-100071 i.doc 7除錯控制電路輕合至該直接記憶體存取裝置;以及 提供除錯訊息,其識別用於該等資訊通道之至少一個 預定通道的-DMAit道傳輸邊界之存在。 5. 如請求項4之方法,其進一步包括: 程式化以及選擇由該直接記憶體存取裝置所控制的該 4資fl通道°亥等除錯訊息將識別通道傳輪邊界之該存 在。 6. 如請求項5之方法,其進一步包括: 使用由該除錯控制電路所提供的該等除錯訊息之一個 除錯訊息’指示該至少一個預定通道之一通道傳輸開始。 7_如請求項6之方法,其進一步包括: 使用該等除錯訊息之該一個除錯訊息,進一步指示該 至少一個預定通道之一狀態參數。 8. 如請求項7之方法,其進一步包括: 使用該狀態參數以便指示以下之一:該至少一個預定 通道之通道優先權,該至少一個預定通道之一利用率, 以及先前是否已出現與該至少一個預定通道有關的一傳 輸錯誤。 9. 一種於一系統中的即時除錯支援之方法,其包括: 提供一通訊匯流排; 將一直接記憶體存取(DMA)裝置耦合至該通訊匯流 排’該直接記憶體存取裝置控制多個資訊通道,該等資 訊通道之各通道經由一通道傳輸將資訊從該系統中的— 來源傳輸至一目的地;以及 985 丨 9· 1000711.doc -2- 1354885 將除錯控制電路輕合至該直接記憶體存取裝置,該除 錯控制電路藉由以每一通道為基礎之程式化,而選擇性 地提供與$直接記憶體存取裝置之操作參數有關的除錯 將该直接記憶體存取 是否已出現以及週期 10.如請求項9之方法,其進一步包括: 裝置之操作參數作為關於傳輪邊界 性狀態資訊之至少一者之資訊。 98519-1000711.doc
TW094100177A 2004-01-23 2005-01-04 Real-time debug support for a dma device and metho TWI354885B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/764,110 US6920586B1 (en) 2004-01-23 2004-01-23 Real-time debug support for a DMA device and method thereof

Publications (2)

Publication Number Publication Date
TW200602852A TW200602852A (en) 2006-01-16
TWI354885B true TWI354885B (en) 2011-12-21

Family

ID=34740159

Family Applications (1)

Application Number Title Priority Date Filing Date
TW094100177A TWI354885B (en) 2004-01-23 2005-01-04 Real-time debug support for a dma device and metho

Country Status (6)

Country Link
US (2) US6920586B1 (zh)
JP (1) JP4531773B2 (zh)
KR (1) KR101045475B1 (zh)
CN (1) CN100440154C (zh)
TW (1) TWI354885B (zh)
WO (1) WO2005073855A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6920586B1 (en) * 2004-01-23 2005-07-19 Freescale Semiconductor, Inc. Real-time debug support for a DMA device and method thereof
CN101218570B (zh) * 2005-06-30 2010-05-26 飞思卡尔半导体公司 在直接存储器存取任务请求之间进行仲裁的装置和方法
EP1899827B1 (en) * 2005-06-30 2010-09-08 Freescale Semiconductor, Inc. Device and method for executing a dma task
US8001430B2 (en) * 2005-06-30 2011-08-16 Freescale Semiconductor, Inc. Device and method for controlling an execution of a DMA task
DE602005015632D1 (de) * 2005-06-30 2009-09-03 Freescale Semiconductor Inc Einrichtung und verfahren zur steuerung mehrerer dma-tasks
US7756036B2 (en) * 2005-12-22 2010-07-13 Intuitive Surgical Operations, Inc. Synchronous data communication
US7757028B2 (en) * 2005-12-22 2010-07-13 Intuitive Surgical Operations, Inc. Multi-priority messaging
US8054752B2 (en) * 2005-12-22 2011-11-08 Intuitive Surgical Operations, Inc. Synchronous data communication
US7865704B2 (en) 2006-03-29 2011-01-04 Freescale Semiconductor, Inc. Selective instruction breakpoint generation based on a count of instruction source events
US8160084B2 (en) * 2006-09-22 2012-04-17 Nokia Corporation Method for time-stamping messages
US7958401B2 (en) * 2008-07-25 2011-06-07 Freescale Semiconductor, Inc. Debug trace messaging with one or more characteristic indicators
US8024620B2 (en) * 2008-07-25 2011-09-20 Freescale Semiconductor, Inc. Dynamic address-type selection control in a data processing system
US8402258B2 (en) 2008-07-25 2013-03-19 Freescale Semiconductor, Inc. Debug message generation using a selected address type
US8250250B2 (en) * 2009-10-28 2012-08-21 Apple Inc. Using central direct memory access (CDMA) controller to test integrated circuit
US8397195B2 (en) * 2010-01-22 2013-03-12 Synopsys, Inc. Method and system for packet switch based logic replication
US8638792B2 (en) 2010-01-22 2014-01-28 Synopsys, Inc. Packet switch based logic replication
JP5528939B2 (ja) * 2010-07-29 2014-06-25 ルネサスエレクトロニクス株式会社 マイクロコンピュータ
US8713370B2 (en) * 2011-08-11 2014-04-29 Apple Inc. Non-intrusive processor tracing
US9830245B2 (en) 2013-06-27 2017-11-28 Atmel Corporation Tracing events in an autonomous event system
US9645870B2 (en) 2013-06-27 2017-05-09 Atmel Corporation System for debugging DMA system data transfer
US9256399B2 (en) * 2013-06-27 2016-02-09 Atmel Corporation Breaking program execution on events
US9552279B2 (en) * 2013-08-16 2017-01-24 Nxp Usa, Inc. Data bus network interface module and method therefor
US20160299859A1 (en) * 2013-11-22 2016-10-13 Freescale Semiconductor, Inc. Apparatus and method for external access to core resources of a processor, semiconductor systems development tool comprising the apparatus, and computer program product and non-transitory computer-readable storage medium associated with the method
US9419621B1 (en) 2015-09-18 2016-08-16 Freescale Semiconductor, Inc. System on chip and method of operating a system on chip
US11231987B1 (en) * 2019-06-28 2022-01-25 Amazon Technologies, Inc. Debugging of memory operations
US11099966B2 (en) * 2020-01-09 2021-08-24 International Business Machines Corporation Efficient generation of instrumentation data for direct memory access operations

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4688166A (en) 1984-08-03 1987-08-18 Motorola Computer Systems, Inc. Direct memory access controller supporting multiple input/output controllers and memory units
JPH0758475B2 (ja) * 1989-05-24 1995-06-21 株式会社日立製作所 端末装置のデータ収集システム
EP0490980B1 (en) * 1989-09-08 1999-05-06 Auspex Systems, Inc. Multiple facility operating system architecture
KR960016648B1 (ko) * 1993-12-29 1996-12-19 현대전자산업 주식회사 커먼 컨트롤 중복 스위치 방법
US6085037A (en) 1996-09-13 2000-07-04 Concord Camera Corp. APS camera structure for film preloading
US6145007A (en) * 1997-11-14 2000-11-07 Cirrus Logic, Inc. Interprocessor communication circuitry and methods
US6145122A (en) 1998-04-27 2000-11-07 Motorola, Inc. Development interface for a data processor
US6032269A (en) * 1998-06-30 2000-02-29 Digi-Data Corporation Firmware recovery from hanging channels by buffer analysis
EP1157324A4 (en) * 1998-12-18 2009-06-17 Triconex Corp PROCESS AND DEVICE FOR PROCESSING CONTROL USING A MULTIPLE REDUNDANT PROCESS CONTROL SYSTEM
US6654801B2 (en) * 1999-01-04 2003-11-25 Cisco Technology, Inc. Remote system administration and seamless service integration of a data communication network management system
US6567933B1 (en) * 1999-02-19 2003-05-20 Texas Instruments Incorporated Emulation suspension mode with stop mode extension
US6615370B1 (en) * 1999-10-01 2003-09-02 Hitachi, Ltd. Circuit for storing trace information
US6816924B2 (en) * 2000-08-10 2004-11-09 Infineon Technologies North America Corp. System and method for tracing ATM cells and deriving trigger signals
US6470071B1 (en) 2001-01-31 2002-10-22 General Electric Company Real time data acquisition system including decoupled host computer
US20020165962A1 (en) * 2001-02-28 2002-11-07 Alvarez Mario F. Embedded controller architecture for a modular optical network, and methods and apparatus therefor
US7058858B2 (en) * 2001-04-23 2006-06-06 Hewlett-Packard Development Company, L.P. Systems and methods for providing automated diagnostic services for a cluster computer system
JP2003006003A (ja) * 2001-06-18 2003-01-10 Mitsubishi Electric Corp Dmaコントローラおよび半導体集積回路
US20030191863A1 (en) * 2001-07-02 2003-10-09 Globespanvirata Incorporated Communications system using rings architecture
WO2003034225A2 (en) 2001-10-12 2003-04-24 Pts Corporation Debugging of processors
US6877114B2 (en) 2002-02-14 2005-04-05 Delphi Technologies, Inc. On-chip instrumentation
US6920586B1 (en) * 2004-01-23 2005-07-19 Freescale Semiconductor, Inc. Real-time debug support for a DMA device and method thereof

Also Published As

Publication number Publication date
CN100440154C (zh) 2008-12-03
US6920586B1 (en) 2005-07-19
CN1906589A (zh) 2007-01-31
KR20060126734A (ko) 2006-12-08
TW200602852A (en) 2006-01-16
KR101045475B1 (ko) 2011-06-30
US7287194B2 (en) 2007-10-23
US20050193256A1 (en) 2005-09-01
WO2005073855A1 (en) 2005-08-11
JP4531773B2 (ja) 2010-08-25
JP2007522550A (ja) 2007-08-09

Similar Documents

Publication Publication Date Title
TWI354885B (en) Real-time debug support for a dma device and metho
TW400483B (en) High performance symmetric arbitration protocol with support for I/O requirements
CN102203752B (zh) 具有多个队列之间的仲裁的数据处理电路
EP1899828B1 (en) Device and method for arbitrating between direct memory access task requests
EP1690184B1 (en) Apparatus and method for time ordering events in a system having multiple time domains
EP1899826B1 (en) Device and method for controlling an execution of a dma task
EP1899825B1 (en) Device and method for controlling multiple dma tasks
US8074131B2 (en) Generic debug external connection (GDXC) for high integration integrated circuits
EP2975530B1 (en) Requests and data handling in a bus architecture
TW200809515A (en) Method for a slave device to convey an interrupt and interrupt source information to a master device
US7035958B2 (en) Re-ordering a first request within a FIFO request queue to a different queue position when the first request receives a retry response from the target
KR100644596B1 (ko) 버스 시스템 및 그 버스 중재방법
WO2017084523A1 (zh) 一种片上系统总线行为检测方法、装置和计算机存储介质
JP2007527071A (ja) マルチバーストプロトコルデバイスコントローラ
JP2006195867A (ja) バス調停方法及び半導体装置
CN104854845B (zh) 使用高效的原子操作的方法和装置
US8832664B2 (en) Method and apparatus for interconnect tracing and monitoring in a system on chip
EP1899827B1 (en) Device and method for executing a dma task
US9208008B2 (en) Method and apparatus for multi-chip reduced pin cross triggering to enhance debug experience
JP2007058716A (ja) データ転送バスシステム
JP5443586B2 (ja) 回路構成におけるデータ交換を制御するための回路構成、および方法
US11385862B2 (en) Data flow control for multi-chip select
KR100644597B1 (ko) 버스 시스템 및 그 커맨드 전달방법
KR970012191A (ko) 멀티프로세서 시스템에 있어서의 버스 프로토콜 제어기와 데이타 전송방법
KR20070020522A (ko) 컴퓨터 시스템, 인터럽트 메시지 큐잉 방법 및 제조 물품

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees