-微處理器仿真.doc

上傳人:小** 文檔編號(hào):16682791 上傳時(shí)間:2020-10-21 格式:DOC 頁(yè)數(shù):17 大?。?10.50KB
收藏 版權(quán)申訴 舉報(bào) 下載
-微處理器仿真.doc_第1頁(yè)
第1頁(yè) / 共17頁(yè)
-微處理器仿真.doc_第2頁(yè)
第2頁(yè) / 共17頁(yè)
-微處理器仿真.doc_第3頁(yè)
第3頁(yè) / 共17頁(yè)

下載文檔到電腦,查找使用更方便

5 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《-微處理器仿真.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《-微處理器仿真.doc(17頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、第五章 微處理器仿真 Proteus VSM中的大多數(shù)微處理器模型會(huì)生成很多窗口??梢酝ㄟ^(guò)Debug菜單顯示和隱藏這些窗口。這些窗口有以下四個(gè)主要的類型: 狀態(tài)窗口—通常利用此窗口顯示其寄存器的值。 寄存器窗口—對(duì)應(yīng)于微處理器的結(jié)構(gòu)中寄存器空間。寄存器設(shè)備(包括RAMS和ROMS)同樣會(huì)生成這些窗口。 源代碼窗口—在原理圖中每一個(gè)處理器都有對(duì)應(yīng)的源代碼窗口 變量窗口—假設(shè)裝入程序支持可編程的變量顯示,在原理圖中每一個(gè)處理器都有對(duì)應(yīng)的變量窗口 顯示彈出窗口 按CTRL+F12啟動(dòng)仿真模式,或者當(dāng)系統(tǒng)已經(jīng)處于運(yùn)行狀態(tài),點(diǎn)擊仿真進(jìn)程控制按鈕Pause。 按ALT+

2、D,將在Debug菜單顯示所需窗口的序列號(hào)。 這些窗口類型只能在當(dāng)仿真暫停顯示.當(dāng)仿真暫停時(shí)(手動(dòng)或者因?yàn)閿帱c(diǎn))這些窗口將會(huì)重新出現(xiàn)。 仿真窗口都有右鍵菜單—如果在窗口上按右鍵,則出現(xiàn)一系列菜單。從中可以設(shè)置控制窗口中數(shù)據(jù)的顯示/隱藏和格式等。 仿真窗口的位置和可見(jiàn)性將以PWI文件的格式以設(shè)計(jì)名稱為文件名自動(dòng)保存。該P(yáng)WI文件同樣包含了以前設(shè)置了的斷點(diǎn)的位置以及觀察窗口的內(nèi)容。 5.1 基于Proteus VSM源代碼調(diào)試 概述 PROTEUS VSM支持基于匯編程序和編譯器的源代碼調(diào)試。調(diào)試下載器的設(shè)置包含在LOADERS.DLL中并且此類工具的數(shù)量正在以很

3、快的速度增長(zhǎng)。在我方網(wǎng)站“3rd Party Compilers”可以查詢到最新信息。 如果已經(jīng)使用了支持的匯編器和編譯器,則PROTEUS VSM會(huì)為項(xiàng)目中每一個(gè)源文件生產(chǎn)一個(gè)源代碼窗口。當(dāng)仿真暫停時(shí),這些窗口會(huì)出現(xiàn)在DEBUG菜單上。 5.1.1 、源代碼窗口 源代碼窗口是Proteus中用來(lái)仿真電路系統(tǒng)的最基本的工具。運(yùn)行程序時(shí)允許客戶單步仿真程序或同時(shí)運(yùn)行整個(gè)嵌入式系統(tǒng)。程序可以通過(guò)兩種方式加載到源代碼窗口。一是通過(guò)編譯器輸出的仿真文件,二是通過(guò)由源代碼控制系統(tǒng)生成的SDI文件。當(dāng)使用編譯器時(shí),仿真文件應(yīng)該通過(guò)如下所示的程序?qū)傩源翱谳d入到原理圖部件。 大家通常

