<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > EmbeddedICE目標(biāo)系統(tǒng)中的調(diào)試功能擴(kuò)展部件

          EmbeddedICE目標(biāo)系統(tǒng)中的調(diào)試功能擴(kuò)展部件

          作者: 時間:2012-11-22 來源:網(wǎng)絡(luò) 收藏
            在ARMTTDMI處理器中,邏輯部件提供了集成在芯片內(nèi)對內(nèi)核進(jìn)行調(diào)試的功能,這部分功能是通過處理器上的TAP控制器串行控制的。圖表示了處理器內(nèi)核、邏輯部件及TAP控制器之間的關(guān)系,以及一些主要的控制信號。

          處理器內(nèi)核、EmbeddedICE邏輯部件及TAP控制器之間的關(guān)系

            圖 處理器內(nèi)核、邏輯部件及TAP控制器之間的關(guān)系

            EmbeddedICE邏輯部件包括:

            ·兩個數(shù)據(jù)斷點(watchpoint)寄存器。

            ·兩個獨立的寄存器,即調(diào)試寄存器和調(diào)試狀態(tài)寄存器。

            ·調(diào)試通信通道(DCC)。

            兩個數(shù)據(jù)斷點寄存器可以被用來設(shè)置斷點或程序斷點。當(dāng)設(shè)置程序斷點,地址與數(shù)據(jù)斷點寄存器的值相等時,EmbeddedICE邏輯部件停止程序的執(zhí)行;當(dāng)前指定的當(dāng)設(shè)置數(shù)據(jù)斷點,當(dāng)前數(shù)據(jù)總線上的數(shù)據(jù)與數(shù)據(jù)斷點寄存器的值相等時,EmbeddedICE邏輯部件停止程序的執(zhí)行。

            與基于Angel的調(diào)試系統(tǒng)不同,這時程序斷點可以設(shè)置在ROM中,這是因為EmbeddedICE邏輯部件提供了所需要的硬件支持。

            在數(shù)據(jù)斷點寄存器中的數(shù)據(jù)位可以被屏蔽,使其在進(jìn)行比較時不起作用,從而使得斷點的設(shè)置更為靈活。

            調(diào)試通信通道(DCC)用來在主機(jī)上的調(diào)試器與目標(biāo)處理器之間建立通信通道。在ARMTTDMI中,它是作為一個協(xié)處理器實現(xiàn)的。它包括:

            ·一個32位的通信數(shù)據(jù)讀取寄存器。

            ·一個32位的通信數(shù)據(jù)寫入寄存器。

            ·一個6位的通信控制寄存器。

            通過這些接口,DOC可以在主機(jī)上的調(diào)試器和目標(biāo)處理器之間建立通信信道。

            在所有調(diào)試信號中,下面3個是最主要的。

            ●BREAKPT:終止處理器進(jìn)入調(diào)試狀態(tài)。

            ●DBGRQ:請求處理器進(jìn)入調(diào)試狀態(tài)。

            ●DBGACK:表明處理器己經(jīng)進(jìn)入調(diào)試狀態(tài)。



          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();