《嵌入式系統設計師必備的在線ARM仿真器知識》由會員分享,可在線閱讀,更多相關《嵌入式系統設計師必備的在線ARM仿真器知識(17頁珍藏版)》請在裝配圖網上搜索。
1、,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,2011-5-20,#,嵌入式系統設計師必備的在線,ARM,仿真器知識,引言,一、嵌入式產品的開發(fā)周期,二、為什么需要仿真器,三、仿真器究竟是什么,?,四、內部和外部模式,五、,Bondout,、增強型,Hooks,芯片和標準產品芯片,六、使硬件工作起來,七、仿真器的優(yōu)點,1.,不使用目標系統或,CPU,資源,2.,硬件斷點,3.,跟蹤功能,(TRACE),4.,條件觸發(fā),5.,實時顯示存儲器和,I/O,口內容,6.,硬件性能分析,7.,將仿真器和目標系統相連接,八、總結,本文提供了一些關于在線,arm,仿真
2、器的信息,以及給作為嵌入式系統設計師的你帶來的好處。根據你的需要,你將在產品開發(fā)中對開發(fā)工具作出更恰當的選擇。,引言,典型的嵌入式微控制器開發(fā)項目的第一個階段是用,C,編譯器從源程序生成目標代碼,生成的目標代碼將包括物理地址和一些調試信息。目前代碼可以用軟件模擬器、目標,Monitor,或在線仿真器來執(zhí)行和調試。軟件模擬器是在,PC,機或工作站平臺上,以其,CPU(,如,x86),及其系統資源來模擬目標,CPU(,如,P51XA),,并執(zhí)行用戶的目標代碼,;,而目標,Monitor,則是將生成的目標代碼下載到用戶目標板的程序存儲器中,并在下載的代碼中增加一個,Monitor,任務軟件,用來監(jiān)視
3、和控制用戶目標代碼的執(zhí)行,用戶通過目標板上的串行口或其它調試端口,利用桌面計算機來調試程序。,程序的調試是通過設置斷點、使程序在指定的指令位置停止運行來實現的。在程序中止的時候,檢查存儲器和寄存器的內容,作為發(fā)現程序錯誤的線索。,程序經過調試、找到所有的錯誤后,修改源代碼,重新編譯,以一種標準格式生成目標代碼文件,比如,Intel HEX,。這個目標代碼將被存儲在最終產品的非揮發(fā)存儲器,比如,EPROM,或,FLASH,中。,一、嵌入式產品的開發(fā)周期,軟件模擬器和目標,Monitor,提供了一種經濟的調試手段,對于很多設計來說已經足夠。但是也有很多場合,需要利用仿真器來找到程序錯誤。無論在哪一
4、種場合,仿真器都能夠減少調試時間、簡化系統集成、增加可靠性、優(yōu)化測試步驟,從而使其物有所值。更常見的情況是工程師在項目的不同階段同時使用軟件模擬器和仿真器,特別是在大的開發(fā)項目中。,軟件模擬器和軟件調試器在斷點之外只提供了很少的幾種功能,比如顯示端口內容和代碼覆蓋。沒有檢測事件和條件、然后作出反應的手段,也沒有辦法記錄,MCU,的總線周期、然后判斷程序的執(zhí)行究竟發(fā)生了什么情況。如果你的,MCU,有片上,EPROM,或,FLASH,存儲器,并且運行在單片模式,則只有仿真器才能夠對系統進行調試,而不嚴重占用和消耗,MCU,資源。,在線仿真器可以很容易地做到這些事情,并且還能夠提供很多其它功能。仿真
5、器是軟件和硬件之間的橋梁。在項目進行的某些階段,你必須讓程序在實際的硬件上面運行。仿真器可以很容易地幫助你了解如何在調試階段充分利用仿真器。,二、為什么需要仿真器,仿真器可以替代你的目標系統中的,MCU,,仿真其運行。仿真器運行起來和實際的目標處理器一樣,但是增加了其它功能,使你能夠通過桌面計算機或其它調試界面來觀察,MCU,中的程序和數據,并控制,MCU,的運行。仿真器是調試嵌入式軟件的一個經濟、有效的手段。,Nohau,的,EMUL51XA-PC,仿真器系列用來調試,Philips P51XA,系列,MCU,,而,EMUL51-PC,系列仿真器則支持眾多廠家的,8051,系列單片機。,三、
6、仿真器究竟是什么,?,內部模式是指程序和數據位于,MCU,芯片內部,以,FLASH,或,EPROM,的形式存在,地址和數據總線對于用戶并不可見,由此節(jié)省下來的芯片引腳作為,I/O,口提供給用戶。內部模式也稱單片模式,所有的程序執(zhí)行都發(fā)生在內部,ROM,中。為了有效地仿真這種芯片,要求仿真器使用,bondout,或增強型,Hooks,芯片。,外部模式是當程序存儲器,可能還有部分數據存儲器,位于,MCU,外部的情況,需要有地址和數據總線來訪問這部分存儲器。外部模式也稱擴展模式,用戶芯片、,bondout,芯片和增強型,hooks,芯片都能夠產生這種工作模式,這種情況下芯片的地址和數據總線引腳不能作
7、為通用,I/O,口使用。,Nohau,的仿真器使用這三種芯片來實現有效的程序調試。,四、,嵌入式開發(fā)教程,內部和外部模式,這些名詞是指仿真器所使用的、用來替代目標,MCU,的三種仿真處理器。只有,Bondout,和增強型,Hooks,芯片能夠實現單片調試,標準產品芯片不能。和標準產品芯片相比,,bondout,芯片有一些增加的引腳,連接到芯片內部硅片的電路節(jié)點上,所有又稱,“,超腳芯片,”,。,P51XA,系列單片機仿真器都使用,bondout,芯片,,EMUL51XA-PC,就是很好的例子。,增強型,Hooks,芯片利用各種芯片引腳上面沒有的機器周期來提供地址和數據總線,一些,80C51,系
8、列仿真器就是使用增強型,Hooks,芯片。有趣的是,這些增強型,Hooks,芯片中的一些也是標準的產品芯片。使用增強型,Hooks,芯片作為仿真,CPU,需要一些額外的特殊功能電路來從復用的芯片引腳中,分解出地址和數據總線以及一些必須的控制信號,用戶的目標板沒有這些電路,所有仍然是單片工作模式。采用,bondout,芯片和增強型,Hooks,芯片能夠實現極為精確的仿真,從功能一直到芯片的功耗。,五、,Bondout,、增強型,Hooks,芯片和標準產品芯片,軟件模擬器是很好的,可是它不能考慮進所有的變化因素。軟件模擬器設計師必須考慮到每一件事情,特別是那些只有在硬件搭起來以后才會出現的因素,比
9、如電容、定時、電感、芯片版本等,隨著,CPU,速度的增加,這些變得越來越重要。,目標,Monitor,相比之下要好得多,因為它是在實際硬件中運行的。但是為了使,Monitor,程序能夠運行起來,目標系統必須是一個完整的、能夠工作的系統。采用仿真器后就不是這樣,仿真器在目標系統硬件不完整、或者是一點硬件都沒有的情況下都可以運行。然而目標,Monitor,可以安裝在最終產品的程序中,隨時都可以激活,用來進行調試,所以這對于測試和維護來說還是有一定優(yōu)勢的。,六、,嵌入式開發(fā)教程,使硬件工作起來,仿真器具有軟件模擬器和目標,Monitor,的所有功能,加上下面一些優(yōu)點:,七、仿真器的優(yōu)點,目標,Mon
10、itor,內核一般需要,10K,的,ROM,和,10,20,字節(jié)的,RAM,以及一個空閑的通信端口。一個好的仿真器不會使用上面任何一項。仿真器對于目標系統應當是不可見的,也就是所謂的,“,全透明仿真,”,。,1.,不使用目標系統或,CPU,資源,軟件斷點的實現是通過在用戶目標代碼中插入,2,字節(jié)的,TRAP(,陷井,),指令,將正常的程序流偏轉到調試器上。如果程序計數器碰巧落到第二個字節(jié)上,程序就會崩潰。,Nohau,仿真器的硬件斷點功能使用比較器,將系統總線狀態(tài)與預先設定的鎖存器內容相比較,用以監(jiān)測對于指定地址的訪問,而不修改任何程序存儲器內容。區(qū)域斷點需要使用硬件斷點來實現,但是軟件斷點仍
11、然是很方便、有用的,所以,Nohau,的仿真器兩種斷點功能都提供。,當用戶的目標程序存放在,ROM,中時,軟件斷點是不能用的,因為無法插入,TRAP,指令。對于,ROM,程序存儲器系統,只能使用硬件斷點。,2.,硬件斷點,跟蹤功能以時間為線索記錄所有的處理器機器周期、以及可選的外部信號電平。跟蹤功能能夠記錄所有的取指操作,并且在采用流水線并行處理模式的單片機中,如,P51XA,,區(qū)分在流水線中被取消的指令以及那些成功地執(zhí)行的指令。跟蹤的開始通過條件觸發(fā)來實現,這樣可以實現過濾功能,也就是只有感興趣的指令周期被記錄下來,其余的被舍棄。軟件模擬器和目標,Monitor,沒有跟蹤存儲器,也不能實現,
12、Trace,功能。,3.,跟蹤功能,(TRACE),條件觸發(fā)是非常強大、便于使用的功能,它使你可以在某些事件發(fā)生時,進行某個預先設定的行動,觸發(fā)條件可以包括地址、數據、時鐘周期和外部信號,這些條件可以觸發(fā)一個斷點、啟動,/,停止跟蹤記錄、記錄一個時間標記、以及很多其它由仿真器功能所決定的行動。這種強大的工具只有在仿真器中才能實現。,Nohau,仿真器的條件觸發(fā)功能和跟蹤功能有機地結合在一起,具有三級時間觸發(fā),最高級觸發(fā)具有計數功能。,4.,條件觸發(fā),使用仿真器后,可以實時地觀察存儲器和,I/O,口的內容,而不僅僅是軟件模擬。你可以將自己特別喜歡的外設芯片連接到,Nohau,仿真器特性板的下部,
13、然后在調試界面中訪問它。如果你了解外設的所有細節(jié),那么可以非常精確地進行系統模擬。,在很多情況下我們可能已經發(fā)現,好象只有在接入實際的硬件系統后某些問題才開始出現。采用仿真器能夠使你從一開始就進入這一階段,從而及早地發(fā)現問題、更快地完成調試任務。,因為仿真器內部自帶的,RAM,可以和目標系統中的,ROM,互相替代,所以你在,ROM,目標系統中也可以簡易地進行程序代碼和數據的調試和修改。,同樣,當目標系統中還沒有裝上存儲器時,你可以使用仿真器中的仿真存儲器對系統進行調試。仿真存儲器的大小、分辨率和映象地址可以由用戶選擇。,5.,實時顯示存儲器和,I/O,口內容,軟件模擬器和目標,Monitor,
14、只能模擬系統運行,然后進行性能分析,但是它們已經做得不錯了,;,而仿真器則更進一步,在實際硬件上面進行性能分析,這樣就增加了精度。而且,使用實際的硬件能夠發(fā)現在軟件模擬中無法發(fā)現的錯誤。虛假中斷以及其它一些故障可能會出乎意料地消耗,CPU,資源,導致嚴重的性能問題,而且很難發(fā)現。利用仿真器的性能分析,這些問題很容易暴露。,6.,硬件性能分析,仿真器和目標系統的連接很容易。大多數問題都被仿真器公司及其代理解決了。連接需要兩個步驟:,首先,需要選擇適當的適配器連接方法,最好選用焊接和插座方式。,P51XA,系列單片機仿真器支持,PLCC,插座和表面安裝兩種目標連接方式。夾接適配器價格較高而且不可靠
15、,不推薦用戶使用。,然后,仿真器上面的軟件和跳線器必須正確配置,和目標板以及軟件初始化程序相匹配。這很簡單,好的技術支持應當包括這一點。,Nohau,的仿真器一般使用缺省設置就可以工作。,對于,P51XA,系列單片機,只要在用戶的目標板上焊接一個芯片插座,(PLCC,或表面安裝形式,),、插入,EMUL51XA-PC,的特性板適配器接頭,在,PC,機或筆記本電腦上運行調試軟件就可以了。然后你就可以用隨仿真提供的,TIme.c,測試程序對目標系統進行測試了,!,7.,將仿真器和目標系統相連接,本文提供了一些關于在線仿真器的信息,以及給作為嵌入式系統設計師的你帶來的好處。根據你的需要,你將在產品開發(fā)中對開發(fā)工具作出更恰當的選擇。,八、總結,