4、會(huì)犯一個(gè)錯(cuò)誤就是載入到原理圖部件的是HEX文件然后企圖采用源代碼仿真的方式。這樣是不太正確的。為了能進(jìn)行源代碼仿真,仿真系統(tǒng)還得需要更多的有關(guān)地址、變量等信息。只有當(dāng)用匯編程序編寫或編譯工具不能生成任何可支持的仿真格式時(shí)才使用HEX格式文件(這種情況的可能性很?。? 在進(jìn)程控制按鈕中按PAUSE啟動(dòng)仿真,在默認(rèn)的情況下源代碼窗口就會(huì)出現(xiàn),界面如下圖所示。 界面中所示信息的原因是仿真時(shí)間為0,此時(shí)微處理器的程序計(jì)數(shù)器并不是指向程序可執(zhí)行行。 用戶當(dāng)然可以從源程序窗口頂端的下拉框選擇想仿真的程序然后按需要進(jìn)行單步仿真或設(shè)置端點(diǎn),如下圖。 如果使用高級(jí)語(yǔ)言編寫的程序,

5、則可以使用高級(jí)語(yǔ)言或機(jī)器碼進(jìn)行單步調(diào)試。如果想調(diào)出機(jī)器碼,可以使用組合鍵CTRL+D或者在源代碼窗口上單擊右鍵后選擇Dissembly即可。 在源代碼窗口點(diǎn)擊右鍵后選擇合適的使能/禁止選項(xiàng),用戶便可以觀測(cè)行數(shù)、代碼和地址。 5.1.2 支持的仿真文件格式 1. ELF/DWARF 此格式是Proteus推薦的仿真文件格式。該格式一般為大多數(shù)模型編譯器所支持,在可預(yù)見(jiàn)的未來(lái)它將風(fēng)靡大多數(shù)編譯器。在Proteus使用ELF文件,只要在微處理器的屬性對(duì)話框指定該文件即可。 目前ELF/DWARF只支持AVR和ARM7模型,但不久將會(huì)支持PIC和其它系列的芯

6、片。 ELF(二進(jìn)制文件)和DWARF(調(diào)試文件)必須保存在同一個(gè)目錄下—當(dāng)在編譯器選擇ELF/DWARF作為仿真文件格式時(shí),默認(rèn)情況下ELF、DWARF保存在同一個(gè)目錄。 2. COFF 此格式雖然為Proteus支持的格式,但在ELF/DWARF為有效格式的情況下還是應(yīng)以ELF/DWARF為優(yōu)先選項(xiàng)。這就意味著一個(gè)PIC編譯器可能將COF中的浮點(diǎn)數(shù)描述成IEEE浮點(diǎn)數(shù)或PIC的浮點(diǎn)數(shù)并且不提供清晰的信息說(shuō)明格式的種類。如果需要更多有關(guān)COF格式的信息請(qǐng)查閱相關(guān)網(wǎng)站。如果想使用COF格式,則需在編譯器指定仿真格式然后在微處理器的屬性對(duì)話框的program property中使用C

7、OF格式。 3. UBROF UBROF是IAR編譯器一種可選的仿真格式。如果想使用UBROF8格式(非最新版本),則需在編譯器指定仿真格式然后在微處理器的屬性對(duì)話框的program property中使用UBROF格式。 用戶還可以在IAR Embedded Workbench中直接驅(qū)動(dòng)proteus,這方面的信息可以在Using Proteus as a Virtual ICE章節(jié)找到。 4. OMF51 OMF51是由Keil編譯器生成的仿真格式。如果想使用OMF51格式,則需在編譯器指定仿真格式然后在微處理器的屬性對(duì)話框的program property中使用OM

8、F51格式文件。 更新版本的Keil編譯器同樣可以生成ELF/DWARF格式文件,因此建議使用ELF/DWARF格式。 用戶同樣可以在Keil中直接驅(qū)動(dòng)proteus,這方面的信息可以在Using Proteus as a Virtual ICE章節(jié)找到。 5. COD COD格式由Bytecrafe生成并廣泛使用于PIC系列中。如果提供的信息不齊全并且有其它格式可以采用時(shí),建議不使用COD格式。特別地,COD符號(hào)仿真數(shù)據(jù)格式的限制是指VSM仿真支持局限于機(jī)器碼仿真和只能觀察指定的寄存器位置并且不支持變量顯示。 如果想使用COD格式,則需在編譯器指定仿真格式然后在微處理

9、器的屬性對(duì)話框的program property中使用COD格式文件。 6. BAS 目前Proteus 針對(duì)Crownhill Proton Development Suite為客戶提供一種解決方案。編譯完程序后在PIC微處理器的屬性編輯框的program property中指定BAS文件。 7. SDI SDI格式只在用匯編程序編寫的程序能使用并且通過(guò)ISIS中的源代碼控制系統(tǒng)進(jìn)行組合生成。如果使用SDI格式,則需在Code Generation Tools對(duì)話框設(shè)置相應(yīng)選項(xiàng)從而指定Debug Extaraction tool(在安裝軟件時(shí)將會(huì)正常創(chuàng)建)然后在微處理器的

10、屬性對(duì)話框的program property中使用SDI格式文件。 注意:在微處理器的Program property選項(xiàng)中不要輸入源程序文件的名字——Proteus VSM不仿真“C”或“ASM”文件;CPU從上述的仿真文件中載入和執(zhí)行二進(jìn)制機(jī)器碼。 5.1.3 單步執(zhí)行 Proteus提供一系列用于單步執(zhí)行的選項(xiàng)。全部選項(xiàng)可以在代碼窗口本身選取或在Debug菜單操作。 Step Over—單行執(zhí)行程序。當(dāng)遇到子程序時(shí),以子程序?yàn)橐恍袌?zhí)行(即整個(gè)程序被執(zhí)行) Step Into—執(zhí)行一條源代碼指令。如果沒(méi)有激活了的源代碼窗口,將執(zhí)行一條機(jī)器碼指令。 Step

