ARM仿真器應用指導
七、仿真器的優(yōu)點
仿真器具有軟件模擬器和目標Monitor的所有功能,加上下面一些優(yōu)點:
1.不使用目標系統或CPU資源
目標Monitor內核一般需要10K的ROM和10~20字節(jié)的RAM以及一個空閑的通信端口。一個好的仿真器不會使用上面任何一項。仿真器對于目標系統應當是不可見的,也就是所謂的“全透明仿真”。
2.硬件斷點
軟件斷點的實現是通過在用戶目標代碼中插入2字節(jié)的TRAP(陷井)指令,將正常的程序流偏轉到調試器上。如果程序計數器碰巧落到第二個字節(jié)上,程序就會崩潰。 Nohau仿真器的硬件斷點功能使用比較器,將系統總線狀態(tài)與預先設定的鎖存器內容相比較,用以監(jiān)測對于指定地址的訪問,而不修改任何程序存儲器內容。區(qū)域斷點需要使用硬件斷點來實現,但是軟件斷點仍然是很方便、有用的,所以Nohau的仿真器兩種斷點功能都提供。
當用戶的目標程序存放在ROM中時,軟件斷點是不能用的,因為無法插入TRAP指令。對于ROM程序存儲器系統,只能使用硬件斷點。
3.跟蹤功能(TRACE)
跟蹤功能以時間為線索記錄所有的處理器機器周期、以及可選的外部信號電平。跟蹤功能能夠記錄所有的取指操作,并且在采用流水線并行處理模式的單片機中,如P51XA,區(qū)分在流水線中被取消的指令以及那些成功地執(zhí)行的指令。跟蹤的開始通過條件觸發(fā)來實現,這樣可以實現過濾功能,也就是只有感興趣的指令周期被記錄下來,其余的被舍棄。軟件模擬器和目標Monitor沒有跟蹤存儲器,也不能實現Trace功能。
4.條件觸發(fā)
條件觸發(fā)是非常強大、便于使用的功能,它使你可以在某些事件發(fā)生時,進行某個預先設定的行動,觸發(fā)條件可以包括地址、數據、時鐘周期和外部信號,這些條件可以觸發(fā)一個斷點、啟動/停止跟蹤記錄、記錄一個時間標記、以及很多其它由仿真器功能所決定的行動。這種強大的工具只有在仿真器中才能實現。Nohau仿真器的條件觸發(fā)功能和跟蹤功能有機地結合在一起,具有三級時間觸發(fā),最高級觸發(fā)具有計數功能。
5.實時顯示存儲器和I/O口內容
使用仿真器后,可以實時地觀察存儲器和I/O口的內容,而不僅僅是軟件模擬。你可以將自己特別喜歡的外設芯片連接到Nohau仿真器特性板的下部,然后在調試界面中訪問它。如果你了解外設的所有細節(jié),那么可以非常精確地進行系統模擬。
在很多情況下我們可能已經發(fā)現,好象只有在接入實際的硬件系統后某些問題才開始出現。采用仿真器能夠使你從一開始就進入這一階段,從而及早地發(fā)現問題、更快地完成調試任務。
因為仿真器內部自帶的RAM可以和目標系統中的ROM互相替代,所以你在ROM目標系統中也可以簡易地進行程序代碼和數據的調試和修改。
同樣,當目標系統中還沒有裝上存儲器時,你可以使用仿真器中的仿真存儲器對系統進行調試。仿真存儲器的大小、分辨率和映象地址可以由用戶選擇。
6.硬件性能分析
軟件模擬器和目標Monitor只能模擬系統運行,然后進行性能分析,但是它們已經做得不錯了;而仿真器則更進一步,在實際硬件上面進行性能分析,這樣就增加了精度。而且,使用實際的硬件能夠發(fā)現在軟件模擬中無法發(fā)現的錯誤。虛假中斷以及其它一些故障可能會出乎意料地消耗CPU資源,導致嚴重的性能問題,而且很難發(fā)現。利用仿真器的性能分析,這些問題很容易暴露。
7.將仿真器和目標系統相連接
仿真器和目標系統的連接很容易。大多數問題都被仿真器公司及其代理解決了。連接需要兩個步驟:
首先,需要選擇適當的適配器連接方法,最好選用焊接和插座方式。P51XA系列單片機仿真器支持PLCC插座和表面安裝兩種目標連接方式。夾接適配器價格較高而且不可靠,不推薦用戶使用。
然后,仿真器上面的軟件和跳線器必須正確配置,和目標板以及軟件初始化程序相匹配。這很簡單,好的技術支持應當包括這一點。Nohau的仿真器一般使用缺省設置就可以工作。
對于P51XA系列單片機,只要在用戶的目標板上焊接一個芯片插座(PLCC或表面安裝形式)、插入EMUL51XA-PC的特性板適配器接頭,在PC機或筆記本電腦上運行調試軟件就可以了。然后你就可以用隨仿真提供的time.c測試程序對目標系統進行測試了!
八、總結
本文提供了一些關于在線仿真器的信息,以及給作為嵌入式系統設計師的你帶來的好處。根據你的需要,你將在產品開發(fā)中對開發(fā)工具作出更恰當的選擇。
評論