新聞中心

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

        RealView MDK+Jlink+TQ2440 調試筆記

        作者: 時間:2016-11-25 來源:網絡 收藏


        從上圖我們可以看到hex文件已經生成了,還告訴我們,我們的代碼大小為920字節(jié),只讀數(shù)據(jù)為16字節(jié),可讀寫數(shù)據(jù)為0,ZI數(shù)據(jù)為1256字節(jié)。
        好,下面我們就把它燒到我們的開發(fā)板中。我們還需要配置一下燒寫選項我們還是選擇工程屬性然后選Utilities選項然后在燒寫選項中選J-LINK/J-Trace,然后去掉Update Target before Debugging選項,最后點Settings添加燒寫算法,這里沒有針對我們的norflash EN29LV160AB的算法,我們只選一個相近的如我選的是AM29F160DBFlash,但是這個算法只能燒寫不能擦除(有興趣的話可以自己寫一個燒寫算法)。
        好了萬事具備只欠JLINK了,不過在燒寫之前請確認你已經安裝了JLINK的驅動,JLINK的驅動可以到SEGGER官方下載Software and documentation pack V4.14b ,驅動安裝好了以后我們接上開發(fā)板,然后在把開發(fā)板的啟動方式改為從norflash啟動,然后啟動開發(fā)板,最后點Download,如果沒有意外的話,你就可以看到led的開始閃了。
        4.調試跑馬燈程序
        光能下載可不行,我們最主要的是能調試,下面我們看看怎么在RealView MDK下調試程序,其實RealView MDK的高度功能要比ads1.2好用的多。我們打開工程屬性先Debug選項然后選擇Use J-LINK/J-Trace,然后點Settings,在其中選擇JTAG Speed為Auto Selection,先擇Reset Strategy為Hardware,halt with BP@0。最后選上Run to main(),這樣在調試的時候會自動停到我們的main函數(shù)入口。此外我們不需要一個調試初始化文件,這個文件不用寫,我們可以在RealView MDK的例子中找到它,比如在我機子上是D:ToolElectronicRealViewMdkARMBoardsSamsungS3C2440RTX_Blinky下的Ext_ARM.ini,我們把它拷到我們的工程目錄下然后在Initialization File中選擇它就OK了。

        還有一個地方我們得改就是程序的內存地址,剛剛我們燒寫的時候用的是起始地址為0大小2M的設置,而這個地址0對應的正好是我們的norflash的地址。而現(xiàn)在我們調試的時候是直接把代碼載入到內存(也就是sdram)中,在s3c2440上它對就的地址是0×30000000所以我們要把ROM的起始地址改為0×3000000,相應的RAM起始地址改為0×30200000,大小不變。

        好了,調試選項都設置好了,我們開始調試,如果沒有意外的話會出現(xiàn)下面所示

        我們可以看到它的調試環(huán)境很友好,很像vs之類的,左邊是各個寄存器的值右上是匯編代碼,下面是對應源碼當前指針停在main中,我們可以單步調試,還可以下斷點。還可以查看內存之類的信息等。
        如果我們沒有JLINK還可以用RealView MDK自帶的仿真器方法是在Debug選項中選擇Use Simulator選項就可以了。如果出現(xiàn)了*** error 65: access violation at 0×53000008 : no ‘write’ permission類似這樣的的錯誤,可以試著去掉啟動代碼中的看門狗和時鐘的設置。
        附上跑馬燈的工程

        上一頁 1 2 下一頁

        評論


        技術專區(qū)

        關閉
        主站蜘蛛池模板: 卓尼县| 木兰县| 施秉县| 晋中市| 贵阳市| 德安县| 陇川县| 通州区| 肥乡县| 巴林右旗| 崇左市| 肇东市| 稷山县| 盐城市| 太仆寺旗| 临城县| 巴马| 巴中市| 上高县| 宁武县| 育儿| 双峰县| 淮南市| 彭阳县| 海丰县| 宁城县| 益阳市| 阳曲县| 大悟县| 临猗县| 商水县| 林西县| 奉新县| 班玛县| 鸡泽县| 怀宁县| 漳州市| 上高县| 沙洋县| 沁阳市| 富民县|