<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于Proteus的嵌入式應用系統仿真中的源碼調試

基于Proteus的嵌入式應用系統仿真中的源碼調試

作者: 時(shí)間:2009-12-23 來(lái)源:網(wǎng)絡(luò ) 收藏

0 引 言
是功能最強的系統(單片機、ARM等)的設計與平臺。它主要由 VSM(Virtual System Model)和PCB設計構成。VSM的最大特色就是能對系統(硬、軟件)及其外圍電路進(jìn)行協(xié)同、動(dòng)態(tài)、交互式的,并提供了中進(jìn)行源碼調試的三種方式。
Proteus源碼調試綜合并突破了傳統硬件仿真器和軟件集成開(kāi)發(fā)環(huán)境(Integrated Development Envi-ronment,IDE)源碼調試功能。不僅能跟蹤、分析系統內的指令執行,觀(guān)察、改變存儲單元內容等的調試;且從工程角度實(shí)現了過(guò)程與結果,硬件與軟件,全速與跟蹤,中斷與監視,靜態(tài)與動(dòng)態(tài)等的統一調試。豐富而靈活的調試手段,人與機的積極互動(dòng)為高質(zhì)高效實(shí)現設計目標創(chuàng )造了條件。從研發(fā)產(chǎn)品的實(shí)踐上也證明了Proteus源碼調試的高質(zhì)、高效和可信度。這里從實(shí)踐角度出發(fā)總結Proteus的三種源碼調試方式,著(zhù)重講述了國內書(shū)刊尚未詳細敘述的第三種方式,以發(fā)揮Pro-teus在產(chǎn)品研發(fā)和教學(xué)中的先進(jìn)作用。在此采用的是Proteus 7.5。

本文引用地址:http://dyxdggzs.com/article/152200.htm


1 Proteus VSM源碼調試
Proteus VSM源碼調試是第一種源碼調試方式。Proteus的源碼調試由源代碼控制系統支持。該系統主要功能是編輯、匯編源碼,并保證代碼及時(shí)更新。該系統有源碼(源程序)編輯器、匯編器、調試數據提取器(Debug Data Extractor,DDX)和裝載器等。DDX從匯編器產(chǎn)生的文件中提取調試信息裝入裝載器。源碼調試步驟是:建源碼文件、加載到系統,選擇微控制器及匯編器,將源碼經(jīng)匯編器匯編產(chǎn)生的目標代碼加載到微控制器中,啟動(dòng)仿真進(jìn)行源碼調試。
VSM提供了幾種匯編器,主要有51系列的ASEM51,AVR系列的AVRASM,AVRASM32,PIC系列的MPASM,MPASM32和HC11系列的ASM11等。匯編后可產(chǎn)生HEX或S19(用于MC68HC11),LST,SDI等調試文件。不同的微控制器選擇相應的匯編器,系統自動(dòng)更新DDX。設定微控制器屬性編輯框中的程序文件即加載代碼文件。啟動(dòng)仿真進(jìn)行源碼調試。暫停時(shí),在源碼調試窗口可看到調試格式文件.SDI提供的源碼、代碼及地址,還可打開(kāi)各種寄存器窗口查看各存儲單元內容。調試中可看到電路與程序代碼協(xié)同、交互式仿真過(guò)程和結果。調試中可隨時(shí)進(jìn)行源碼修改、設置各種斷點(diǎn)等。圖1所示為單片機讀鍵并將值送數碼管顯示實(shí)驗的源碼調試狀態(tài)。

2 Proteus借第三方編譯器實(shí)現源碼調試
這是第二種源碼調試方式。若源碼使用高級語(yǔ)言,就必須借用Proteus之外的第三方代碼生成工具(匯編器/編譯器)。若此時(shí)仍要用VSM的源碼調試功能,就需要匯編器/編譯器提供DDX或輸出Proteus支持的調試格式文件(帶調試信息的目標代碼)。裝載器從這些調試文件中提取調試信息以實(shí)現源碼調試。


Proteus裝載器支持的調試文件格式主要有:COFF(通用的,適應于PIC)、OMF(用于8051范圍內)、UBROF(IAR編譯器生成)、ELF/DWARF(通用的,較COFF有較好的調試性能)、COD(由BYTE-CRAFT生成,廣泛應用在PIC 中)等。
使用以上格式時(shí),首先在編譯器中設置輸出格式,如在Keil中指定OMF格式的代碼文件,如圖2所示(例:6-164.OMF)。然后將生成的帶調試信息的代碼文件作為單片機窗口的“程序文件”。啟動(dòng)仿真,則可進(jìn)行源碼調試。

3 Proteus與第三方IDE聯(lián)合仿真實(shí)現源碼調試
這是第三種源碼調試方式。Proteus聯(lián)合第三方IDE,充分發(fā)揮Proteus的微控制器仿真功能和第三方IDE豐富的代碼調試功能,創(chuàng )造最佳的開(kāi)發(fā)環(huán)境。多數專(zhuān)業(yè)匯編軟件和編譯器都有自己的集成開(kāi)發(fā)環(huán)境IDE,如IAR的嵌入式工作臺,Keil's μVision,Mi-crochip's MPLAB,Atreel's AVR studio等。Proteus作為IDE的插入式仿真器,由IDE的調試器控制調試的執行。這種源碼調試方法有兩種方法,如表1所示。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>