11、Out—執(zhí)行到當(dāng)前的子程序返回 Step To—執(zhí)行到程序運(yùn)行到光標(biāo)所處行。該功能只在有激活的源代碼窗口的情況下才有效。 注意:除了Step To命令外,其它單步執(zhí)行命令都可以在沒(méi)有有效的源代碼窗口的情況下使用。Proteus仍然可以仿真由Proteus不支持的下載工具生成的代碼。當(dāng)然這樣做還是存在不少困難的。 5.1.4 使用斷點(diǎn) 對(duì)于研究軟件的問(wèn)題或設(shè)計(jì)中軟硬交互性,斷點(diǎn)是研究這些特性的一種非常有用的方法。一般情況下,在發(fā)生問(wèn)題的子程序開(kāi)端設(shè)置一個(gè)斷點(diǎn),啟動(dòng)仿真,然后與設(shè)計(jì)進(jìn)行交互式仿真一直到程序運(yùn)行到斷點(diǎn)處。在斷點(diǎn)處,仿真將被掛起。之后,利用單步執(zhí)行觀測(cè)寄存器值,存儲(chǔ)單元和其它

12、電路中涉及到的條件。打開(kāi)Show Logic State of Pins對(duì)于調(diào)試會(huì)更有幫助。 在有效的源代碼窗口里,可以按F9或右鍵菜單的選項(xiàng)對(duì)斷點(diǎn)進(jìn)行設(shè)置或清除。只能在有結(jié)果代碼的程序行設(shè)置斷點(diǎn)。 如果源程序被更改,Proteus VSM將會(huì)盡力重新導(dǎo)入基于子程序地址的斷點(diǎn)。如果源代碼更改的地方過(guò)多則導(dǎo)入過(guò)程將會(huì)發(fā)生錯(cuò)誤,但是一般情況下程序仍能正常工作,用戶不必考慮導(dǎo)入過(guò)程中發(fā)生的錯(cuò)誤。 5.1.5 、變量窗口 由Proteus VSM提供的大部分下載器可以讀取程序變量的位置和源程序行的地址。Proteus顯示變量窗口和源代碼窗口。

13、 變量窗口是一個(gè)非常強(qiáng)大的仿真幫助工具。它提供了一系列可自定義的特性以便能更容易獲取和明白所顯示的信息。 1. 混合類型和指針的擴(kuò)展 變量窗口將會(huì)很好處理混合類型(結(jié)構(gòu),數(shù)組,枚舉)和指針。它以擴(kuò) 展了的樹(shù)型方式顯示類型的內(nèi)容或者指針的相關(guān)參考值。 載入變量窗口的信息由編譯器生成的Object Module File提供。有可能的話推薦使用編譯器生成的ELF/DWARF格式,在ISIS中的原理圖部件指定使用ELF格式。在沒(méi)有ELF/SWARF的情況下,可以使用COFF格式并且該格式應(yīng)該提

14、供完全的變量支持。 2. 更改信息和舊的數(shù)據(jù)值 當(dāng)某變量值改變并且仿真暫停時(shí),對(duì)應(yīng)變量在變量窗口中以高亮顯示。同樣可以通過(guò)在變量窗口中點(diǎn)擊右鍵選中Show Previous Values來(lái)查看舊的數(shù)據(jù)值。 如果一混合類型(例如一結(jié)構(gòu)),它的任何元素發(fā)生變化時(shí),只是對(duì)應(yīng)的元素以高亮的方式顯示。 3. 拖放到觀察窗口 雖然在程序運(yùn)行時(shí)變量窗口是隱藏的,但用戶可以向觀察窗口拖放變量。觀察窗口中的變量在仿真的過(guò)程中一直是可見(jiàn)的。因?yàn)橛^察窗口的可見(jiàn)性,使得可以針對(duì)變量設(shè)立觀測(cè)條件,并當(dāng)條件匹配時(shí)暫停程序。 4. 隱藏和顯示全局變量 在大型設(shè)計(jì)里可能有很多全局變量。在變量

15、窗口點(diǎn)擊右鍵從中選擇Show Globals選項(xiàng),可以隱藏全部局部變量,以便更加容易觀測(cè)局部變量。 5. 顏色設(shè)置 在變量窗口點(diǎn)擊右鍵,選擇Set Colours選項(xiàng)后出現(xiàn)一對(duì)話框允許用戶為變量窗口全部項(xiàng)目設(shè)置顏色。 5.1.6 多個(gè)CPU仿真 Proteus VSM可以仿真含兩個(gè)或兩個(gè)以上CPU的電路系統(tǒng)。每一個(gè)CPU各自生成包括代碼和變量的彈出式窗口。這些窗口在Debug菜單的子菜單整合在一起。 當(dāng)單步執(zhí)行時(shí),光標(biāo)所在的源代碼窗口對(duì)應(yīng)的CPU被認(rèn)為是主處理器,其它CPU將自由運(yùn)行。當(dāng)主CPU已經(jīng)完成一條命令時(shí),將中止從CPU的執(zhí)行。如果將光標(biāo)從源代碼窗口退出,則最

