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