• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    嵌入式系統(tǒng)虛擬實驗平臺仿真調(diào)試技術(shù)

    2016-09-18 05:29:43楊繼森
    實驗科學與技術(shù) 2016年4期
    關(guān)鍵詞:嵌入式調(diào)試遠程

    楊繼森,張 靜

    (重慶理工大學 機械檢測技術(shù)與裝備教育部工程研究中心 ,重慶 400050)

    ?

    嵌入式系統(tǒng)虛擬實驗平臺仿真調(diào)試技術(shù)

    楊繼森,張靜

    (重慶理工大學機械檢測技術(shù)與裝備教育部工程研究中心 ,重慶400050)

    為了提高嵌入式系統(tǒng)課程的教學質(zhì)量,加強學生的嵌入式系統(tǒng)程序設(shè)計與調(diào)試能力的培養(yǎng),根據(jù)課程教學內(nèi)容設(shè)計了便攜式的嵌入式系統(tǒng)課程虛擬實驗平臺,針對虛擬實驗平臺的程序仿真調(diào)試功能,提出了基于Proteus的遠程仿真和基于GCC的本地仿真的兩種在線仿真調(diào)試技術(shù)。以虛擬實驗平臺的行列式鍵盤實驗項目為例,針對兩種在線仿真調(diào)試技術(shù)在虛擬實驗平臺上分別進行了程序仿真調(diào)試演示,進一步完善了嵌入式系統(tǒng)課程虛擬實驗平臺的功能。

    嵌入式系統(tǒng);虛擬實驗平臺;仿真調(diào)試技術(shù);Proteus;GCC

    嵌入式技術(shù)是進入21世紀以來PC時代IT領(lǐng)域最熱門的技術(shù)之一, 在各個領(lǐng)域都得到了廣泛的應用。嵌入式技術(shù)獲得了巨大的發(fā)展機遇,嵌入式系統(tǒng)行業(yè)展現(xiàn)了美好的前景[1]。國內(nèi)很多高校的電子、計算機、信息技術(shù)等相關(guān)專業(yè)相繼開設(shè)了嵌入式系統(tǒng)課程,為國家和社會培養(yǎng)了大批優(yōu)秀的嵌入式系統(tǒng)人才[2-3]。重慶理工大學從2003年在原有C51單片機課程的基礎(chǔ)上,開設(shè)了以NXP公司的ARM7微控制器LPC21XX系列為基礎(chǔ)的嵌入式系統(tǒng)應用相關(guān)課程。選擇該課程的除了電子類專業(yè)的學生之外,其他非電類專業(yè)的學生也相當多,每學年都有超過10個班的學生選擇了嵌入式系統(tǒng)課程。嵌入式技術(shù)大量應用于全國大學生電子設(shè)計競賽、“挑戰(zhàn)杯”全國大學生課外學術(shù)科技作品競賽、重慶市大學生單片機設(shè)計競賽等,并取得了顯著成績。

    1 課程教學現(xiàn)狀

    嵌入式系統(tǒng)課程的顯著特點是實踐性強,因此,實驗教學十分重要[4-6]。目前,大多數(shù)高校都是在嵌入式系統(tǒng)實驗箱上開展實驗,這種方式可以讓學生直觀地了解嵌入式系統(tǒng)的原理,同時也存在一些不足[7-11]:1)近年來,由于高校擴招,出現(xiàn)學生多、實驗設(shè)備相對較少的現(xiàn)象,學生開展實驗要分組、分批,實驗時間較長且與理論課程有脫節(jié)的現(xiàn)象;2)這類實驗箱價格昂貴,功能多而全,電路復雜,學生不易看懂,只能照本宣科地按照實驗指導書機械地操作,不能真正參與到嵌入式系統(tǒng)的軟硬件設(shè)計中。

    為了解決以上教學問題,更好地提高教學質(zhì)量,加強學生工程實踐能力的培養(yǎng),設(shè)計開發(fā)了一套嵌入式系統(tǒng)課程虛擬實驗平臺[12],如圖1所示。

    圖1 虛擬實驗平臺

    虛擬實驗平臺在嵌入式系統(tǒng)課程教學中已經(jīng)開展了近兩年,反饋情況良好。1)借助虛擬實驗平臺,學生可將實驗項目帶回寢室、圖書館開展,徹底解決了實驗設(shè)備少、上機困難的問題。同時也解決了嵌入式系統(tǒng)課程工程實踐性強,有限的十幾個實驗學時遠遠不能滿足實踐要求的難題。2)利用虛擬實驗平臺,教師可以將實驗項目帶入課堂,在課堂上利用虛擬實驗平臺進行現(xiàn)場操作、演示,使枯燥的理論知識更加形象、生動,極大地提高了學生的學習興趣。學生主動積極地利用課余時間開展嵌入式系統(tǒng)課程的學習,從教學時間與教學空間上拓展嵌入式系統(tǒng)課程的學習范圍,使教學質(zhì)量得到了提高。3)所有的課程作業(yè)都在虛擬實驗平臺上完成,可以即刻看到成果,學生學習興趣大增。

    在近兩年的應用過程中,學生反映虛擬實驗平臺使用簡單方便,但存在程序調(diào)試功能相對較弱的問題,程序有問題時,代碼調(diào)試不方便。針對該問題,介紹了兩種基于嵌入式系統(tǒng)虛擬實驗平臺的在線仿真調(diào)試技術(shù),以進一步完善虛擬實驗平臺的功能,促進其在嵌入式系統(tǒng)課程實踐中教學的作用。

    2 仿真調(diào)試技術(shù)

    目前,虛擬實驗平臺主要使用Proteus(7.10版本),軟件開發(fā)采用KeilMDK(4.23版本)平臺。Proteus軟件是英國LabcenterElectronics公司研發(fā)集模擬電路、數(shù)字電路、模/數(shù)混合電路以及多種微控制器系統(tǒng)為一體的系統(tǒng)設(shè)計和仿真平臺[13]。KeilMDK是ARM公司目前最新推出的針對各種嵌入式處理器的軟件開發(fā)工具,集成了業(yè)內(nèi)最領(lǐng)先的技術(shù),包括μvision4集成開發(fā)環(huán)境與Realview編譯器。支持ARM7、ARM9和最新的Cortex-M3核處理器的設(shè)計開發(fā),其工作界面友好、使用簡單方便,廣泛應用于嵌入式技術(shù)開發(fā)中。

    2.1基于Proteus的遠程仿真調(diào)試技術(shù)

    基于Proteus的遠程仿真調(diào)試技術(shù)主要利用Proteus仿真軟件提供的專有遠程仿真調(diào)試插件,該插件的安裝文件為“vdmagdi.exe”(版本為1.0),可以到Proteus仿真軟件的官方網(wǎng)站進行下載。具體安裝操作步驟如下。

    2.1.1插件安裝

    安裝插件“vdmagdi.exe”到KeilMDK的安裝目錄,該插件同時支持ARM系列和C51系列單片機。安裝程序會安裝兩個動態(tài)鏈接庫文件到Keil安裝目錄下的ARMBIN文件夾中,VDM51.DLL支持C51系列,VDMARM.DLL支持ARM系列??梢栽贙eil安裝目錄下的ARM文件夾下新建文件夾VDMARM,并將VDMARM.DLL和VDM51.DLL文件拷貝到其中。

    2.1.2修改Keil配置文件

    打開Keil的安裝目錄,用文本編輯器打開Keil的配置文件TOOLS.INI,找到[ARMADS]欄目下的TDRV驅(qū)動配置項,在最后一個配置項后面按順序新加一個驅(qū)動配置項TDRVx=VDMARMVDMARM.DLL("ProteusVSMAGDI"),其中“TDRVx”中的“x”為順序號,個別安裝程序會有所不同。將該新加驅(qū)動配置項,加入到[ARMADS]欄目下支持ARM7/9系列的處理器配置序列CPUDLL0=SARM.DLL(TDRV0,TDRV5,TDRV6,TDRV7,TDRV8,TDRV9,TDRVx)。修改完成后,保存即可,配置結(jié)果如圖2所示(本主機驅(qū)動配置項為TDRV10)。

    圖2 修改KEIL配置文件

    2.1.3軟件配置

    軟件配置主要配置Keil軟件和Proteus軟件。用Keil打開實驗項目工程,在目標選項配置中打開Debug調(diào)試選項,在調(diào)試選項的下拉列表中選擇ProteusVSMAGDI選項,同時在setting選項中配置Proteus遠端網(wǎng)絡(luò)地址與端口號,由于Keil與Proteus同在一臺主機上,故可將IPAddress配置為“l(fā)ocalhost”或者“127.0.0.1”,Port配置為“8 000”,Logging配置為“APPCALLS”。打開虛擬實驗平臺,勾選Proteus仿真軟件菜單欄的Debug選項下的UseRemoteDebugMonitor選項,準允Proteus啟動遠程仿真調(diào)試功能,配置界面如圖3所示。

    圖3 遠程仿真調(diào)試通信端口配置

    2.1.4遠程仿真調(diào)試

    遠程仿真調(diào)試功能必須同時打開程序調(diào)試軟件Keil和終端仿真軟件Proteus。用Keil打開實驗項目工程,編譯整個項目工程,生成HEX格式的二進制文件,利用Proteus打開虛擬實驗平臺,并通過MCU加載生成的HEX格式文件,返回到已打開的Keil實驗項目工程,點擊Debug選項下“Start/StopDebugSession”直接進入程序調(diào)試狀態(tài),同時Keil軟件通過遠程仿真功能直接啟動Proteus虛擬實驗平臺,進入聯(lián)合仿真調(diào)試狀態(tài)。該實驗項目為4×4行列式鍵盤掃描,利用上一個實驗項目的液晶驅(qū)動模塊,將按鍵值顯示在液晶屏幕。鍵盤掃描程序如下:

    #defineC03(0x0f<<16);

    #defineR03(0x0f<<20);

    int32readkey(void)

    {

    int32key= -1;

    uint32i;

    PINSEL1=0x00;

    IO0DIR=C03;

    IO0CLR=C03;

    delay(5000);

    if((IO0PIN& 0xf00000) == 0xf00000)

    { //nokeydown

    returnkey;

    }

    delay(10000);

    if((IO0PIN& 0xf00000) == 0xf00000)

    {//nokeydown

    returnkey;

    }

    for(i=0;i<4;i++)

    {

    IO0SET=C03;

    IO0CLR=1<<(i + 16);

    delay(1000);

    if((IO0PIN& 0xf00000) == 0xf00000)

    {

    continue;

    }

    switch(IO0PIN& 0xf00000)

    {

    case0xe00000:

    key= 0 + i * 4;break;

    case0xd00000:

    key= 1 + i * 4;break;

    case0xb00000:

    key= 2 + i * 4;break;

    case0x700000:

    key= 3 + i * 4;break;

    }

    IO0CLR=C03;

    while((IO0PIN& 0xf00000) != 0xf00000);

    break;

    }

    returnkey;

    }

    聯(lián)合仿真調(diào)試工作界面如圖4所示。4×4行列式鍵盤連接在LPC2138的引腳P0.16~P0.23,其中P0.16~P0.19作為列掃描,P0.20~P0.23作為行掃描。在遠程仿真調(diào)試狀態(tài)下,Keil軟件作為控制端,控制程序的執(zhí)行過程。在Keil中可以查看程序中的變量、寄存器值、外設(shè)配置參數(shù)等,而程序執(zhí)行狀態(tài)直接在Proteus端的實驗項目中體現(xiàn)出來??稍趻呙璩绦蛑墟I值判斷處設(shè)置斷點,使程序全速運行,當按下鍵盤的第二號按鍵時,程序運行到鍵值判斷斷點位置,此時進行“單步”調(diào)試,每運行一步程序可以同時查看程序中變量的狀態(tài)以及微控制器的引腳輸出電平狀態(tài),可以看到,程序進行了鍵值計算并將計算出的鍵值存放在變量“key”中,變量“key”的值可以通過Watch窗口進行查看或者將鼠標放到變量上時自動以浮動窗口的形式顯示其數(shù)值。程序聯(lián)合仿真調(diào)試簡單、方便,功能強大,能夠加快項目設(shè)計開發(fā)進度。

    圖4 基于PROTEUS的遠程仿真調(diào)試

    2.2基于GCC的本地仿真調(diào)試技術(shù)

    基于Proteus的遠程仿真調(diào)試技術(shù)能夠更好地利用Keil軟件的強大仿真調(diào)試功能,但該技術(shù)需要通過驅(qū)動程序使Keil和Proteus相互配合完成。由于計算機系統(tǒng)及環(huán)境之間的差異性,學生在使用過程中,個別計算機進行遠程仿真調(diào)試時出現(xiàn)目標系統(tǒng)無法遠程連接的問題。

    基于GCC的本地仿真調(diào)試技術(shù)可以完美解決該問題。GCC(GNUcompilercollection,GCC)是一套由GNU工程開發(fā)的支持多種編程語言的編譯器,是以GPL許可證所發(fā)行的自由軟件(開源軟件)[14]。利用GCC編譯器可以產(chǎn)生自帶完整調(diào)試信息的ELF格式文件[15],直接在Proteus中進行源碼級仿真調(diào)試,不再需要Keil軟件的配合。具體操作步驟如下。

    1)安裝GCC編譯器工具鏈。目前,常用的支持GCC工具鏈的軟件包有SourceryG++和WinARM,本項目選擇SourceryG++。SourceryG++是Codesourcery提供的GCC工具鏈編譯器,Codesourcery針對不同的用戶提供的多個版本的SourceryG++,這里選擇免費的輕量級精簡版本SourceryG++LiteEdition。可以到Codesourcery的官方網(wǎng)絡(luò)注冊下載新版本的SourceryG++LiteEdition[16],按缺省選項在計算機中安裝SourceryG++。

    2)配置編譯環(huán)境。Keil軟件給用戶提供了使用第三方編譯工具的途徑。利用Keil軟件打開實驗項目工程,點擊菜單欄“Project”菜單下的“Manage”下的“Components,Environment,Books”。在打開的組件環(huán)境配置對話框中選擇“Folders/Extensions”選項,點選“UseGCC”選擇,并在GNU-Tool_Prefix編輯框中輸入GCC工具鏈的前綴“arm-none-eabi-”,在GNU-ToolFolder編輯框中選擇SourceryG++LiteEdition的安裝目錄,配置界面如圖5所示。

    圖5 GCC工具鏈配置

    3)本地仿真調(diào)試。建立基于GCC的實驗項目工程,編譯生成ELF格式文件,利用Proteus打開虛擬實驗平臺,并通過MCU加載生成的ELF格式文件。直接在Proteus中點擊Step選項進入源碼級程序仿真調(diào)試。實驗項目同樣為4×4行列式鍵盤掃描,利用串行接口模塊將按鍵值顯示在仿真平臺的虛擬終端上。本地仿真調(diào)試工作界面如圖6所示。

    圖6 基于GCC的本地仿真調(diào)試

    本地仿真調(diào)試技術(shù)利用ELF格式文件的自帶完整調(diào)試信息,不再需要Keil軟件作為遠程控制端進行程序仿真調(diào)試控制。Proteus軟件Debug選項下的ARM7選項提供了包括“SourceCode”“Variables”“CPURegisters”等6個子窗口。在SourceCode子窗口可以看到程序源代碼,并提供了“StepInto”“StepOver”“StepOut”等多種常用的程序代碼調(diào)試功能。用戶可以任意設(shè)置斷點,并進行多種方式的代碼調(diào)試。Variables窗口可以實時地顯示當前程序中的變量值, 以方便用戶進行查看。其他的CPURegisters窗口、RAM窗口等都為用戶提供了方便查看各類參數(shù)的技術(shù)手段,使用非常簡單、方便。

    3 結(jié)束語

    嵌入式系統(tǒng)虛擬實驗平臺不僅解決了嵌入式系統(tǒng)課程實驗設(shè)備相對較少,學生實踐訓練環(huán)節(jié)薄弱的問題,而且能夠隨時隨地讓學生進入實驗項目,走進教學的課堂,從時間與空間2個方面拓展教學范圍,提高教學質(zhì)量。經(jīng)過近2年的不斷改進、使用,目前功能已經(jīng)相對比較完善,逐漸得到了學生的認可?;赑roteus的遠程仿真調(diào)試技術(shù)與基于GCC的本地仿真調(diào)試技術(shù)的引入將使虛擬實驗平臺的程序調(diào)試功能進一步得到提高,易用性、方便性進一步得到加強。使虛擬實驗平臺在嵌入式系統(tǒng)課程教學中作用越來越大,促進教學質(zhì)量的進一步提升。

    [1]王汝傳,孫力娟.物聯(lián)網(wǎng)技術(shù)導論[M].北京:清華大學出版社,2011.

    [2]許童羽,陳春玲,孫國凱.面向卓越工程師培養(yǎng)目標的嵌入式系統(tǒng)課程實踐教學改革[J].高等農(nóng)業(yè)教育,2013(4):74-76.

    [3]楊衛(wèi)軍,羅積軍,樊莉,等.伯克利嵌入式系統(tǒng)課程教學的特色與啟示[J].實驗室研究與探索,2012,31(5):147-149.

    [4]李秀娟,張曉東,魯可,等.“嵌入式系統(tǒng)”開放實驗室建設(shè)與實踐[J].實驗室研究與探索,2011,30(5):156-158.

    [5]梁宏.搭建實驗實踐一體化平臺深化實驗實踐教學改革[J].實驗技術(shù)與管理,2013,30(5):1-4.

    [6]陳佳聞.嵌入式實驗教學系統(tǒng)開發(fā)與應用[J].山東農(nóng)業(yè)大學學報(自然科學版),2011,42(3):448-450.

    [7]馮其紅,胡偉,王增寶.改革實驗教學模式培養(yǎng)大學生的工程實踐能力[J].實驗室研究與探索,2013,32(2):130-132.

    [8]杜月林.構(gòu)建多層次全方位實驗平臺體系培養(yǎng)高素質(zhì)創(chuàng)新型人才[J].實驗室研究與探索,2013,32(3):202-204.

    [9]權(quán)寧一,權(quán)曉林.嵌入式系統(tǒng)專業(yè)實驗教學改革的探索與實踐[J].實驗技術(shù)與管理,2011,28(3):146-147.

    [10]汪燦華,陳慶梅,張康,等.虛擬實驗平臺在嵌入式系統(tǒng)實驗中的應用[J].實驗室研究與探索,2012,31(10):67-69.

    [11]孫愛晶,范九倫,趙小強.卓越背景下實踐教學方法改革與學生工程實踐能力培養(yǎng)[J].中國大學教學,2013(6):79-80.

    [12]楊繼森,楊奕,張靜.虛擬實驗平臺在嵌入式系統(tǒng)教學改革中的應用[J].實驗室研究與探索,2011,30(2):51-54.

    [13]周靈彬,匡載華,張靖武.基于Proteus的電子產(chǎn)品仿真設(shè)計[J].電子技術(shù)應用,2010(9):74-76.

    [14]胡恩華.GCC技術(shù)參考大全[M].北京:清華大學出版社,2004.

    [15]付逢春.GNU工具鏈在軟件構(gòu)建中的應用[J].軟件導刊,2012(7):9-11.

    [16]CODESOURCERY.SourceryG++LiteEdition[EB/OL].[2013-05-12].http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/.

    Simulation Debugging Techniques for Virtual Experimental Platform in Embedded System Curriculum Reform

    YANG Jisen,ZHANG Jing

    (EngineeringResearchCenterofMechanicalTestingTechnologicalandEquipment,MinistryofEducation,ChongqingUniversityofTechnology,Chongqing400050,China)

    Inordertoincreasetheteachingqualityofembeddedsystemcourseandcultivatetheabilitiesofembeddedsystemprogramminganddebugging,virtualexperimentalplatformforembeddedsystemcourseisdesignedbasedonthecontentofembeddedsystemcourse.Twokindsofsource-leveldebuggingtechniquesarepresentedtoenhancetheprogramdebuggingfunctionsofvirtualexperimentalplatform.OneistheremotesimulationdebuggingtechniquesbasedonPROTEUS,theotheristhelocalsimulationdebuggingtechniquesbasedonGCC.Thetwokindsofdebuggingtechniquesaredemonstratedrespectivelybytheexperimentalprojectofdeterminantkeyboardandthefunctionsofvirtualexperimentalplatformareimprovedfurther.

    embeddedsystem;virtualexperimentalplatform;simulationdebuggingtechniques;Proteus;GCC

    2015-04-07;修改日期: 2016-06-30

    重慶市高等教育教學改革研究項目(143013);重慶理工大學高等教育教學改革研究重大項目(2014ZD10);重慶理工大學高等教育教學改革研究項目(2015YB11)。

    楊繼森(1977-),男,博士,副教授,主要從事嵌入式系統(tǒng)及智能儀器方面的教學與研究工作。

    G424;TP301

    Adoi:10.3969/j.issn.1672-4550.2016.04.019

    猜你喜歡
    嵌入式調(diào)試遠程
    讓人膽寒的“遠程殺手”:彈道導彈
    軍事文摘(2022年20期)2023-01-10 07:18:38
    遠程工作狂綜合征
    英語文摘(2021年11期)2021-12-31 03:25:18
    遠程詐騙
    學生天地(2018年19期)2018-09-07 07:06:30
    基于航拍無人機的設(shè)計與調(diào)試
    電子制作(2018年12期)2018-08-01 00:47:44
    搭建基于Qt的嵌入式開發(fā)平臺
    FOCAS功能在機床調(diào)試中的開發(fā)與應用
    無線通信中頻線路窄帶臨界調(diào)試法及其應用
    電子制作(2017年19期)2017-02-02 07:08:38
    嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應用
    調(diào)壓柜的調(diào)試與試運行探討
    Altera加入嵌入式視覺聯(lián)盟
    隆安县| 海晏县| 开原市| 聊城市| 黎平县| 垫江县| 台中市| 垣曲县| 芜湖县| 沛县| 台州市| 桐城市| 永定县| 花垣县| 蕲春县| 十堰市| 潍坊市| 安义县| 烟台市| 荣昌县| 邹平县| 衢州市| 陈巴尔虎旗| 沈阳市| 连山| 阆中市| 南陵县| 雷波县| 泰来县| 万盛区| 普陀区| 灵武市| 星子县| 吴忠市| 博客| 高密市| 馆陶县| 阿巴嘎旗| 紫金县| 齐河县| 濉溪县|