16、后光標(biāo)所在的源代碼窗口的處理器為主CPU;單擊其他任意處理器的源代碼窗口,則改變主CPU。 5.2 、源代碼控制系統(tǒng) 5.2.1 、概述 源代碼控制系統(tǒng)有兩大主要功能: 程序源代碼寄存于ISIS中。這一功能使用用戶可以直接在ISIS編輯環(huán)境中直接編輯源代碼,而無(wú)須手動(dòng)切換應(yīng)用環(huán)境。 在ISIS中定義了源代碼編譯為目標(biāo)代碼的規(guī)則。一旦程序啟動(dòng),并執(zhí)行仿真時(shí)這些規(guī)則將被執(zhí)行,因此目標(biāo)代碼被更新。 注意并不一定需要利用源代碼控制系統(tǒng)仿真微處理器。事實(shí)上,如果用戶定義的匯編程序或編譯器自帶的IDE,可直接在其中編譯。生成了可執(zhí)行程序后切換到Proteus

17、即可。 5.2.2 、創(chuàng)建源代碼文件 將源代碼程序添加到設(shè)計(jì)中 在Source菜單中選擇Add/Remove Source Files 為源程序文件選擇Code Generation Tool。如果第一次使用新的匯編程序或編譯器,需要使用菜單項(xiàng)Source—Code Generation Tool。 點(diǎn)擊NEW按鈕,用文件選擇器為源程序文件選擇或輸入文件名。如果期望的文件名不存在,用戶可以在文本框中鍵入期望的文件名。 在Flags框輸入處理源文件所需的標(biāo)記。當(dāng)每次使用某一特殊工具并且在該工具已登記的前提下,可以在Flags框輸入標(biāo)記。 點(diǎn)擊OK將源文件加載到設(shè)計(jì)中。

18、 請(qǐng)記住編輯微處理機(jī)的屬性并指定目標(biāo)代碼文件名(通常是一HEX,S19或帶調(diào)試信息的數(shù)據(jù)文件)。ISIS不能自動(dòng)加載目標(biāo)文件,因?yàn)樵韴D中有可能有多于一個(gè)微處理器而導(dǎo)致ISIS無(wú)法判斷某一目標(biāo)文件的所屬取向。 在源代碼上工作 編輯源代碼程序: 1. 使用組合鍵ALT+S 2. 在source菜單中選擇相應(yīng)源文件的序號(hào) 返回ISIS,編譯目標(biāo)代碼并運(yùn)行仿真: 3. 在源文件窗口中按組合鍵Alt+Table返回ISIS編輯環(huán)境 4. 按F12執(zhí)行程序,或按組合鍵Ctrl+F12開(kāi)始調(diào)試 任何一種方法,ISIS會(huì)指示文字編輯器保存其文件,檢查源代碼和目標(biāo)代碼文件的采樣時(shí)間并喚醒適當(dāng)?shù)?/p>

19、代碼生成工具編譯目標(biāo)代碼。 重新編譯目標(biāo)代碼: 5. 選擇Source菜單Build All命令重新編譯全部目標(biāo)代碼 ISIS將運(yùn)行需要的代碼生成工具來(lái)編譯目標(biāo)代碼,命令行輸出將在窗口顯示。這樣可以方便地檢查編譯中的警告和錯(cuò)誤。 5.2.3 、安裝第三方目標(biāo)代碼生成工具 許多共享匯編軟件和編譯器可以從系統(tǒng)CD安裝到Proteus Tools目錄下,并且會(huì)被自動(dòng)作為Proteus的代碼生成工具。然而,如果想使用其他生成工具,則需要使用Source 菜單的Define Code Generation Tools命令。 注冊(cè)新的代碼生成工具 1. 在Source 菜單中選擇Define

20、 Code Generation Tools命令 2. 點(diǎn)擊NEW選項(xiàng),利用文件選擇器為新的代碼生成工具導(dǎo)入可以執(zhí)行文件。用戶也可以注冊(cè)批處理文件作為代碼生成工具。 3. 為源文件和目標(biāo)代碼文件輸入擴(kuò)展名。擴(kuò)展名決定文件的類型,因?yàn)閷?duì)于特定的源文件,ISIS將會(huì)通過(guò)文件類型確定是否執(zhí)行這一工具。如果選擇了Always Build,則該工具一直處于激活狀態(tài),可以省去目標(biāo)代碼的擴(kuò)展名。 4. 在Command line指定路徑。%1代表源代碼文件,%2代表目標(biāo)代碼文件。也可以使用%$代表Proteus目錄路徑,%~代表DSN文件放置目錄。 如果想要使用Proteus VSM源代碼調(diào)試功能,

