新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種片內硬件調試支持單元設計

        一種片內硬件調試支持單元設計

        作者: 時間:2011-03-07 來源:網絡 收藏

        調試單元的設計初衷,不僅是要能夠控制整個系統接受調試控制,同樣也需要用戶能夠對所有片上存儲單元進行訪問。整個片上存儲單元可分為3類:一是兩大Trace Buffer,包括AHB和指令追蹤緩存;二是DSU內部寄存器,除前所述的四大關鍵寄存器,還包括用于記錄時間值的時間索引寄存器,用于控制AHBTrace Buffer內部地址的AHB Trace Buffer地址索引寄存器,用于存儲精確斷點地址的AHB斷點寄存器和與其配套的掩碼寄存器;三是微處理器內部寄存器,包括cache,IU寄存器堆,SPR,PSR,FSR,窗口寄存器,PC和NPC指針,陷阱寄存器等。為了能對如此多的寄存器和存儲器進行準確定位,必須有一套完整的尋址機制,所以在DSU設計過程中設計了一套多級譯碼體體系,將片上所有存儲部件地址映射入此體系中。基于以上對DSU功能的設計考慮,其具體的結構組成如圖4所示。

        本文引用地址:http://www.104case.com/article/150984.htm

        e.JPG


        當DSU被AHB總線譯碼器選中后,DSU內部的第一級譯碼器將對地址總線訪問地址進行譯碼,它將判斷當前訪問的對象屬于三類存儲單元中的哪一類,如果是第二類即DSU內部寄存器,那么將繼續進行第二級地址譯碼,譯碼的結果將決定當前調試主機將訪問哪一個功能寄存器;如果是第一類存儲部件,由于它們容量較大,并需要其128 b的位寬能與總線位寬相兼容,所以需要在這些循環存儲體內設計一個獨立的譯碼器,能夠對AHB索引寄存器或一級譯碼送出的地址再譯碼;對于第三類存儲部件,由于此類存儲部件位于DSU外部,所以除了需要DSU內部的第一、二級譯碼外,在處理器內部仍然需要更深層次的輔助譯碼,因此在實際工作中,訪問此類存儲單元所需的時鐘周期要多于其他幾類存儲單元。在圖4中,左邊5個寄存器將共同決定AHB Trace Buffer的工作情況,斷點判別邏輯根據控制、斷點和屏蔽寄存器的內容共同決定AHB TraceBuffer記錄值來源于總線還是調試主機;時間索引寄存器值將隨時鐘周期自增加,同時也作為記錄內容的一部分方便以后查詢;而索引寄存器也將隨時鐘周期自增,為正常通信數據提供地址,而在調試模式下,將由一級譯碼器直接提供訪問地址;右邊3個寄存器將共同控制
        微處理器的工作狀態,在DSU外部使能信號下處理器進入調試模式后,處理器將程序指針入棧保護,同時輸出信號指示當前調試狀態并將定時器凍結。當DSU控制寄存器中的BN位被清零時,則處理器定時器解凍,程序指針恢復,退出調試狀態。
        1.4 調試通信鏈路
        在圖1中就已經提到在本系統設計中需要一個調試接口,該接口將連接調試主機與AHB總線,它包含一個連接在AHB總線上的專用UART。該系統為此設計了一個簡單的通信協議,它支持數據在串口和AHB接口之間的格式轉換。通過這個通信鏈路,一個讀或寫傳輸可以在任意的AHB地址上產生,其結構如圖5所示。

        f.JPG
        該系統設計的UART包含一個波特率發生器,它利用一個18位寬的自減計數器產生所需的波特率,在時鐘的驅動下,每當計數器下溢,則產生一個脈沖信號,同時將一個重載寄存器的預定值重新載入計數器,最終產生的UART脈沖頻率將是所需波特率的8倍。
        調試機的串口支持的數據幀結構為10位,包括1位起始位、8位數據位和1位停止位(高電平)。當進行的是讀傳輸時,除了將讀地址按照規定的幀格式進行拆分外,在開始階段需另加1個控制幀,其中包含指明當前傳輸的類型以及連續傳輸的塊數;若進行的是寫傳輸,那么在地址發送完后,還需要按照幀結構發送調試數據。每次進行連續傳輸時,只需要發出1個首地址,以后地址將按照控制幀中指定的塊數按字自增。
        通過本接口,調試機的串行數據將能被此接口封裝成符合AHB總線協議的傳輸格式,同樣在讀傳輸時,調試輸出數據也能被此接口分解為單bit數據返回到調試串口。

        2 結語
        當今業界已經出現了較為成熟的硬件調試系統,如ARM公司的基于JTAG的Embeded ICE宏單元和Multi-ICE協議轉換器,它通過擴展JTFAG測試端來實現通信,利用掃描鏈插入技術訪問寄存器并向處理器施加指令來訪問處理器及系統的狀態。但是由于安全和商業因素的原因,ARM及其調試工具提供商都沒有公開它們的細節,并且其高昂的價格也使得很多用戶對其望而卻步。本文所提出的一種硬件調試單元完全自主實
        現,且順利通過Modelsim的功能仿真,所以它不但能夠有效的完成對片上處理器的診斷與調試,而且其擁有的跟蹤技術也能對程序的運轉以及片內的通信狀況進行實時監控,同時專用的硬件協議轉換模塊在片內就實現了遠程調試連接,能夠方便的與調試機進行通信。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 3 下一頁

        關鍵詞: 嵌入式

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 利津县| 沂源县| 崇文区| 会昌县| 耒阳市| 长武县| 三原县| 秦安县| 庆阳市| 普兰县| 凤凰县| 峡江县| 玛沁县| 临湘市| 昆山市| 大连市| 梁河县| 通山县| 多伦县| 新化县| 宜城市| 加查县| 克什克腾旗| 宽甸| 伊川县| 中宁县| 通辽市| 广水市| 彭州市| 印江| 曲阳县| 奎屯市| 扎兰屯市| 通渭县| 独山县| 枝江市| 福安市| 海城市| 城固县| 台江县| 新蔡县|