<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Freescale+HC08+MCU集成開發(fā)環(huán)境的設(shè)計(jì)

          Freescale+HC08+MCU集成開發(fā)環(huán)境的設(shè)計(jì)

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


          表1本設(shè)計(jì)中使用到的USB庫的類及函數(shù)說明


          4.4C語言程序調(diào)試功能的設(shè)計(jì)

          調(diào)試功能實(shí)現(xiàn)對匯編和c語言的源碼級在線調(diào)試。兩者實(shí)現(xiàn)過程大體相似,但C語言調(diào)試的實(shí)現(xiàn)相對復(fù)雜。在此只針對C程序進(jìn)行說明。

          匯編程序和C程序在編譯后都會產(chǎn)生調(diào)試信息文件(后綴名為.dbg)。dbg文件包含有相應(yīng)的信息以供調(diào)試時使用。該文件詳細(xì)記錄了調(diào)試所需要的行號與存儲地址等信息.包括文件首地址、函數(shù)的首末地址、每行源代碼的行號和首地址、局部變量以及全局變量的名稱地址類型等,如圖2所示。對C語言程序的調(diào)試主要是基于對該調(diào)試信息文件的調(diào)用和判斷。調(diào)試動作的設(shè)計(jì)首先是“設(shè)置斷點(diǎn)”,接著點(diǎn)擊“開始調(diào)試”,進(jìn)入調(diào)試模式.然后選擇“單步步入(Step Into)”、“單步步過(Step Over)”或“執(zhí)行”至下一斷點(diǎn)處等調(diào)試操作根據(jù)程序運(yùn)行或變量的值判斷調(diào)試。

          下面分別闡述設(shè)計(jì)思路。

          (1)設(shè)置斷點(diǎn)

          如在文件main.c中選擇所需中斷的一代碼行.假設(shè)選擇第33行,點(diǎn)擊菜單“調(diào)試”一>“設(shè)置斷點(diǎn)”,則在調(diào)試文件.dbg文件中找到“FILE main.c"行下的“LINE 33 8096”(如圖2的雙下劃線), 該LINE后的33(十進(jìn)制)等于當(dāng)前設(shè)置斷點(diǎn)的行號33,然后提取該“LINE”行中的8096(十六進(jìn)制.本語句的首地址),作為當(dāng)前的斷點(diǎn)地址。則在界面上顯示當(dāng)前所選擇斷點(diǎn)的代碼行呈紅色高亮顯示。否則所選擇的不是代碼行。


          圖2 dbg文件結(jié)構(gòu)

          (2)開始調(diào)試

          設(shè)置斷點(diǎn)后。點(diǎn)擊菜單“調(diào)試" -> “開始調(diào)試”,程序運(yùn)行至斷點(diǎn)地址處.產(chǎn)生斷點(diǎn)中斷.則返回目標(biāo)MCU運(yùn)行的有關(guān)信息至PC機(jī),在IDE界面中當(dāng)前斷點(diǎn)行呈藍(lán)色高亮顯示,在寄存器跟蹤窗口和變量跟蹤窗口中顯示目標(biāo)MCU中相應(yīng)的值。接著選擇不同的調(diào)試操作繼續(xù)進(jìn)行.如“單步步入”("單步步過"或“執(zhí)行”至下一斷點(diǎn)的設(shè)計(jì)思路與之類似)。

          (3)單步步入

          “單步步入”即從當(dāng)前斷點(diǎn)處按程序執(zhí)行的流程一條一條語句的運(yùn)行調(diào)試。設(shè)計(jì)調(diào)試的方法是.從程序“開始調(diào)試”運(yùn)行至斷點(diǎn)起,點(diǎn)擊“單步步入”,程序先計(jì)算下一個斷點(diǎn)地址。從斷點(diǎn)開始.MCU的斷點(diǎn)模塊自動將當(dāng)前斷點(diǎn)地址加1.作為下一個斷點(diǎn)地址.但C語言一條語句編譯后往往不止一條匯編語句,可能幾十條.甚至幾百條.如此計(jì)算.則加1還不是下一條C語句的首地址。這時須將返回的PC寄存器值繼續(xù)加1。直至下一條C語句首地址.即PC寄存器里的值等于下一條C語句對應(yīng)的首地址,這樣一次“單步步人”完成。若需繼續(xù)執(zhí)行,則再點(diǎn)擊“單步步入”命令。

          5 實(shí)驗(yàn)硬件系統(tǒng)

          為了配合本IDE,根據(jù)HC08系列MCU電氣特征、功能,設(shè)計(jì)了一個通用的實(shí)驗(yàn)硬件系統(tǒng),方便了實(shí)驗(yàn)教學(xué),方便了嵌入式系統(tǒng)的開發(fā)和測試。

          實(shí)驗(yàn)硬件系統(tǒng)的實(shí)物結(jié)構(gòu)如圖3所示。


          圖3 HC08嵌入式實(shí)驗(yàn)硬件系統(tǒng)

          硬件系統(tǒng)主要由以下幾部分構(gòu)成:①M(fèi)C908GP32和支撐電路構(gòu)成核心板(更換MCU只要更換該板即可)。本系統(tǒng)為其提供的支撐電路主要由5v電源、晶振電路和PLL電路構(gòu)成。其中晶振電路采用了一個32.768KHz的晶振為MCU提供振蕩信號,PLL電路是主要由電容和濾波網(wǎng)絡(luò)構(gòu)成的負(fù)反饋環(huán)路,使頻率穩(wěn)定地提高至2.4576MHz。②串行通信(SCI)電路。早期的電平轉(zhuǎn)換集成電路由MC1488、MC1489構(gòu)成.但需另配12V供電,使接線繁瑣。本系統(tǒng)采用目前較多用的MAX232將MCU的TTL電平轉(zhuǎn)換為標(biāo)準(zhǔn)的RS-232電平,它僅需共用5V供電實(shí)現(xiàn)電平轉(zhuǎn)換。③外圍接口和元件。為了給用戶提供足夠的接口,充分考慮不同用戶和開發(fā)者的需要.本系統(tǒng)提供2個標(biāo)準(zhǔn)9芯串口、LCD接口、鍵盤接口、8組指示燈和開關(guān)、電位器、蜂鳴器、模擬量接口、繼電器以及各種通信口等,不僅滿足MCU的教學(xué),也滿足MCU開發(fā)評估及測試的需要。④IC插線和擴(kuò)展槽。本系統(tǒng)還具有一定的可擴(kuò)展性,通過提供的Ic插線和擴(kuò)展槽,用戶可自行擴(kuò)展其它的IC和設(shè)備。

          6 結(jié)束語

          以上所闡述的Freescale HC08 MCU集成開發(fā)環(huán)境設(shè)計(jì)思路.以及技術(shù)要點(diǎn).對于開發(fā)者,具有一定的啟發(fā)和借鑒作用。本系統(tǒng)的推出.有力地解決了國內(nèi)開發(fā)Freescale HC08嵌入式應(yīng)用系統(tǒng)主要依賴國外開發(fā)平臺的現(xiàn)狀。經(jīng)過幾年的研制和推廣應(yīng)用.配合Freescale公司的大學(xué)計(jì)劃已經(jīng)獲得較好的應(yīng)用效果。

          上一頁 1 2 下一頁

          評論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();