21、用戶需要一個(gè)匯編器或編譯器的Debug Data Extractor(DDX)。調(diào)試數(shù)據(jù)提取程序是一個(gè)小的命令行程序,它通過(guò)由匯編程序或編譯器產(chǎn)生的列表文件提取目標(biāo)代碼/源代碼行的交叉參考信息。 如果用戶有一個(gè)DDX程序,為由代碼生成工具生成的列表文件或符號(hào)調(diào)試文件鍵入擴(kuò)展名,然后單擊Browse選擇DDX程序的路徑和文件名。如果用戶的編譯器可以輸出COF,ELF/DWARF等格式文件,則沒(méi)有必要使用DDX。 5.2.4 使用MAKE程序 在有些情況下,由ISIS執(zhí)行的簡(jiǎn)單的編譯規(guī)則不能滿足用戶的要求——特別是設(shè)計(jì)項(xiàng)目中包含多個(gè)源代碼文件和目標(biāo)代碼文件。在這種情況下,用戶需要使用外部MA

22、KE程序,可按以下步驟建立項(xiàng)目: 1. 安裝MAKE程序(通常提供匯編程序/編譯器環(huán)境)作為代碼生成工具。設(shè)置源文件名的擴(kuò)展名為MAK,將Always Build選項(xiàng)選中。對(duì)于典型的MAKE程序命令行設(shè)置為-f%1. 2. 使用Source—Add/Remove Source Files 命令添加make文件(例如。MYPROJECET.MAK)到設(shè)計(jì)項(xiàng)目中。 3. 添加源代碼文件,但選擇代碼生成工具為 每次項(xiàng)目的編譯,ISIS將會(huì)運(yùn)行外部MAKE程序,并將項(xiàng)目的make 文件作為參數(shù)。該參數(shù)將確定哪一代碼生成工具將被運(yùn)行。一個(gè)好的MAKE程序?qū)?huì)提供很大的靈活性。 5.

23、2.5 使用第三方源代碼編輯器 Proteus VSM提供了一個(gè)簡(jiǎn)明的源代碼文本編輯器SRCEDIT。使用該編輯器可以編輯源代碼文件。SRCEDIT本質(zhì)上是NOTEPAD的改進(jìn)版本。它可以打開(kāi)多個(gè)源文件,并且響應(yīng)DDE的要求,保存任一修改后的緩存。 如果用戶有更加先進(jìn)的文本編輯器,例如UltraEdit,便可以在ISIS中使用這一編輯器。注意IDE類型的環(huán)境有可能不響應(yīng)DDE命令,因此以這種方式整合并不是那么合適。 建立第三方源代碼編輯器 1. 選擇Source—Setup External Text Editor菜單項(xiàng) 2. 點(diǎn)擊Browse按鈕,使用文件選擇器定位文本編輯器的可執(zhí)

24、行文件。 3. ISIS利用DDE協(xié)議指示文本編輯器打開(kāi)并保存文件。參考文本編輯器的說(shuō)明文檔向供應(yīng)商索取命令語(yǔ)法的詳細(xì)資料。如果服務(wù)名稱不確定的,不妨以諸如ULTRAEDIT的產(chǎn)品名一試。 5.2.6 使用第三方IDE 大部分專業(yè)的編譯器和匯編器都有自己的集成開(kāi)發(fā)環(huán)境或稱IDE。例如,IARs Embedded Workbench, Keils uVision, Microchips MP-LAB and Atmels AVR studio。如果用戶使用其中一個(gè)IDE開(kāi)發(fā)程序代碼,可以很容易地在IDE中進(jìn)行編輯,生成可執(zhí)行文件(HEX, ELF/DWARF, COF文件)后切換到Prot

25、eus VSM,然后進(jìn)行仿真。 PROTEUS VSM提供兩總方式支持外部IDE運(yùn)行: 將Proteus作為外部調(diào)試器 當(dāng)Proteus作為外部調(diào)試器時(shí),Proteus中可用的下載器支持由編譯器生成的帶調(diào)試信息格式。下載器提取的不僅是高級(jí)語(yǔ)言程序行的地址而且在允許的條件下而且是程序變量的位置。 通常的仿真格式是COD(在PIC系列中使用),UBROF(被全部IAR編譯器使用),ELF/DWARF(普通格式),COFF(普通格式)和OMF(在8051系列中使用)。我們同樣提供下載器支持其它格式,例如支持由Crownhills Proton Development Suite生成的列表文

26、件。 點(diǎn)擊仿真進(jìn)程控制盤的PLAY按鈕開(kāi)始實(shí)時(shí)仿真或者按STEP按鈕運(yùn)行到第一行命令行。在后一種情況,代碼窗口將會(huì)出現(xiàn),用戶可以開(kāi)始逐步運(yùn)行代碼。 將Proteus作為虛擬In-circuit仿真器 到目前為止,虛擬的ICE只支持Keil、IAR、MPLAB。虛擬ICE是個(gè)發(fā)展很快的領(lǐng)域,用戶應(yīng)該經(jīng)常訪問(wèn)公司網(wǎng)站專題”Supported Compilers”以獲得最新的信息和說(shuō)明資料。安裝Proteus實(shí)現(xiàn)與這些工具一起運(yùn)行的說(shuō)明同樣可以在這網(wǎng)站中找到。 5.3 、調(diào)試工具 Proteus VSM包含了擴(kuò)展的調(diào)試工具和跟蹤模式。它們?cè)诓檎义e(cuò)誤和驗(yàn)證系統(tǒng)運(yùn)轉(zhuǎn)方面很有作用。該機(jī)制使

