新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > RealView MDK+Jlink+TQ2440 調試筆記

        RealView MDK+Jlink+TQ2440 調試筆記

        作者: 時間:2016-11-25 來源:網絡 收藏
        調試環境
        軟件:RealView MDK 4.03q
        硬件:JLINK v7,TQ2440開發板
        剛開始學習ARM無OS編程的時候用的是天嵌的TQ2440_Test工程,它是ads1.2的工程,可是我用的是windows7的操作系統,ads1.2比較老了在windows7下不太好使老是莫名奇妙的就崩了,弄的我很郁悶于是我就換了RealView MDK,可是關于RealView MDK的教程網上很少(可能是用的人還不太多)經過一個星期的學習大概熟悉了RealView MDK的環境,下面就記錄下我的調試過程。
        1.RealView MDK介紹
        2.Jlink 介紹
        3.創建RealView MDK 的led跑馬燈工程
        4.調試程序

        1.關于RealView MDK
        其實RealView MDK也是Keil公司的產品,它是在Keil被ARM公司收購后開發的關于arm的新的開發環境,個人感覺它比ads1.2要好使的多。RealView MDK有很多突出特點:
        啟動代碼生成向導,自動引導
          啟動代碼和系統硬件結合緊密,必須用匯編語言編寫,因而成為許多工程師難以跨越多門檻。RealView MDK的μVision3工具可以幫您自動生成完善的啟動代碼,并提供圖形化的窗口,隨您輕松修改。無論對于初學者還是有經驗的開發工程師,都能大大節省時間,提高開發效率。
        軟件模擬器,完全脫離硬件的軟件開發過程
          RealView MDK的設備模擬器可以仿真整個目標硬件,包括快速指令集仿真、外部信號和I/O仿真、中斷過程仿真、片內所有外圍設備仿真等。開發工程師在無硬件的情況下即可開始軟件開發和調試,使軟硬件開發同步進行,大大縮短開發周期。而一般的ARM開發工具僅提供指令集模擬器,只能支持ARM內核模擬調試。
        性能分析器,看得更遠、看得更細、看得更清
          RealView MDK的性能分析器好比哈雷望遠鏡,讓您看得更遠和更準,它輔助您查看代碼覆蓋情況,程序運行時間,函數調用次數等高端控制功能,指導您輕松的進行代碼優化,成為嵌入式開發高手。通常這些功能只有價值數千美元的昂貴的Trace工具才能提供。
        Cortex-M3支持
          RealView MDK支持的Cortex-M3核是ARM公司最新推出的針對微控制器應用的內核,它提供業界領先的高性能和低成本的解決方案,未來幾年將成為MCU應用的熱點和主流。目前國內只有ARM公司的MDK和RVDS開發工具可以支持Cortex-M3芯片的應用開發。
        業界最優秀的ARM編譯器——RealView 編譯器,代碼更小,性能更高
        RealView MDK的RealView編譯器與ADS 1.2比較:
        代碼密度:比ADS 1.2編譯的代碼尺寸小10%;
        代碼性能:比ADS 1.2編譯的代碼性能高20%。
        可以到KEIL的官方下載RealView MDK 下載的版本是試用版的有32K的代碼限制可以在網上找個注冊機,好像3.x的注冊機就行。
        2.關于Jlink
        Jlink是SEGGER公司為支持仿真ARM內核芯片推出的JTAG仿真器。配合IAR EWARM,ADS,KELL,WINARM,RealView等集成開發環境支持所有ARM7/ARM9內核芯片的仿真,通過RDI接口和各集成開發環境無縫連接,操作方便,簡單易學,是學習開發ARM的最實用的開發工具。關于Jlink的特性可以參考SEGGER的官方介紹SEGGER
        3.創建跑馬燈工程
        打開 Keil uVision4然后新建一個工程tq2440,然后選擇CPU類型,這里我們選tq2440所使用的s3c2440a

        確定后會提示我們是否添加s3c2440的啟動代碼到我們的工程(這是RealView MDK 相對是ads1.2的一個特點它會自動生成相應CPU的啟動代碼,而且配置啟動代碼也很方便后面會講到。)這里我們選是

        這時候我們的工程就建好了,啟動代碼也有了,下面我們就看一下這個啟動代碼

        啟動代碼還不少啊,有1000多行,不要害怕其實代碼并不多,你可以仔細看一下,有一多半都是注釋,而且不用手動更改代碼就能實現啟動代碼的配置,點上圖中紅色部分的Configuration Wizard就可以圖形方式對啟動代碼進行配置

        比如我們要配置看門狗定時器就可以選中Watchdog Time Setup,點開它左邊的加號可以進行詳細的設置,這里我們圖省事把所有對鉤都點上。好了啟動代碼也配置好了,下面我們添加我們的led跑馬燈程序,我們在工程的目錄下新建一個main.c文件然后把它添加到工程的源文件中來然后把下面的代碼添加到main.c文件中
        //定義PORTB的控制寄存器地址
        #define GPBCON (*(volatile unsigned *) 0x56000010)
        #define GPBDAT (*(volatile unsigned *) 0x56000014)
        #define GPBUP (*(volatile unsigned *) 0x56000018)
        void delay()
        {
        int i, j;
        for(i = 0; i < 10000; i ++)
        for(j = 0; j < 50; j ++);
        }
        int main()
        {
        GPBCON = 0x155555;//配置protB的所有引腳為輸出
        while(1)
        { //點亮第一個小燈
        GPBDAT |= 0x1E0; GPBDAT &= 0x1C0; delay();
        //點亮第二個小燈
        GPBDAT |= 0x1E0; GPBDAT &= 0x1A0; delay();
        //點亮第三個小燈
        GPBDAT |= 0x1E0; GPBDAT &= 0x160; delay();
        //點亮第四個小燈
        GPBDAT |= 0x1E0; GPBDAT &= 0x0E0; delay();
        }
        return 0;
        }
        好了,代碼都全了,下面我們配置編譯和連接選項,我們選擇工程屬性

        然后選Target選項按下圖設置

        在Output選項中選上Create HEX File就行了,其它的選項先不用管,然后我們按F7試著Build下,查看輸出信息,已經成功了只有一個Warning不能管它。

        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 霍城县| 铁力市| 镇巴县| 盐山县| 五大连池市| 固安县| 松潘县| 页游| 新宁县| 如东县| 定安县| 长岭县| 菏泽市| 钟山县| 通渭县| 论坛| 丰宁| 澄城县| 贵南县| 阜宁县| 河曲县| 阿尔山市| 将乐县| 方正县| 乐亭县| 灵武市| 平武县| 修水县| 富川| 洛宁县| 武乡县| 富源县| 太湖县| 留坝县| 东宁县| 大足县| 临城县| 日照市| 重庆市| 图片| 北票市|