亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        用ADS 1.2開發(fā)環(huán)境調(diào)試微控制器LPC2478

        2013-09-12 07:50:22田海燕
        兵器裝備工程學(xué)報(bào) 2013年12期
        關(guān)鍵詞:微控制器調(diào)試定義

        田海燕

        (中國兵器工業(yè)第五八研究所智能檢測事業(yè)部,四川 綿陽 621000)

        CodeWarrior系列集成開發(fā)環(huán)境是Metrowerks公司所設(shè)計(jì)的軟件開發(fā)工具,專用于嵌入式微控制器的調(diào)試開發(fā)。在商用嵌入式軟件開發(fā)工具的使用率方面,該開發(fā)工具排名第一。它結(jié)合了尖端的調(diào)試技術(shù)和建議健全的開發(fā)環(huán)境,把C/C++源級別的調(diào)試和對嵌入式應(yīng)用的開發(fā)帶上了新的臺階。

        在本設(shè)計(jì)中,所用到的開發(fā)工具為ARM公司開發(fā)的結(jié)合了CodeWarrior和AXD的GUI開發(fā)環(huán)境,專為ARM設(shè)計(jì)開發(fā)的專用版 CodeWarrior for ARM Develop Suite v 1.2,簡稱為ADS1.2。其圖形用戶界面直觀,功能強(qiáng)大,并且支持源代碼/匯編語言混合調(diào)試,易于使用。

        ADS由ARM實(shí)時(shí)庫,命令行開發(fā)工具,實(shí)用程序,GUI開發(fā)環(huán)境(AXD和CodeWarrior)和支持軟件組成。用戶可以輕松地使用這些部件編寫和調(diào)試自己的程序。

        1 LPC2478微控制器及硬件平臺

        LPC2478是恩智浦(原飛利浦)公司開發(fā)的一款基于ARM7TDMI-S內(nèi)核的微控制器。其帶有JTAG口作為實(shí)時(shí)調(diào)試接口,可以執(zhí)行32位的ARM指令,運(yùn)行頻率為72 MHz,帶有512 kB片內(nèi)flash編程存儲器[1]。

        本文要討論的硬件平臺為一塊基于LPC2478微控制器開發(fā)的實(shí)驗(yàn)板,其主要功能為通過UART口,實(shí)現(xiàn)微控制器和外部的光電轉(zhuǎn)換器的通信。最小系統(tǒng)電路原理圖如圖1所示。

        圖1 LPC2478 JTAG口電路原理

        與以往的開發(fā)系統(tǒng)不同,ADS 1.2不必外加昂貴的仿真器連接微控制處理器管腳上的信號,而是通過帶有小型EasyJTAG-H轉(zhuǎn)接頭的JTAG電纜直接與微控制處理器的JTAG調(diào)試口連接,JTAG調(diào)試電纜一端連在計(jì)算機(jī)的并口,一端與微控制器的JTAG口相連,如圖2所示。調(diào)試所需的工裝設(shè)備僅為一根帶有EasyJTAG-H轉(zhuǎn)接頭的JTAG調(diào)試電纜,將仿真功能嵌入到芯片內(nèi)部,省掉了高價(jià)的仿真器,大大簡化了調(diào)試設(shè)備,節(jié)省了開發(fā)費(fèi)用。

        JTAG調(diào)試用到了 TCK、TMS、TDI、TDO和 TRST這幾個(gè)腳。實(shí)時(shí)調(diào)試接口JTAG口的電路圖如圖3所示。

        圖2 H-JTAG連接示意圖

        圖3 LPC2478 JTAG口電路原理

        2 調(diào)試過程及經(jīng)驗(yàn)總結(jié)

        利用ADS1.2開發(fā)軟件的目的就是將調(diào)試環(huán)境下的嵌入式應(yīng)用程序轉(zhuǎn)移到最終獨(dú)立運(yùn)行的LPC2478微控制器中去,這章就詳細(xì)介紹具體調(diào)試過程。

        2.1 H-JTAG的軟件配置

        使用EasyJTAG-H下載程序時(shí),需要首先對EasyJTAG-H轉(zhuǎn)接頭配套的軟件進(jìn)行配置[2],如圖4,圖5所示。

        圖4 H-JTAG主窗口

        圖5 選擇片內(nèi)FLASH

        2.2 開發(fā)并編譯程序

        調(diào)用 CodeWarrior for ARM Develop Suite v 1.2,進(jìn)入 ADS 1.2的程序編寫與編譯的GUI環(huán)境,如圖6所示。

        圖6 CodeWarrio編譯GUI環(huán)境

        2.3 程序的調(diào)試及下載

        在CodeWarrior for ARM Develop Suite v 1.2環(huán)境中,點(diǎn)擊Debug,進(jìn)入AXD調(diào)試下載環(huán)境??稍谟^察窗口監(jiān)測所關(guān)心的變量值,如圖7所示。

        圖7 AXD調(diào)試GUI環(huán)境

        2.4 調(diào)試經(jīng)驗(yàn)總結(jié)

        1)工程名別用中文名路徑,必須全為英文的。

        2)如果工程路徑改變,編譯不會(huì)通過,需點(diǎn)擊Project下的Remove Object Code,然后在重新編譯下就OK了。

        3)JTAG 的nRST、TDI、TMS、RTCK 等引腳注意要接上下拉電阻,以確保JTAG在上電時(shí)有一個(gè)穩(wěn)定的初始狀態(tài)。

        4)當(dāng)在非GPIO模式下操作IOnDIR時(shí),會(huì)出現(xiàn)JTAG調(diào)試中無法暫停的情況,并且AXD會(huì)彈出以下信息的窗口并被迫關(guān)閉:“RDI Severe Error 00602:Can’t halt target and make it enter DEBUG state.”當(dāng)出現(xiàn)這種情況后,需要重新上電,然后重新打開H-JTAG軟件和AXD等。

        5)在AXD調(diào)試環(huán)境中,在ROM中設(shè)置的斷點(diǎn)數(shù)僅限2個(gè),且單步運(yùn)行時(shí)內(nèi)部還要占用斷點(diǎn)。進(jìn)行下一步調(diào)試時(shí),需清除上一步的斷點(diǎn)。

        3 ADS 1.2下的全局變量的問題

        在ADS 1.2開發(fā)環(huán)境下,在實(shí)際調(diào)試中,多次遇到全局變量的初值被莫名篡改的情況。如以下情況:則發(fā)送的數(shù)據(jù)完全正確。在MAIN文件中定義的全局變量,隨時(shí)可能在其他子函數(shù)中被篡改,可見,ADS 1.2對全局變量的定義和賦值要求非常苛刻。在此,根據(jù)調(diào)試經(jīng)驗(yàn)提出了幾方面的解決方案。

        3.1 將全局變量以地址形式定義到指定地址

        如圖8所示,直接將全局變量定義到指定地址上,不過定義時(shí)要避開系統(tǒng)的保留地址。此方法可以完全解決ADS 1.2中全局變量的初始化定義問題,只是對于初值不定,需要在主程序中手動(dòng)賦初值。

        圖8 將全局變量定義到指定地址上

        3.2 在定義全局變量前加Volatile

        Volatile主要用在變量會(huì)異步改變的時(shí)候,尤其是CPU外設(shè)寄存器的定義中,中斷和主循環(huán)都會(huì)用到的全局變量等,但據(jù)調(diào)試實(shí)踐,用此方法不能完全解決全局變量的值被篡改的問題。

        3.3 在定義常量數(shù)組前一定要加Const

        Const限定了一個(gè)變量不能被改變,一定程度上提高了變量的穩(wěn)定性和安全性。尤其是在定義顯示屏的字庫數(shù)組變量時(shí),一定要在定義前加Const申明數(shù)組為常量,能保證顯示數(shù)據(jù)部會(huì)出錯(cuò)。如圖9所示。

        圖9 將常量數(shù)據(jù)定義為Const類型

        4 結(jié)束語

        本文介紹了利用ADS 1.2對周立功的ARM微控制器LPC2478進(jìn)行調(diào)試開發(fā)的過程,探討了開發(fā)過程中的經(jīng)驗(yàn),并給出了在ADS 1.2中解決全局變量被篡改賦值的方法。經(jīng)過具體實(shí)踐,該調(diào)試過程已成功運(yùn)用于試驗(yàn)開發(fā)板的調(diào)試,是很可貴的調(diào)試總結(jié)及經(jīng)驗(yàn)。

        [1]Metrowerks.CodeWarrior IDE User Guide[Z].2008.

        [2]周立功.ARM嵌入式系統(tǒng)應(yīng)用技術(shù)筆記-基于LPC2400[M].廣州:廣州致遠(yuǎn)電子有限公司,2008.

        [3]楊帆,程雯,夏亦冰,等.多傳感器信息融合測控體系在溫室測控中的應(yīng)用研究[J].武漢理工大學(xué)學(xué)報(bào),2011(9):157-159.

        猜你喜歡
        微控制器調(diào)試定義
        基于航拍無人機(jī)的設(shè)計(jì)與調(diào)試
        電子制作(2018年12期)2018-08-01 00:47:44
        FOCAS功能在機(jī)床調(diào)試中的開發(fā)與應(yīng)用
        物聯(lián)網(wǎng)技術(shù)在微控制器實(shí)驗(yàn)教學(xué)中的應(yīng)用
        電子制作(2017年14期)2017-12-18 07:07:58
        無線通信中頻線路窄帶臨界調(diào)試法及其應(yīng)用
        電子制作(2017年19期)2017-02-02 07:08:38
        調(diào)壓柜的調(diào)試與試運(yùn)行探討
        成功的定義
        山東青年(2016年1期)2016-02-28 14:25:25
        Atmel針對新一代物聯(lián)網(wǎng)應(yīng)用發(fā)布全新32位微控制器
        最新STM32設(shè)計(jì)工具增加對混合信號微控制器的支持
        意法半導(dǎo)體(ST)推出世界首款基于ARM Cortex-M7的STM32 F7系列微控制器
        修辭學(xué)的重大定義
        亚洲av乱码国产精品观看麻豆| 99精品国产成人一区二区在线| 亚洲AV专区一专区二专区三| 日韩一二三四区免费观看| 国产一区二区三区在线爱咪咪| 中文字幕女同人妖熟女| 精品亚洲不卡一区二区| 午夜宅男成人影院香蕉狠狠爱| 天天色天天操天天日天天射| 老熟妇乱子伦牲交视频| 山外人精品影院| 国产精品久久久久久52avav| 一本久道久久综合婷婷五月| 亚洲区偷拍自拍29p| 中文字幕日本一区二区在线观看| 亚洲中文乱码在线观看| 最新国产不卡在线视频| 男女猛烈无遮挡免费视频| 最近中文字幕大全在线电影视频| 日日噜噜夜夜爽爽| 久久久亚洲欧洲日产国产成人无码 | 久久精品国产亚洲av调教| 日本av一区二区三区视频| 久久狠狠色噜噜狠狠狠狠97| 久久综合精品国产一区二区三区无码 | 红杏性无码免费专区| 成年人视频在线播放麻豆| 欧美最猛性xxxx| 免费毛片a线观看| 国产真实乱人偷精品人妻| 免费看欧美日韩一区二区三区| 亚洲中文字幕高清视频| 论理视频二区三区四区在线观看| 极品少妇小泬50pthepon| 亚洲国产美女精品久久久久| 中文人妻AV高清一区二区| 中文字幕久久人妻av| 男女av免费视频网站| 含紧一点h边做边走动免费视频| 欧美午夜精品久久久久久浪潮 | 欧美日韩亚洲国内综合网|