999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2010-06-22 03:41:08周靈彬方曙光盧家橋等
現代電子技術 2009年22期

周靈彬 方曙光 盧家橋等

摘 要:詳細介紹Proteus嵌入式系統仿真平臺的源碼調試技術。它融合、發展了傳統的源碼調試技術,并從工程角度實現了調試過程。用實例闡述Proteus源碼調試的三種方法,著重敘述它與第三方IDE聯合仿真中的源碼調試技術和特有的條件斷點、硬件斷點調試。結果表明Proteus源碼調試技術是開發嵌入式應用系統的高效 、高速的先進技術,值得推廣應用。

關鍵詞:Proteus仿真;源碼調試;條件斷點調試;硬件斷點調試

中圖分類號:TP368.1

0 引 言

Proteus是功能最強的嵌入式系統(單片機、ARM等)的設計與仿真平臺‐[1[CD*2]4]。它主要由Proteus VSM(Virtual System Model)和PCB 設計構成。Proteus VSM的最大特色就是能對嵌入式系統(硬、軟件)及其外圍電路進行協同、動態、交互式的仿真,并提供了仿真中進行源碼調試的三種方式。

Proteus源碼調試綜合并突破了傳統硬件仿真器和軟件集成開發環境(Integrated Development Environment,IDE)源碼調試功能。不僅能跟蹤、分析嵌入式系統內的指令執行,觀察、改變存儲單元內容等的調試;且從工程角度實現了過程與結果,硬件與軟件,全速與跟蹤,中斷與監視,靜態與動態等的統一調試。豐富而靈活的調試手段,人與機的積極互動為高質高效實現設計目標創造了條件。從研發產品的實踐上也證明了Proteus源碼調試的高質、高效和可信度。這里從實踐角度出發總結Proteus的三種源碼調試方式,著重講述了國內書刊尚未詳細敘述的第三種方式,以發揮Proteus在產品研發和教學中的先進作用。在此采用的是Proteus 7.5。

1 Proteus VSM源碼調試

Proteus VSM源碼調試是第一種源碼調試方式。Proteus的源碼調試由源代碼控制系統支持。該系統主要功能是編輯、匯編源碼,并保證代碼及時更新。該系統有源碼(源程序)編輯器、匯編器、調試數據提取器(Debug Data Extractor,DDX)和裝載器等。DDX從匯編器產生的文件中提取調試信息裝入裝載器。源碼調試步驟是:建源碼文件、加載到系統,選擇微控制器及匯編器,將源碼經匯編器匯編產生的目標代碼加載到微控制器中,啟動仿真進行源碼調試。

VSM提供了幾種匯編器,主要有51系列的ASEM51,AVR系列的AVRASM,AVRASM32,PIC系列的MPASM,MPASM32和HC11系列的ASM11等。匯編后可產生HEX或S19(用于MC68HC11),LST,㏒DI等調試文件。不同的微控制器選擇相應的匯編器,系統自動更新DDX。設定微控制器屬性編輯框中的程序文件即加載代碼文件。啟動仿真進行源碼調試。暫停時,在源碼調試窗口可看到調試格式┪募.SDI提供的源碼、代碼及地址,還可打開各種寄存器窗口查看各存儲單元內容。調試中可看到電路與程序代碼協同、交互式仿真過程和結果。調試中可隨時進行源碼修改、設置各種斷點等。圖1所示為單片機讀鍵并將值送數碼管顯示實驗的源碼調試狀態。

2 Proteus 借第三方編譯器實現源碼調試

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

Proteus裝載器支持的調試文件格式主要有:COFF(通用的,適應于PIC)、OMF(用于8051范圍內)、UBROF(IAR編譯器生成)、ELF/DWARF(通用的,較COFF有較好的調試性能)、COD(由BYTECRAFT生成, 廣泛應用在PIC中)等。

使用以上格式時,首先在編譯器中設置輸出格式,如在Keil中指定OMF格式的代碼文件,如圖2所示(例:6[CD*2]164.OMF)。然后將生成的帶調試信息的代碼文件作為單片機窗口的“程序文件”。啟動仿真,則可進行源碼調試。

3 Proteus 與第三方IDE聯合仿真實現源碼調試

這是第三種源碼調試方式。Proteus聯合第三方IDE,充分發揮Proteus的微控制器仿真功能和第三方IDE豐富的代碼調試功能,創造最佳的應用系統開發環境。多數專業匯編軟件和編譯器都有自己的集成開發環境IDE,如IAR的嵌入式工作臺,Keil′s μVision,Microchip′s MPLAB,Atmel′s AVR studio等。Proteus作為IDE的插入式仿真器,由IDE的調試器控制調試的執行。這種源碼調試方法有兩種方法,如表1所示。

Proteus 通過TCP/IP協議與IDE通信。Proteus充當虛擬在線仿真器(In Circuit Emulator,ICE)。例如KEIL與Proteus聯調。先要將Proteus提供的驅動器VDMAGDI.EXE裝在KEIL的安裝路徑下。在同臺計算機中調出KEIL與Proteus,進行仿真與聯調。如圖3所示,左邊為KEIL窗口,可利用斷點、變量窗口等監視程序的執行,進行源碼調試。右邊為Proteus窗口,在Proteus窗口可同步監視電路的運行狀態與過程,也查看Proteus提供的CPU寄存器、內RAM等各種存儲器窗口。

也可將IDE調試器、Proteus分別安裝在不同計算機中,利用互聯網進行兩者的聯合調試。

方法二

Proteus集成在IDE(例Proton,MPLAB,Atmel AVR studio)中,作為IDE中的一個仿真與調試工具。現以Proteus與AVR Studio聯合仿真中的源碼調試為例較詳細地敘述該調試方法。