27、得全部仿真行為或某一指定的仿真行為在仿真過(guò)程中被記錄下來(lái)并顯示在仿真指示器上。 作為一個(gè)系統(tǒng)級(jí)的仿真器,Proteus VSM的調(diào)試模式不僅僅可以調(diào)試微處理器還可以調(diào)試合適的外圍設(shè)備(LCD顯示,I2C寄存器,溫度控制儀器等),這些跟蹤模式可以通過(guò)調(diào)試對(duì)話框使能。 5.3.1 、設(shè)置調(diào)試參數(shù) i 、當(dāng)調(diào)試功能使能時(shí)設(shè)置仿真 從Debug菜單中運(yùn)行Configure Diagnostics對(duì)話框 在對(duì)話框里展開(kāi)選項(xiàng),從中找到欲使能的調(diào)試項(xiàng)。 點(diǎn)擊左鍵選定該興趣的項(xiàng)目,然后在Trace Information Level下選中Full Trace。

28、用戶可以設(shè)置’Arm’的時(shí)間和運(yùn)行時(shí)間以控制調(diào)試功能激活的時(shí)間間隔。 重復(fù)選擇感興趣的其它選項(xiàng),然后退出對(duì)話框 仿真時(shí)調(diào)試功能將在Arm時(shí)刻被激活,運(yùn)行指定的周期,所有調(diào)試結(jié)果將顯示在仿真指示器上。 注意:使能了的跟蹤調(diào)試增加了仿真的負(fù)荷。但是,因?yàn)樗鼈兪且话阌脕?lái)確定模棱兩可的問(wèn)題,達(dá)到仿真的目的,因此仿真非實(shí)時(shí)的情況不再是個(gè)問(wèn)題。 ii 、仿真指示器 仿真指示器存放了在仿真期間產(chǎn)生的全部錯(cuò)誤、警告和調(diào)試信息。該指示器在ISIS中的位置處于仿真進(jìn)程控制盤附近的狀態(tài)欄。指示器的狀態(tài)顯示欄在仿真過(guò)程中不斷更新,不僅顯示記錄信息(包括錯(cuò)誤、警告和調(diào)試信息)而且顯示了此類信息的

29、種類。用戶可以在仿真過(guò)程的任何時(shí)刻或者在完成仿真后左鍵點(diǎn)擊狀態(tài)欄指示器所在處調(diào)出仿真指示器(可以顯示全部信息)。 在由一個(gè)物理元器件產(chǎn)生的全部信息(信息量非常豐富,包含除了系統(tǒng)信息外的其它信息)的右邊有一個(gè)與這些信息相關(guān)的欄目。這項(xiàng)功能可以顯示產(chǎn)生信息的原理圖器件。在Source列中單擊左鍵將最小化仿真指示器并且可以放大/縮小、標(biāo)記相應(yīng)的元器件。 該功能特別有用,尤其是在復(fù)雜的設(shè)計(jì)中。利用它可以檢查一器件周圍的硬件設(shè)計(jì)方便解決問(wèn)題。 關(guān)于仿真錯(cuò)誤信息方面最讓人感到挫折的事情之一就是一些問(wèn)題(例如網(wǎng)點(diǎn)分歧,SPICE單復(fù)數(shù)等)與網(wǎng)點(diǎn)相關(guān)而不是與某一具體的元器件相關(guān),因此在原理圖中將

30、沖突電路隔離出來(lái)是非常困難。仿真指示器包含了在信息上的超鏈接,點(diǎn)擊鏈接允許客戶主導(dǎo)整個(gè)設(shè)計(jì)。這樣就簡(jiǎn)化了仿真的任務(wù)。 iii 、從仿真指示器中操作一個(gè)網(wǎng)點(diǎn) 在仿真指示器中點(diǎn)擊感興趣的信息所包含的”NET” 鏈接。 點(diǎn)擊“NET”鏈接后,仿真指示器將會(huì)最小化回到狀態(tài)欄并調(diào)出ISIS中Design Explorer。Design Explorer在窗口的左邊顯示一系列網(wǎng)點(diǎn)同時(shí)在窗口的右邊顯示了與沖突網(wǎng)點(diǎn)相關(guān)的連接點(diǎn)(引腳)。 在其中之一的引腳單擊右鍵后從右鍵菜單中選擇Goto Schematic Net. 出錯(cuò)的網(wǎng)點(diǎn)將在原理圖中以高亮方式顯示 注意:該檢測(cè)方法并

