《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設計應用 > 嵌入式系統(tǒng)設計必備ARM仿真器知識
嵌入式系統(tǒng)設計必備ARM仿真器知識
中電網(wǎng)
摘要: 本文提供了一些關(guān)于在線ARM仿真器的信息,以及給作為嵌入式系統(tǒng)設計師的你帶來的好處。根據(jù)你的需要,你將在產(chǎn)品開發(fā)中對開發(fā)工具作出更恰當?shù)倪x擇。
關(guān)鍵詞: ARM 仿真器 嵌入式微控制器
Abstract:
Key words :

 

一、嵌入式產(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功能。

4.條件觸發(fā)

條件觸發(fā)是非常強大、便于使用的功能,它使你可以在某些事件發(fā)生時,進行某個預先設定的行動,觸發(fā)條件可以包括地址、數(shù)據(jù)、時鐘周期和外部信號,這些條件可以觸發(fā)一個斷點、啟動/停止跟蹤記錄、記錄一個時間標記、以及很多其它由仿真器功能所決定的行動。這種強大的工具只有在仿真器中才能實現(xiàn)。Nohau仿真器的條件觸發(fā)功能和跟蹤功能有機地結(jié)合在一起,具有三級時間觸發(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插座和表面安裝兩種目標連接方式。夾接適配器價格較高而且不可靠,不推薦用戶使用。

然后,仿真器上面的軟件和跳線器必須正確配置,和目標板以及軟件初始化程序相匹配。這很簡單,好的技術(shù)支持應當包括這一點。Nohau的仿真器一般使用缺省設置就可以工作。

對于P51XA系列單片機,只要在用戶的目標板上焊接一個芯片插座(PLCC或表面安裝形式)、插入EMUL51XA-PC的特性板適配器接頭,在PC機或筆記本電腦上運行調(diào)試軟件就可以了。然后你就可以用隨仿真提供的TIme.c測試程序?qū)δ繕讼到y(tǒng)進行測試了!

八、總結(jié)

本文提供了一些關(guān)于在線仿真器的信息,以及給作為嵌入式系統(tǒng)設計師的你帶來的好處。根據(jù)你的需要,你將在產(chǎn)品開發(fā)中對開發(fā)工具作出更恰當?shù)倪x擇。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
日韩一级不卡| 中文在线资源观看网站视频免费不卡| 欧美久久久久免费| 另类成人小视频在线| 久久黄金**| 欧美一区二区三区四区在线观看地址 | 国产精品99久久久久久久久| 亚洲精品欧洲| 亚洲精品极品| 日韩写真在线| 一区二区三区国产在线观看| 亚洲视频在线观看网站| 亚洲视频第一页| 亚洲综合国产精品| 亚洲免费伊人电影在线观看av| 亚洲一区二区三| 亚洲欧美日韩在线| 欧美一区久久| 亚洲成色777777在线观看影院| 久久国产福利| 亚洲精品乱码久久久久久久久| 99精品欧美一区二区三区综合在线| 亚洲精品欧美精品| av成人福利| 午夜精品久久一牛影视| 久久精品女人天堂| 免费高清在线一区| 欧美—级在线免费片| 欧美日韩国语| 国产精品一区二区a| 国产真实乱偷精品视频免| 黄色资源网久久资源365| 精品91免费| 亚洲精品影视| 亚洲免费小视频| 久久国产精品电影| 日韩一本二本av| 亚洲综合色在线| 久久视频免费观看| 欧美区在线播放| 国产精品久久一卡二卡| 韩国女主播一区| 亚洲精品国产拍免费91在线| 中国日韩欧美久久久久久久久| 亚洲欧美日韩国产成人精品影院| 欧美在线视频免费观看| 亚洲人成在线观看一区二区| 亚洲天堂av在线免费| 久久99在线观看| 欧美激情第一页xxx| 国产精品国产三级国产普通话三级 | 亚洲素人一区二区| 久久精品99国产精品日本| 99精品欧美一区| 欧美一区影院| 欧美精品一区二区三区久久久竹菊 | 日韩性生活视频| 欧美中文字幕第一页| 9久re热视频在线精品| 欧美一区二区在线视频| 欧美高清视频在线观看| 国产欧美精品国产国产专区| 亚洲国产精品一区二区第四页av| 在线视频欧美日韩精品| 亚洲国产精品999| 亚洲欧美激情四射在线日 | 校园激情久久| 欧美激情精品久久久久久大尺度| 国产精品三级久久久久久电影| 黄色成人精品网站| 在线一区二区三区做爰视频网站| 亚洲风情亚aⅴ在线发布| 亚洲制服av| 欧美高清视频一区二区三区在线观看| 国产精品一区一区| 亚洲美女av黄| 亚洲黄色三级| 久久精品国产精品亚洲| 欧美日韩一级大片网址| 在线成人激情视频| 羞羞答答国产精品www一本| 一区二区三区国产在线观看| 蜜桃av噜噜一区| 国产原创一区二区| 亚洲视频一二区| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 亚洲欧美日韩一区二区三区在线| 一本色道久久综合亚洲精品小说| 久久人人爽人人爽| 国产乱码精品一区二区三区五月婷 | 国产亚洲va综合人人澡精品| 一区二区三区视频在线看| 亚洲伦理一区| 久久在线播放| 国产亚洲欧美另类一区二区三区| 在线亚洲+欧美+日本专区| 99re国产精品| 欧美成人xxx| 伊人影院久久| 久久精品免费观看| 久久成人精品| 国产精品亚洲аv天堂网| 日韩一区二区久久| 99视频+国产日韩欧美| 欧美成人午夜视频| 1024成人| 亚洲精品乱码视频| 欧美成人精品1314www| 国内外成人免费视频| 欧美一区二区三区播放老司机| 香蕉成人久久| 国产精品久久久久免费a∨| 一本色道久久综合| 亚洲小说欧美另类婷婷| 欧美日韩亚洲一区二区| 日韩一区二区免费高清| 亚洲四色影视在线观看| 欧美特黄视频| 一区二区高清视频| 亚洲一区二区在线免费观看| 欧美天天综合网| 亚洲视频一区二区在线观看| 亚洲女优在线| 国产精品亚洲激情| 亚洲欧美日韩在线一区| 久久国产精品久久国产精品| 国产欧美日韩在线观看| 欧美一区二区| 久久亚洲精品中文字幕冲田杏梨| 黄色亚洲精品| 91久久精品www人人做人人爽| 美日韩精品免费| 91久久久久久久久| 在线视频亚洲欧美| 国产精品久久久久免费a∨大胸| 亚洲男同1069视频| 久久精品综合| 亚洲国产精品久久| 日韩一级二级三级| 欧美午夜宅男影院| 亚洲影院色在线观看免费| 久久成人综合网| 精品不卡一区二区三区| 亚洲美女黄网| 国产精品久久久久久久久果冻传媒 | 99视频超级精品| 欧美一区=区| 韩国精品久久久999| 亚洲精品少妇| 国产精品ⅴa在线观看h| 午夜久久黄色| 免费欧美日韩| 一本色道久久加勒比精品| 欧美在线播放一区| 在线日韩成人| 亚洲视频在线观看一区| 国产伦精品一区二区三| 久久精品夜夜夜夜久久| 欧美日韩1区2区| 亚洲你懂的在线视频| 免费成人av| 亚洲无亚洲人成网站77777| 久久影视精品| 一区二区不卡在线视频 午夜欧美不卡' | 欧美精彩视频一区二区三区| 亚洲一二三区视频在线观看| 久久午夜羞羞影院免费观看| 亚洲精品免费看| 欧美一区国产在线| 亚洲激情综合| 欧美一区二区三区啪啪| 在线欧美日韩国产| 亚洲欧美日本精品| 亚洲丶国产丶欧美一区二区三区 | 欧美一级黄色录像| 亚洲国产精品一区二区第四页av | 欧美午夜视频一区二区| 久久成人免费网| 欧美午夜不卡| 91久久精品国产91久久性色| 国产精品一区二区女厕厕| 亚洲欧洲在线播放| 国产精品综合久久久| 一本综合久久| 伊人久久亚洲美女图片| 亚洲免费人成在线视频观看| 亚洲国产成人不卡| 久久精品理论片| 一区二区三区四区精品| 欧美freesex交免费视频| 亚洲欧美一区二区激情| 欧美日韩高清一区| 亚洲福利免费| 国产精品久久午夜| 日韩小视频在线观看| 狠狠做深爱婷婷久久综合一区| 亚洲一区二区在线免费观看视频| 樱花yy私人影院亚洲| 欧美在线www| 亚洲天天影视|