(1) 在Proteus的ISIS中設計電路并保存(命名為LSD.DSN);

(2) 在AVR Studio中聯合調試。

打開[XC<57t9.tif>;%125%125],新建工程,在彈出的對話框中選擇工程類型為[XC<57t10.tif>;%125%125]。 設置工程名,源文件自動與工程名相同。操作菜單Debug →Select Platform and Device,在彈出的對話框中設置調試平臺為Proteus VSM Viewer、器件為Atmegar16,如圖4所示。點擊Finish接著彈出源程序編輯窗口。寫完程序、保存并點擊匯編,生成LSD.HEX。在Proteus VSM視窗中點擊打開按鈕(若視窗未打開,操作菜單View→Toolbars→Proteus VSM),打開已有的LSD.DSN電路文件,對Atmegar16設置程序文件為LSD.HEX。點擊AVR的按鈕啟動調試,接下來按AVR中的調試方法進行。┩5右側為AVR開發環境中的I/O視窗及CPU信息框,可查看與當前設計相關的PORTD口的內容。在Proteus VSM視窗中右擊還可打開各種存儲器窗口和觀察窗口。

電路與源碼協同仿真、調試[JZ)][HT5]

Proteus 除了支持一般的軟件斷點外,還有獨特的條件斷點和硬件實時斷點功能。對源碼調試提供了更靈活的手段。當硬件條件發生時暫停仿真,與單步調試工具結合極為方便有效。尤其在電路中引入異步觸發,當需要跟蹤分析其對電路的影響時更有用。

(1) 條件斷點。如圖5中Proteus的觀察窗口中添加PORTD,并設置它的斷點條件為“On Change”。仿真時當PORTD輸出數據發生變化就暫停仿真。

[JP2](2) 電壓探針斷點。對PORTD0引腳加一電壓探針,命名為PD0(見圖6),設置為數0值觸發。每當PORTD0輸出低電平時,觸發斷點使仿真暫停,如圖7所示。

(3) 硬件斷點:實時斷點發生器。

實時斷點發生器有實時電壓、電流斷點觸發器RTVBREAK和RTIBREAK:當觸發器引腳上的電壓或流經的電流超過設定的值將觸發斷點,為上升沿觸發;實時數字斷點觸發器RTDBREAK:當輸入到引腳的二進制數等于設定值時觸發斷點;實時電壓、電流監視器RTVMON和RTIMON:當輸入電壓或當流經的電流不在設定范圍內,可觸發斷點、警告或是錯誤。可將RTVMON和RTIMON用于創建仿真模型,當模型中的電壓或電流超過設定的工作極限時警告終端用戶。

如圖8對POETD0引腳添加實時數字斷點觸發器并設置觸發值為0,達到同上述(2)中電壓探針一樣的斷點調試效果。

主站蜘蛛池模板: 欧美精品高清| 亚洲欧美日本国产综合在线 | 国内精品视频在线| 国产精品久久久精品三级| 亚洲国产日韩视频观看| 中文字幕久久亚洲一区| 成人福利免费在线观看| 国产美女无遮挡免费视频| 国产欧美日韩精品第二区| 色男人的天堂久久综合| 91精品在线视频观看| 天天爽免费视频| 亚洲日韩国产精品综合在线观看| 亚洲视频一区| 黄色在线网| 日韩毛片免费观看| 亚洲中文字幕久久无码精品A| 天堂岛国av无码免费无禁网站| 一本一本大道香蕉久在线播放| 国产在线高清一级毛片| 亚洲欧美成人综合| 国产欧美综合在线观看第七页 | 欧美日在线观看| 亚洲香蕉伊综合在人在线| 国产精品福利社| 啦啦啦网站在线观看a毛片| 成人午夜亚洲影视在线观看| 亚洲AV无码乱码在线观看裸奔| 亚洲午夜18| 国产精品部在线观看| 亚卅精品无码久久毛片乌克兰| 无码综合天天久久综合网| 免费在线看黄网址| 久久精品亚洲热综合一区二区| 国产白丝av| 亚洲三级a| 亚洲毛片一级带毛片基地 | 亚洲午夜福利在线| 丁香五月激情图片| 久久99国产乱子伦精品免| 欧美视频在线第一页| 美女潮喷出白浆在线观看视频| 国产精品网址在线观看你懂的| 欧美人与牲动交a欧美精品| 麻豆精品视频在线原创| 国产无码精品在线播放| 天天综合网色中文字幕| 国产一区二区精品福利| 亚洲成AV人手机在线观看网站| 免费观看国产小粉嫩喷水| 成人福利在线观看| 伊人网址在线| 亚洲一区二区成人| 嫩草影院在线观看精品视频| 亚洲无码在线午夜电影| 91麻豆精品国产高清在线| 亚洲另类色| 亚洲男人的天堂视频| 青草视频久久| 狠狠色噜噜狠狠狠狠色综合久 | a毛片在线播放| 国产99视频精品免费观看9e| 91精品啪在线观看国产91九色| 亚洲an第二区国产精品| 手机在线免费不卡一区二| 国产精品网址在线观看你懂的| 久久久久国产精品熟女影院| 色天天综合| 国产第八页| 99re在线视频观看| 91美女视频在线观看| 色九九视频| 国产精欧美一区二区三区| 亚洲高清免费在线观看| 72种姿势欧美久久久大黄蕉| 国产免费a级片| 欧美日本中文| 亚洲乱强伦| 国产在线第二页| 成人蜜桃网| 播五月综合| 98超碰在线观看|