31、不是絕對(duì)可行。當(dāng)原理圖部件通過(guò)等效電路(用戶利用ISIS已有器件構(gòu)成的與某一元器件等效的電路)進(jìn)行仿真并且出錯(cuò)的網(wǎng)點(diǎn)在該等效電路里時(shí),這種仿真方法就不可行了。然而,雖然存在著一些不能檢測(cè)的情況,但是上述的技術(shù)在大多數(shù)正常條件下是可以正常起作用的并且是一個(gè)強(qiáng)大的分析工具。 一般的錯(cuò)誤信息或者設(shè)計(jì)缺陷的錯(cuò)誤信息包含了幫助文件。這些幫助文件詳細(xì)介紹了解決問(wèn)題的方法。這就不僅清晰顯示了發(fā)生錯(cuò)誤的地方而且提供了解決問(wèn)題的相關(guān)建議。用戶可以為某一錯(cuò)誤信息調(diào)出相應(yīng)的幫助文件。方法是在信息的右邊左鍵點(diǎn)擊“help”按鈕。如下圖所示: 在仿真指示器點(diǎn)擊右鍵,產(chǎn)生一帶幾個(gè)選項(xiàng)的菜單欄。利用這些菜單欄可以實(shí)

32、現(xiàn)拷貝已有數(shù)據(jù)到粘貼板或設(shè)置窗口的顏色/網(wǎng)格、外觀。 5.4 、觀測(cè)窗口 5.4.1 給觀測(cè)窗口增加項(xiàng)目 微處理器模型包含的變量,存儲(chǔ)器和寄存器窗口只能在仿真暫停時(shí)顯示,但是觀測(cè)窗口則可以實(shí)時(shí)更新顯示值。它同時(shí)可以給獨(dú)立存儲(chǔ)單元指定名稱,這比從存儲(chǔ)器窗口查找要容易得多。 在觀測(cè)窗口中添加項(xiàng)目的步驟如下: 按組合鍵CTRL+F12開(kāi)始仿真或系統(tǒng)處于仿真狀態(tài)時(shí),按pause按鈕,可暫停仿真。 單擊Debug菜單中的窗口序號(hào),顯示包含被觀測(cè)的項(xiàng)目的存儲(chǔ)器窗口和觀測(cè)窗口。 使用鼠標(biāo)左鍵定義存儲(chǔ)單元的位置。所選定單元以反色顯示。 從存儲(chǔ)器窗口中拖動(dòng)選擇的項(xiàng)目到觀測(cè)

33、窗口。 用戶同樣可以使用鼠標(biāo)右鍵菜單的“Add Item by Name ”或“ Add Item by Address”。對(duì)于微處理器的SFR來(lái)說(shuō),觀測(cè)窗口特別有用。因?yàn)樵摯翱诳梢员O(jiān)測(cè)個(gè)別的位變量(PIC、AVR和ARM模型)。 (觀測(cè)窗口監(jiān)測(cè)PIC18的寄存器CCP1CON) 在觀測(cè)窗口中修改項(xiàng)目: 已經(jīng)將項(xiàng)目添加到觀測(cè)窗口中,用戶可以選擇其中一個(gè)項(xiàng)目,然后進(jìn)行以下編輯。 按組合鍵CTRL+R或F2鍵重命名項(xiàng)目 利用右鍵菜單的選項(xiàng)改變數(shù)據(jù)量。系統(tǒng)提供了幾種數(shù)據(jù)類型(例如,16或32位字,或字符串)。第二個(gè)和后續(xù)的字節(jié)假定是服從項(xiàng)目地址的,因此,選擇多字節(jié)或字串顯示方

34、式時(shí),只須從存儲(chǔ)器窗口拖出第一字節(jié)即可。 改變數(shù)據(jù)的格式,如二進(jìn)制、八進(jìn)制、十進(jìn)制或十六進(jìn)制。 5.4.2 觀測(cè)點(diǎn)條件 當(dāng)項(xiàng)目的值出現(xiàn)特定情形時(shí),觀測(cè)窗口可以延緩仿真。當(dāng)特定的項(xiàng)目值發(fā)生改變時(shí),觀測(cè)窗口可延緩仿真。當(dāng)然,用戶也可以定義更加復(fù)雜的情形。 設(shè)定觀測(cè)點(diǎn)條件: 按組合鍵CTRL+F12開(kāi)始仿真,如果系統(tǒng)已經(jīng)處于仿真狀態(tài),按暫停鍵,可暫停仿真。 單擊Debug菜單中的窗口序號(hào),顯示觀測(cè)窗口。 增加觀測(cè)點(diǎn) 選擇觀測(cè)點(diǎn)并右擊,選擇右鍵快捷菜單中的Watchpoint Condition 在Global Break Condition選項(xiàng)區(qū)進(jìn)行設(shè)置。這一設(shè)置決定

