<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 一種新的嵌入式處理器在線(xiàn)調試方法

一種新的嵌入式處理器在線(xiàn)調試方法

作者: 時(shí)間:2011-03-14 來(lái)源:網(wǎng)絡(luò ) 收藏

  4. 3 實(shí)際驗證和使用情況

  在應用UDM 之前,首先通過(guò)NC - verilog 對其進(jìn)行了仿真,部分仿真波形如圖3 所示。圖中反映的是當作為DI 的信號pdm_ int 產(chǎn)生了之后,PicoBlaze怎樣轉入執行DR 的,限于篇幅,驗證其他各種功能的仿真波形不在此贅述。

UDM 的部分仿真波形

圖3 UDM 的部分仿真波形

  為了進(jìn)一步對UDM 的功能和性能進(jìn)行完備的檢驗,在FPGA 中建立了如下簡(jiǎn)單的PicoBlaze 系統。PicoBlaze 外部只接一塊252X8bit 的RAM和UDM,PicoBlaze 上的目標程序流程為如下的死循環(huán): 將s0 ~ sb 依次置入0 ~ 11,再反過(guò)來(lái)依次置入11 ~ 0; 將64byte 的RAM 依次寫(xiě)入0 ~ 63,再反過(guò)來(lái)寫(xiě)入63 ~ 0; 將外部的RAM 依次寫(xiě)入0 ~ 251,再反過(guò)來(lái)寫(xiě)入255 ~ 4。這樣的一種簡(jiǎn)單設計,可以保證從輸出的信息直接看出在哪行代碼處響應了斷點(diǎn)。

  如圖4 所示為在主機上進(jìn)行控制的界面。偏移地址0x184 處的1040 表明在38 與44 兩行代碼處設置了斷點(diǎn),事實(shí)上從地址0x180 ~ 0x1ff處都可以設置斷點(diǎn)。地址0x200 處為當前的PC 值,通過(guò)向地址0x208 處寫(xiě)1 可使其更新; 地址0x202處為UDM 的使能位,當其為1 時(shí)UDM 才被使能; 地址0x204 為調試命令寄存器,向其寫(xiě)1 使從斷點(diǎn)退出,寫(xiě)2 使處理器刷新調試信息,寫(xiě)3 使處理器強制進(jìn)入DR 輸出調試信息; 地址0x206 處表示調試狀態(tài),當其為3 時(shí)表明處理器在運行DR,并且調試信息已經(jīng)輸出完畢。

使用UDM 調試的控制界面

圖4 使用UDM 調試的控制界面

  顯示調試信息的界面如圖5 所示,地址0x00 ~0x0b 顯示寄存器s0 ~ sb 的數據,地址0x0c ~ 0x3b顯示內部64byte 存儲器的數據,地址0x4c ~ 0x14b顯示PicoBlaze 外部Memory 空間的數據。由于圖5中斷點(diǎn)正好設置在完成依次向PicoBlaze 的Memory空間依次寫(xiě)0 ~ 251 之后,因此顯示的數據是遞增的。當斷點(diǎn)正好設置在完成依次向Pico Blaze 的Memory 空間依次寫(xiě)255 ~ 4 之后,所顯示的數據就變?yōu)檫f減。在很多其他斷點(diǎn)處顯示的調試信息與斷點(diǎn)設置的位置也符合預期的情況,因此UDM 完全可以正確而高效地工作。

在第44 行斷點(diǎn)處顯示的調試信息

圖5 在第44 行斷點(diǎn)處顯示的調試信息

  在開(kāi)發(fā)一款信號處理芯片的FPGA 原型設計中,跟蹤處理、電文處理、整體流程控制分別由一個(gè)PicoBlaze 完成,并且由于FPGA 資源的限制采用大型處理器來(lái)替代上述處理器幾乎不可能。由于輸入PicoBlaze 的數據和控制信號復雜,仿真驗證不能很好地覆蓋各種實(shí)際的使用情形。通過(guò)使用這里的基于PicoBlaze 處理器設計的UDM,方便地實(shí)現了對上述3 個(gè)PicoBlaze 的調試,對提高開(kāi)發(fā)效率發(fā)揮了重要作用。在其他使用PicoBlaze 的工程應用中,上述UDM 也得到了很好的推廣。

  5 結束語(yǔ)

  設計了一種通用調試模塊,用于輔助無(wú)調試接口的處理器建立標準的調試機制。通過(guò)該模塊的使用,提出了一種通用、標準、方便的調試,很好地滿(mǎn)足了在SOPC 系統中對多個(gè)沒(méi)有調試接口的小巧型處理器實(shí)現調試的迫切需求。新通過(guò)產(chǎn)生調試中斷使處理器跳轉到調試服務(wù)程序中的方式實(shí)現處理器的掛起,通過(guò)基于雙端口RAM 中一種巧妙的地址映射機制實(shí)現同時(shí)對多行代碼設置斷點(diǎn)的功能,通過(guò)調試服務(wù)程序實(shí)現數據搬移等調試命令。新還具有易于擴展,可以同時(shí)調試多個(gè)處理器的優(yōu)點(diǎn)。新的調試方法在工程實(shí)踐中對提高調試效率發(fā)揮了重要作用,是一種普適的,應用價(jià)值明顯的調試方法。

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

上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>