亚洲免费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秘 无码一区二区久久| 朝鲜女人大白屁股ass| 爱情岛论坛亚洲品质自拍hd| 人人人妻人人澡人人爽欧美一区| 丰满人妻被黑人中出849 | 2021国产最新无码视频| 男女动态视频99精品| 少妇真人直播免费视频| 男女啪啪免费体验区| 在线看片国产免费不卡| 女同亚洲一区二区三区精品久久| 粉嫩av国产一区二区三区| 亲子乱aⅴ一区二区三区下载| 精品无码成人片一区二区| 蜜桃在线视频一区二区| 美女主播福利一区二区| 一本本月无码-| av中文字幕综合在线| 在线日韩中文字幕乱码视频| 午夜视频国产在线观看| 天天躁日日躁狠狠躁av| 日本加勒比东京热日韩| 日本不卡不二三区在线看| 亚洲亚洲人成综合丝袜图片| 久久精品人成免费| 国产人成视频免费在线观看| 亚洲国产精品久久又爽av| 欧美最大胆的西西人体44| 中文字幕在线久热精品| 亚洲免费一区二区av| 在线亚洲高清揄拍自拍一品区 | 偷国产乱人伦偷精品视频| 亚洲妇女水蜜桃av网网站| 91国产超碰在线观看| 久久精品中文字幕女同免费| 饥渴的熟妇张开腿呻吟视频| 欧美日韩国产另类在线观看| 99久久婷婷国产精品综合| 免费人妻无码不卡中文字幕系| 香蕉色香蕉在线视频| 久久精品国产久精国产69|