35、了當(dāng)任一項(xiàng)目表達(dá)式為真時(shí),或所有項(xiàng)目表達(dá)式為真時(shí),系統(tǒng)是否延緩仿真 對(duì)Item Break Expressions選項(xiàng)區(qū)進(jìn)行設(shè)置。一個(gè)Item Break Expressions選項(xiàng)由Item、Mask、Condition、Value構(gòu)成。 增加觀測(cè)情形會(huì)給仿真器增加一定的負(fù)載,這是因?yàn)镻roSPICE在每次到達(dá)觀測(cè)點(diǎn)時(shí)刻時(shí)必須要重啟觀測(cè)情形。然而,當(dāng)尋找模棱兩可的設(shè)計(jì)漏洞時(shí),該特性還是非常有用的。一般來(lái)說(shuō),系統(tǒng)多消耗一點(diǎn)時(shí)間到達(dá)測(cè)試點(diǎn)并不影響系統(tǒng)的正常運(yùn)行。 5.5 斷點(diǎn)觸發(fā) 許多元器件都具有當(dāng)一特定電路情形發(fā)生變化時(shí)觸發(fā)仿真延緩的功能。與單步仿真結(jié)合使用時(shí),這一功能非常有用

36、,因?yàn)殡娐房梢灾敝聊骋惶囟ㄇ樾纬霈F(xiàn)時(shí),才可以正常仿真,然后使用單步執(zhí)行,就可以看到電路下一步將會(huì)發(fā)生什么動(dòng)作。 5.5.1 建立硬件斷點(diǎn) 用戶利用硬件斷點(diǎn)可以在匹配硬件斷點(diǎn)的條件下暫停仿真。當(dāng)調(diào)試設(shè)計(jì),尤其是異步仿真電路并且需要分析電路所受的影響時(shí),該特性非常有用。 建立硬件斷點(diǎn)的步驟如下: 在欲觸發(fā)斷點(diǎn)的導(dǎo)線(總線)上放置電壓探針 在探針處點(diǎn)擊右鍵,然后從菜單中選擇Edit Properties 根據(jù)探針?biāo)诘木W(wǎng)點(diǎn),在對(duì)話框的底部選擇Digital或者 Analog并指定觸發(fā)值。對(duì)于數(shù)字網(wǎng)點(diǎn)和單導(dǎo)線,1或0對(duì)應(yīng)的是邏輯高或邏輯低;對(duì)于模擬網(wǎng)點(diǎn),將會(huì)是一具體的值。用

37、戶同樣可以指定arm時(shí)間,使得斷點(diǎn)在指定的一段時(shí)間后有效。 點(diǎn)擊OK退出對(duì)話框,然后按PLAY(或組合鍵CTRL+F12)運(yùn)行仿真 5.5.2 、電壓斷點(diǎn)觸發(fā)(RTVBREAK) 電壓斷點(diǎn)觸發(fā)元器件有單引腳和雙引腳兩重形式。當(dāng)單引腳對(duì)地電壓值,或兩個(gè)引腳間的電壓值比指定的值大時(shí),觸發(fā)斷點(diǎn)。用戶可以將一個(gè)元器件連接到任意控制電壓源(AVCS)觸發(fā)斷點(diǎn)。 一旦觸發(fā)電壓超過(guò)指定值,元器件不會(huì)再次觸發(fā),直至電壓回落到觸發(fā)門限以下,并再次到達(dá)指定值。 5.5.3 、電流斷點(diǎn)觸發(fā)(RTIBREAK) 電流斷點(diǎn)觸發(fā)元器件有兩個(gè)引腳。當(dāng)流過(guò)其電流超出指定值時(shí),觸發(fā)斷點(diǎn)。 一旦觸發(fā)電流超過(guò)指

38、定值,元器件不會(huì)再次觸發(fā),直至電流回落觸發(fā)門限以下,并再次到達(dá)指定值。 5.5.4 、數(shù)字?jǐn)帱c(diǎn)觸發(fā)(RTDBREAK) 數(shù)字?jǐn)帱c(diǎn)觸發(fā)元器件的引腳有多種形式。用戶可以根據(jù)需要進(jìn)行選擇。當(dāng)輸入引腳的二進(jìn)制值等于Trigger Value時(shí),觸發(fā)斷點(diǎn)。例如,指定RTDBREAK_8的值為0x80,那么當(dāng)D7為高電平,D0~D6為低電平時(shí),元器件進(jìn)行觸發(fā)。 一旦觸發(fā)觸發(fā)發(fā)生,元器件不會(huì)再次觸發(fā)直至輸入引腳出現(xiàn)不同的值。 5.5.5 、電壓監(jiān)測(cè)器(RTVMON) 該元器件有單引腳和雙引腳兩種形式。當(dāng)輸入電壓在指定的最小值或最大值的范圍外時(shí),觸發(fā)斷點(diǎn)、警告或錯(cuò)誤條件。將這些元器件整合到仿真模型里,則當(dāng)模型里的電壓超出指定的極限時(shí),將會(huì)警告最終用戶。 5.5.6 、電流監(jiān)測(cè)儀(RTIMON) 該儀器有兩個(gè)引腳。當(dāng)流過(guò)儀器的電流在在指定的最小值或最大值的范圍外時(shí),觸發(fā)斷點(diǎn)、警告或錯(cuò)誤條件。將這些元器件整合到仿真模型里,則當(dāng)模型里的電流超出指定的極限值時(shí),將會(huì)警告最終用戶。

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔

相關(guān)搜索

關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!