新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > RealView MDK+Jlink+TQ2440 調(diào)試筆記

RealView MDK+Jlink+TQ2440 調(diào)試筆記

作者: 時(shí)間:2016-11-25 來(lái)源:網(wǎng)絡(luò) 收藏


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

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

好了,調(diào)試選項(xiàng)都設(shè)置好了,我們開(kāi)始調(diào)試,如果沒(méi)有意外的話會(huì)出現(xiàn)下面所示

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

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: MDKJlinkTQ2440調(diào)試筆

評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