嵌入式系統設計必備ARM仿真器知識

    2013-10-21 15:18 來源:電子信息網 作者:洛小辰

    本文提供了一些關于在線 ARM 仿真器的信息,以及給作為嵌入式系統設計師的你帶來的好處。根據你的需要,你將在產品開發中對開發工具作出更恰當的選擇。

    一、嵌入式產品的開發周期

    典型的嵌入式微控制器開發項目的第一個階段是用C編譯器從源程序生成目標代碼,生成的目標代碼將包括物理地址和一些調試信息。目前代碼可以用軟件模擬器、目標Monitor或在線仿真器來執行和調試。軟件模擬器是在PC機或工作站平臺上,以其CPU(如x86)及其系統資源來模擬目標CPU(如P51XA),并執行用戶的目標代碼;而目標Monitor則是將生成的目標代碼下載到用戶目標板的程序存儲器中,并在下載的代碼中增加一個Monitor任務軟件,用來監視和控制用戶目標代碼的執行,用戶通過目標板上的串行口或其它調試端口,利用桌面計算機來調試程序。

    程序的調試是通過設置斷點、使程序在指定的指令位置停止運行來實現的。在程序中止的時候,檢查存儲器和寄存器的內容,作為發現程序錯誤的線索。

    程序經過調試、找到所有的錯誤后,修改源代碼,重新編譯,以一種標準格式生成目標代碼文件,比如Intel HEX。這個目標代碼將被存儲在最終產品的非揮發存儲器,比如EPROM或FLASH中。

    二、為什么需要仿真器

    軟件模擬器和目標 Monitor提供了一種經濟的調試手段,對于很多設計來說已經足夠。但是也有很多場合,需要利用仿真器來找到程序錯誤。 無論在哪一種場合,仿真器都能夠減少調試時間、簡化系統集成、增加可靠性、優化測試步驟,從而使其物有所值。更常見的情況是工程師在項目的不同階段同時使用軟件模擬器和仿真器,特別是在大的開發項目中。

    軟件模擬器和軟件調試器在斷點之外只提供了很少的幾種功能,比如顯示端口內容和代碼覆蓋。沒有檢測事件和條件、然后作出反應的手段,也沒有辦法記錄MCU的總線周期、然后判斷程序的執行究竟發生了什么情況。如果你的MCU有片上EPROM或FLASH存儲器,并且運行在單片模式,則只有仿真器才能夠對系統進行調試,而不嚴重占用和消耗MCU資源。

    在線仿真器可以很容易地做到這些事情,并且還能夠提供很多其它功能。仿真器是軟件和硬件之間的橋梁。在項目進行的某些階段,你必須讓程序在實際的硬件上面運行。仿真器可以很容易地幫助你了解如何在調試階段充分利用仿真器。

    三、仿真器究竟是什么?

    仿真器可以替代你的目標系統中的MCU,仿真其運行。 仿真器運行起來和實際的目標處理器一樣,但是增加了其它功能,使你能夠通過桌面計算機或其它調試界面來觀察MCU中的程序和數據,并控制MCU的運行。仿真器是調試嵌入式軟件的一個經濟、有效的手段。Nohau的EMUL51XA-PC仿真器系列用來調試Philips P51XA系列MCU,而EMUL51-PC系列仿真器則支持眾多廠家的8051系列單片機。

    四、內部和外部模式

    內部模式是指程序和數據位于MCU芯片內部,以FLASH或EPROM的形式存在,地址和數據總線對于用戶并不可見,由此節省下來的芯片引腳作為I/O口提供給用戶。內部模式也稱單片模式,所有的程序執行都發生在內部ROM中。為了有效地仿真這種芯片,要求仿真器使用bondout或增強型Hooks芯片。

    外部模式是當程序存儲器,可能還有部分數據存儲器,位于MCU外部的情況,需要有地址和數據總線來訪問這部分存儲器。外部模式也稱擴展模式,用戶芯片、bondout芯片和增強型hooks芯片都能夠產生這種工作模式,這種情況下芯片的地址和數據總線引腳不能作為通用I/O口使用。Nohau的仿真器使用這三種芯片來實現有效的程序調試。

    五、Bondout、增強型Hooks芯片和標準產品芯片

    這些名詞是指仿真器所使用的、用來替代目標MCU的三種仿真處理器。只有Bondout和增強型Hooks芯片能夠實現單片調試,標準產品芯片不能。和標準產品芯片相比,bondout芯片有一些增加的引腳,連接到芯片內部硅片的電路節點上,所有又稱“超腳芯片”。P51XA系列單片機仿真器都使用bondout芯片,EMUL51XA-PC就是很好的例子。

    增強型Hooks芯片利用各種芯片引腳上面沒有的機器周期來提供地址和數據總線,一些80C51系列仿真器就是使用增強型Hooks芯片。有趣的是,這些增強型Hooks芯片中的一些也是標準的產品芯片。使用增強型Hooks芯片作為仿真CPU需要一些額外的特殊功能電路來從復用的芯片引腳中,分解出地址和數據總線以及一些必須的控制信號,用戶的目標板沒有這些電路,所有仍然是單片工作模式。采用bondout芯片和增強型Hooks芯片能夠實現極為精確的仿真,從功能一直到芯片的功耗。

    六、使硬件工作起來

    軟件模擬器是很好的,可是它不能考慮進所有的變化因素。軟件模擬器設計師必須考慮到每一件事情,特別是那些只有在硬件搭起來以后才會出現的因素,比如電容、定時、電感、芯片版本等,隨著 CPU速度的增加,這些變得越來越重要。

    目標Monitor相比之下要好得多,因為它是在實際硬件中運行的。但是為了使Monitor程序能夠運行起來,目標系統必須是一個完整的、能夠工作的系統。采用仿真器后就不是這樣,仿真器在目標系統硬件不完整、或者是一點硬件都沒有的情況下都可以運行。然而目標Monitor可以安裝在最終產品的程序中,隨時都可以激活,用來進行調試,所以這對于測試和維護來說還是有一定優勢的。

    七、仿真器的優點

    仿真器具有軟件模擬器和目標Monitor的所有功能,加上下面一些優點:

    1.不使用目標系統或CPU資源

    目標Monitor內核一般需要10K的ROM和10~20字節的RAM以及一個空閑的通信端口。一個好的仿真器不會使用上面任何一項。仿真器對于目標系統應當是不可見的,也就是所謂的“全透明仿真”。

    2.硬件斷點

    軟件斷點的實現是通過在用戶目標代碼中插入2字節的TRAP(陷井)指令,將正常的程序流偏轉到調試器上。如果程序計數器碰巧落到第二個字節上,程序就會崩潰。 Nohau仿真器的硬件斷點功能使用比較器,將系統總線狀態與預先設定的鎖存器內容相比較,用以監測對于指定地址的訪問,而不修改任何程序存儲器內容。區域斷點需要使用硬件斷點來實現,但是軟件斷點仍然是很方便、有用的,所以Nohau的仿真器兩種斷點功能都提供。

    當用戶的目標程序存放在ROM中時,軟件斷點是不能用的,因為無法插入TRAP指令。對于ROM程序存儲器系統,只能使用硬件斷點。

    1 2 > 
    嵌入式 ARM 仿真器

    相關閱讀

    暫無數據

    一周熱門

    中国china体内裑精亚洲日本| 亚洲美女色在线欧洲美女| 亚洲成色999久久网站| 亚洲AV网站在线观看| 亚洲欧美日韩中文无线码| 亚洲综合伊人制服丝袜美腿| 亚洲第一精品电影网| 久久亚洲精品成人av无码网站| 精品国产亚洲一区二区三区| 中文字幕第一页亚洲| 久久久久亚洲精品中文字幕| 亚洲乱码中文字幕综合234| heyzo亚洲精品日韩| 亚洲 自拍 另类小说综合图区| 国产精品亚洲精品日韩电影| 亚洲高清国产拍精品熟女| 亚洲大码熟女在线观看| 亚洲AV无码AV男人的天堂不卡| 亚洲精品久久无码av片俺去也 | 亚洲a∨国产av综合av下载| 亚洲中文字幕久久精品蜜桃| 久久综合久久综合亚洲| 亚洲AV无码一区二区三区牛牛| 中国亚洲呦女专区| 亚洲国产欧洲综合997久久| 亚洲国产午夜精品理论片在线播放| 亚洲JLZZJLZZ少妇| 综合偷自拍亚洲乱中文字幕| 免费在线观看亚洲| 亚洲男人天堂2020| 亚洲熟妇中文字幕五十中出| 亚洲国产精品乱码一区二区 | 中文有码亚洲制服av片| 亚洲精品久久无码| 亚洲国产婷婷综合在线精品| 77777亚洲午夜久久多人| 亚洲成Av人片乱码色午夜| 亚洲精品福利视频| 亚洲另类古典武侠| 亚洲精品无AMM毛片| 亚洲精品成人a在线观看|