新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于Proteus的嵌入式應(yīng)用系統(tǒng)仿真中的源碼調(diào)試

        基于Proteus的嵌入式應(yīng)用系統(tǒng)仿真中的源碼調(diào)試

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

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

        本文引用地址:http://www.104case.com/article/152200.htm


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

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


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

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

        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

        上一頁 1 2 3 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 贵港市| 察哈| 伊吾县| 封开县| 任丘市| 松溪县| 利辛县| 乌恰县| 阜南县| 定陶县| 荣昌县| 万州区| 连州市| 诸城市| 桃江县| 盱眙县| 晋州市| 云林县| 凌云县| 万安县| 邯郸县| 瑞丽市| 扶沟县| 普陀区| 美姑县| 固镇县| 楚雄市| 林口县| 石棉县| 勃利县| 奉节县| 河北区| 利津县| 靖西县| 平塘县| 武威市| 贺兰县| 健康| 曲周县| 托克托县| 辽阳市|