資料介紹
本文提供了一些關于在線 ARM 仿真器的信息,以及給作為嵌入式系統(tǒng)設計師的你帶來的好處。根據(jù)你的需要,你將在產(chǎn)品開發(fā)中對開發(fā)工具作出更恰當?shù)倪x擇。
一、嵌入式產(chǎn)品的開發(fā)周期
典型的嵌入式微控制器開發(fā)項目的第一個階段是用C編譯器從源程序生成目標代碼,生成的目標代碼將包括物理地址和一些調(diào)試信息。目前代碼可以用軟件模擬器、目標Monitor或在線仿真器來執(zhí)行和調(diào)試。軟件模擬器是在PC機或工作站平臺上,以其CPU(如x86)及其系統(tǒng)資源來模擬目標CPU(如P51XA),并執(zhí)行用戶的目標代碼;而目標Monitor則是將生成的目標代碼下載到用戶目標板的程序存儲器中,并在下載的代碼中增加一個Monitor任務軟件,用來監(jiān)視和控制用戶目標代碼的執(zhí)行,用戶通過目標板上的串行口或其它調(diào)試端口,利用桌面計算機來調(diào)試程序。
程序的調(diào)試是通過設置斷點、使程序在指定的指令位置停止運行來實現(xiàn)的。在程序中止的時候,檢查存儲器和寄存器的內(nèi)容,作為發(fā)現(xiàn)程序錯誤的線索。
程序經(jīng)過調(diào)試、找到所有的錯誤后,修改源代碼,重新編譯,以一種標準格式生成目標代碼文件,比如Intel HEX。這個目標代碼將被存儲在最終產(chǎn)品的非揮發(fā)存儲器,比如EPROM或FLASH中。
二、為什么需要仿真器
軟件模擬器和目標 Monitor提供了一種經(jīng)濟的調(diào)試手段,對于很多設計來說已經(jīng)足夠。但是也有很多場合,需要利用仿真器來找到程序錯誤。 無論在哪一種場合,仿真器都能夠減少調(diào)試時間、簡化系統(tǒng)集成、增加可靠性、優(yōu)化測試步驟,從而使其物有所值。更常見的情況是工程師在項目的不同階段同時使用軟件模擬器和仿真器,特別是在大的開發(fā)項目中。
軟件模擬器和軟件調(diào)試器在斷點之外只提供了很少的幾種功能,比如顯示端口內(nèi)容和代碼覆蓋。沒有檢測事件和條件、然后作出反應的手段,也沒有辦法記錄MCU的總線周期、然后判斷程序的執(zhí)行究竟發(fā)生了什么情況。如果你的MCU有片上EPROM或FLASH存儲器,并且運行在單片模式,則只有仿真器才能夠?qū)ο到y(tǒng)進行調(diào)試,而不嚴重占用和消耗MCU資源。
在線仿真器可以很容易地做到這些事情,并且還能夠提供很多其它功能。仿真器是軟件和硬件之間的橋梁。在項目進行的某些階段,你必須讓程序在實際的硬件上面運行。仿真器可以很容易地幫助你了解如何在調(diào)試階段充分利用仿真器。
三、仿真器究竟是什么?
仿真器可以替代你的目標系統(tǒng)中的MCU,仿真其運行。 仿真器運行起來和實際的目標處理器一樣,但是增加了其它功能,使你能夠通過桌面計算機或其它調(diào)試界面來觀察MCU中的程序和數(shù)據(jù),并控制MCU的運行。仿真器是調(diào)試嵌入式軟件的一個經(jīng)濟、有效的手段。Nohau的EMUL51XA-PC仿真器系列用來調(diào)試Philips P51XA系列MCU,而EMUL51-PC系列仿真器則支持眾多廠家的8051系列單片機。
四、內(nèi)部和外部模式
內(nèi)部模式是指程序和數(shù)據(jù)位于MCU芯片內(nèi)部,以FLASH或EPROM的形式存在,地址和數(shù)據(jù)總線對于用戶并不可見,由此節(jié)省下來的芯片引腳作為I/O口提供給用戶。內(nèi)部模式也稱單片模式,所有的程序執(zhí)行都發(fā)生在內(nèi)部ROM中。為了有效地仿真這種芯片,要求仿真器使用bondout或增強型Hooks芯片。
外部模式是當程序存儲器,可能還有部分數(shù)據(jù)存儲器,位于MCU外部的情況,需要有地址和數(shù)據(jù)總線來訪問這部分存儲器。外部模式也稱擴展模式,用戶芯片、bondout芯片和增強型hooks芯片都能夠產(chǎn)生這種工作模式,這種情況下芯片的地址和數(shù)據(jù)總線引腳不能作為通用I/O口使用。Nohau的仿真器使用這三種芯片來實現(xiàn)有效的程序調(diào)試。
五、Bondout、增強型Hooks芯片和標準產(chǎn)品芯片
這些名詞是指仿真器所使用的、用來替代目標MCU的三種仿真處理器。只有Bondout和增強型Hooks芯片能夠?qū)崿F(xiàn)單片調(diào)試,標準產(chǎn)品芯片不能。和標準產(chǎn)品芯片相比,bondout芯片有一些增加的引腳,連接到芯片內(nèi)部硅片的電路節(jié)點上,所有又稱“超腳芯片”。P51XA系列單片機仿真器都使用bondout芯片,EMUL51XA-PC就是很好的例子。
增強型Hooks芯片利用各種芯片引腳上面沒有的機器周期來提供地址和數(shù)據(jù)總線,一些80C51系列仿真器就是使用增強型Hooks芯片。有趣的是,這些增強型Hooks芯片中的一些也是標準的產(chǎn)品芯片。使用增強型Hooks芯片作為仿真CPU需要一些額外的特殊功能電路來從復用的芯片引腳中,分解出地址和數(shù)據(jù)總線以及一些必須的控制信號,用戶的目標板沒有這些電路,所有仍然是單片工作模式。采用bondout芯片和增強型Hooks芯片能夠?qū)崿F(xiàn)極為精確的仿真,從功能一直到芯片的功耗。
六、使硬件工作起來
軟件模擬器是很好的,可是它不能考慮進所有的變化因素。軟件模擬器設計師必須考慮到每一件事情,特別是那些只有在硬件搭起來以后才會出現(xiàn)的因素,比如電容、定時、電感、芯片版本等,隨著 CPU速度的增加,這些變得越來越重要。
目標Monitor相比之下要好得多,因為它是在實際硬件中運行的。但是為了使Monitor程序能夠運行起來,目標系統(tǒng)必須是一個完整的、能夠工作的系統(tǒng)。采用仿真器后就不是這樣,仿真器在目標系統(tǒng)硬件不完整、或者是一點硬件都沒有的情況下都可以運行。然而目標Monitor可以安裝在最終產(chǎn)品的程序中,隨時都可以激活,用來進行調(diào)試,所以這對于測試和維護來說還是有一定優(yōu)勢的。
七、仿真器的優(yōu)點
仿真器具有軟件模擬器和目標Monitor的所有功能,加上下面一些優(yōu)點:
1.不使用目標系統(tǒng)或CPU資源
目標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功能。
一、嵌入式產(chǎn)品的開發(fā)周期
典型的嵌入式微控制器開發(fā)項目的第一個階段是用C編譯器從源程序生成目標代碼,生成的目標代碼將包括物理地址和一些調(diào)試信息。目前代碼可以用軟件模擬器、目標Monitor或在線仿真器來執(zhí)行和調(diào)試。軟件模擬器是在PC機或工作站平臺上,以其CPU(如x86)及其系統(tǒng)資源來模擬目標CPU(如P51XA),并執(zhí)行用戶的目標代碼;而目標Monitor則是將生成的目標代碼下載到用戶目標板的程序存儲器中,并在下載的代碼中增加一個Monitor任務軟件,用來監(jiān)視和控制用戶目標代碼的執(zhí)行,用戶通過目標板上的串行口或其它調(diào)試端口,利用桌面計算機來調(diào)試程序。
程序的調(diào)試是通過設置斷點、使程序在指定的指令位置停止運行來實現(xiàn)的。在程序中止的時候,檢查存儲器和寄存器的內(nèi)容,作為發(fā)現(xiàn)程序錯誤的線索。
程序經(jīng)過調(diào)試、找到所有的錯誤后,修改源代碼,重新編譯,以一種標準格式生成目標代碼文件,比如Intel HEX。這個目標代碼將被存儲在最終產(chǎn)品的非揮發(fā)存儲器,比如EPROM或FLASH中。
二、為什么需要仿真器
軟件模擬器和目標 Monitor提供了一種經(jīng)濟的調(diào)試手段,對于很多設計來說已經(jīng)足夠。但是也有很多場合,需要利用仿真器來找到程序錯誤。 無論在哪一種場合,仿真器都能夠減少調(diào)試時間、簡化系統(tǒng)集成、增加可靠性、優(yōu)化測試步驟,從而使其物有所值。更常見的情況是工程師在項目的不同階段同時使用軟件模擬器和仿真器,特別是在大的開發(fā)項目中。
軟件模擬器和軟件調(diào)試器在斷點之外只提供了很少的幾種功能,比如顯示端口內(nèi)容和代碼覆蓋。沒有檢測事件和條件、然后作出反應的手段,也沒有辦法記錄MCU的總線周期、然后判斷程序的執(zhí)行究竟發(fā)生了什么情況。如果你的MCU有片上EPROM或FLASH存儲器,并且運行在單片模式,則只有仿真器才能夠?qū)ο到y(tǒng)進行調(diào)試,而不嚴重占用和消耗MCU資源。
在線仿真器可以很容易地做到這些事情,并且還能夠提供很多其它功能。仿真器是軟件和硬件之間的橋梁。在項目進行的某些階段,你必須讓程序在實際的硬件上面運行。仿真器可以很容易地幫助你了解如何在調(diào)試階段充分利用仿真器。
三、仿真器究竟是什么?
仿真器可以替代你的目標系統(tǒng)中的MCU,仿真其運行。 仿真器運行起來和實際的目標處理器一樣,但是增加了其它功能,使你能夠通過桌面計算機或其它調(diào)試界面來觀察MCU中的程序和數(shù)據(jù),并控制MCU的運行。仿真器是調(diào)試嵌入式軟件的一個經(jīng)濟、有效的手段。Nohau的EMUL51XA-PC仿真器系列用來調(diào)試Philips P51XA系列MCU,而EMUL51-PC系列仿真器則支持眾多廠家的8051系列單片機。
四、內(nèi)部和外部模式
內(nèi)部模式是指程序和數(shù)據(jù)位于MCU芯片內(nèi)部,以FLASH或EPROM的形式存在,地址和數(shù)據(jù)總線對于用戶并不可見,由此節(jié)省下來的芯片引腳作為I/O口提供給用戶。內(nèi)部模式也稱單片模式,所有的程序執(zhí)行都發(fā)生在內(nèi)部ROM中。為了有效地仿真這種芯片,要求仿真器使用bondout或增強型Hooks芯片。
外部模式是當程序存儲器,可能還有部分數(shù)據(jù)存儲器,位于MCU外部的情況,需要有地址和數(shù)據(jù)總線來訪問這部分存儲器。外部模式也稱擴展模式,用戶芯片、bondout芯片和增強型hooks芯片都能夠產(chǎn)生這種工作模式,這種情況下芯片的地址和數(shù)據(jù)總線引腳不能作為通用I/O口使用。Nohau的仿真器使用這三種芯片來實現(xiàn)有效的程序調(diào)試。
五、Bondout、增強型Hooks芯片和標準產(chǎn)品芯片
這些名詞是指仿真器所使用的、用來替代目標MCU的三種仿真處理器。只有Bondout和增強型Hooks芯片能夠?qū)崿F(xiàn)單片調(diào)試,標準產(chǎn)品芯片不能。和標準產(chǎn)品芯片相比,bondout芯片有一些增加的引腳,連接到芯片內(nèi)部硅片的電路節(jié)點上,所有又稱“超腳芯片”。P51XA系列單片機仿真器都使用bondout芯片,EMUL51XA-PC就是很好的例子。
增強型Hooks芯片利用各種芯片引腳上面沒有的機器周期來提供地址和數(shù)據(jù)總線,一些80C51系列仿真器就是使用增強型Hooks芯片。有趣的是,這些增強型Hooks芯片中的一些也是標準的產(chǎn)品芯片。使用增強型Hooks芯片作為仿真CPU需要一些額外的特殊功能電路來從復用的芯片引腳中,分解出地址和數(shù)據(jù)總線以及一些必須的控制信號,用戶的目標板沒有這些電路,所有仍然是單片工作模式。采用bondout芯片和增強型Hooks芯片能夠?qū)崿F(xiàn)極為精確的仿真,從功能一直到芯片的功耗。
六、使硬件工作起來
軟件模擬器是很好的,可是它不能考慮進所有的變化因素。軟件模擬器設計師必須考慮到每一件事情,特別是那些只有在硬件搭起來以后才會出現(xiàn)的因素,比如電容、定時、電感、芯片版本等,隨著 CPU速度的增加,這些變得越來越重要。
目標Monitor相比之下要好得多,因為它是在實際硬件中運行的。但是為了使Monitor程序能夠運行起來,目標系統(tǒng)必須是一個完整的、能夠工作的系統(tǒng)。采用仿真器后就不是這樣,仿真器在目標系統(tǒng)硬件不完整、或者是一點硬件都沒有的情況下都可以運行。然而目標Monitor可以安裝在最終產(chǎn)品的程序中,隨時都可以激活,用來進行調(diào)試,所以這對于測試和維護來說還是有一定優(yōu)勢的。
七、仿真器的優(yōu)點
仿真器具有軟件模擬器和目標Monitor的所有功能,加上下面一些優(yōu)點:
1.不使用目標系統(tǒng)或CPU資源
目標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功能。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- ST-Link V2仿真器的原理圖 486次下載
- J-Link ARM-OB仿真器的原理圖 99次下載
- 可同時仿真多家芯片的仿真器(ICE53) 14次下載
- Hlink仿真器的使用說明書 10次下載
- 基于FPGA集群的NEST脈沖神經(jīng)網(wǎng)絡仿真器 10次下載
- DAP仿真器的簡介
- ARM.JTAG實時仿真器.安裝使用指南 17次下載
- ADS集成開發(fā)環(huán)境 EasyJTAG仿真器應用 1次下載
- JUDI和其它USB的ARM仿真器的比較 27次下載
- 模擬/混合信號仿真器 74次下載
- ARM指令集仿真器的設計與實現(xiàn)
- FoxICE for ARM仿真器簡介
- Ansoft仿真器
- FoxICE For ARM仿真器簡介
- ARM系統(tǒng)復位電路的設計與TKScope仿真器的設置方法
- fpga仿真器接口定義 886次閱讀
- DPLink仿真器-好用的ARM仿真器推薦 1584次閱讀
- Codeviser仿真器的使用 2094次閱讀
- 電池仿真器的功能和應用 3406次閱讀
- ModelSim仿真器的主要特點以及用法解析 4043次閱讀
- 米爾科技DSTREAM-PT高性能仿真器介紹 1707次閱讀
- 米爾科技DS-5教程-使用ARM DS-5 和DSTREAM仿真器調(diào)試裸機程序介紹 4159次閱讀
- 米爾科技ULINK-ME 仿真器 介紹 2121次閱讀
- 米爾科技ULINKpro D 仿真器介紹 2536次閱讀
- 米爾科技RVI 和 RVT2 仿真器 介紹 2097次閱讀
- 米爾科技DSTREAM-ST高性能仿真器介紹 2081次閱讀
- CMSIS DAP仿真器的特點介紹 3w次閱讀
- 什么是單片機仿真器_單片機仿真器有什么用_單片機仿真器怎么用 1.6w次閱讀
- 單片機仿真器的工作原理解析 1.3w次閱讀
- ARM仿真器的作用 仿真器有什么用途 1.8w次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1490次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7藍牙設備在嵌入式領域的廣泛應用
- 0.63 MB | 3次下載 | 免費
- 89天練會電子電路識圖
- 5.91 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多