新聞中心

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

Jlink + ADS調(diào)試 S3C2440

作者: 時(shí)間:2016-11-09 來源:網(wǎng)絡(luò) 收藏
我只會(huì)在SDRAM中調(diào)試,說一下:

ADS 項(xiàng)目屬性設(shè)置:
-ro-base = 0x30000000
entry 0x30000000
Init Section: 2440init.o Init
AXD下需要加載一個(gè)SDRAM初始化文件。
AXD下-->Option->Config Interface->session file->run configuration script.
選擇一個(gè)初始化文件,內(nèi)容如下:
Setmem 0x53000000 0x00000000 32
Setmem 0x4A000008 0xFFFFFFFF 32
Setmem 0x4A00001C 0x000007FF 32
Setmem 0x53000000 0x00000000 32
Setmem 0x56000050 0x000055AA 32
Setmem 0x4C000014 0x00000007 32
Setmem 0x4C000000 0x00FFFFFF 32
Setmem 0x4C000004 0x00061012 32
Setmem 0x4C000008 0x00040042 32
Setmem 0x48000000 0x22111120 32
Setmem 0x48000004 0x00002F50 32
Setmem 0x48000008 0x00000700 32
Setmem 0x4800000C 0x00000700 32
Setmem 0x48000010 0x00000700 32
Setmem 0x48000014 0x00000700 32
Setmem 0x48000018 0x0007FFFC 32
Setmem 0x4800001C 0x00018005 32
Setmem 0x48000020 0x00018005 32
Setmem 0x48000024 0x008E0459 32
Setmem 0x48000028 0x00000032 32
Setmem 0x4800002C 0x00000030 32
Setmem 0x48000030 0x00000030 32

關(guān)掉option->config procossor->semihosting
用以上的方法,能在SDRAM中運(yùn)行一次或幾次一個(gè)小程序。

本文引用地址:http://butianyuan.cn/article/201611/317612.htm

option->config procossor->vector catch -> 選clear all
就不會(huì)有 too many breakpoint了。

幾乎和JTAG一致。只是選的仿真DLL不同。

首先寫好內(nèi)存初始化文件,就是初始化內(nèi)存控制器的表。-裝好JLINK的光盤驅(qū)動(dòng)。打開ADS點(diǎn)擊debug,進(jìn)入后選target configuration吧。設(shè)置內(nèi)存初始化文件路徑,設(shè)置JLINK 仿真DLL路徑,貌似JLINK有說明的吧。
確定,下次啟動(dòng)ADS debug就自動(dòng)使用JLINK了。

正解!

板子中一般都有bootloader,其啟動(dòng)過程中做好了硬件的初始化。所以你如果等boot起來再打開AXD調(diào)試(禁止J-LINK復(fù)位)就不用AXD DEBUGGER文件了

找到一個(gè) Jlink V8 調(diào)試帶字幕的視頻教程,看看有沒有用

http://v.youku.com/v_show/id_XMTQ5ODc5ODA4.html

http://topic.csdn.net/u/20090220/11/284f0b00-1737-4b31-9812-08481c5cbd93.html

(已解決)ARM79_0 raise an exption,cause:The processor was reset.


ADS+JLINK 為什么在進(jìn)入AXD下載了IMAGE 運(yùn)行就提示

ARM79_0 raise an excption,cause:The processor was reset.

下面是在網(wǎng)上搜到的解決方法:

ARM Jtag調(diào)試時(shí),默認(rèn)AXD并不會(huì)初始化SDRAM(這也難怪,AXD并不知道板子的連線情況),因此在把代碼下到SDRAM調(diào)試之前需要進(jìn)行初始化。也可以讓AXD通過JTAG配置2440的SDRAM控制寄存器實(shí)現(xiàn)對(duì)SDRAM的初始化,引用別人的;勞動(dòng)成果:

通過axd命令行對(duì)目標(biāo)板進(jìn)行設(shè)置

因?yàn)閟dram是在0x30000000地址的,所以需要先對(duì)存儲(chǔ)器控制寄存器進(jìn)行設(shè)置,在axd下設(shè)置方法是:選systems views->command lines interface,輸入如下命令對(duì)寄存器設(shè)置

地址 值 長度

setmem 0x53000000, 0x00000000, 32

還可以將要設(shè)置的寄存器寫入一個(gè)文件,在命令行用ob(obey) config.ini即可批量執(zhí)行設(shè)置指令或在options->Configure Interface中做如下設(shè)置

我的config文件內(nèi)容如下:

setmem 0x53000000, 0x00000000, 32

setmem 0x4a000008, 0xffffffff, 32

setmem 0x4a00001c, 0x00007fff, 32

setmem 0x48000000, 0x2212d110, 32

setmem 0x48000004, 0x00000f40, 32

setmem 0x48000008, 0x00002e50, 32

setmem 0x4800000c, 0x00002e50, 32

setmem 0x48000010, 0x00002e50, 32

setmem 0x48000014, 0x00002e50, 32

setmem 0x48000018, 0x00002e50, 32

setmem 0x4800001c, 0x00018005, 32

setmem 0x48000020, 0x00018005, 32

setmem 0x48000024, 0x00960542, 32

setmem 0x48000028, 0x00000032, 32

setmem 0x4800002c, 0x00000030, 32

setmem 0x48000030, 0x00000030, 32

如果設(shè)置正確則開發(fā)版的SDRAM生效,則可以加載目標(biāo)代碼了

http://www.e-online.cc/bbs/thread-76-1-1.html

今天調(diào)試時(shí)還發(fā)現(xiàn)了原來那個(gè)板子的問題(寫0x30000000時(shí)0x30000001~3一起跟著變)

在option->configure interface->session file里面加載配置文件

內(nèi)容如下

Setmem 0x53000000 0x00000000 32
Setmem 0x4A000008 0xFFFFFFFF 32
Setmem 0x4A00001C 0x000007FF 32
Setmem 0x53000000 0x00000000 32
Setmem 0x56000050 0x000055AA 32
Setmem 0x4C000014 0x00000007 32
Setmem 0x4C000000 0x00FFFFFF 32
Setmem 0x4C000004 0x00061012 32
Setmem 0x4C000008 0x00040042 32
Setmem 0x48000000 0x22111120 32
Setmem 0x48000004 0x00002F50 32
Setmem 0x48000008 0x00000700 32
Setmem 0x4800000C 0x00000700 32
Setmem 0x48000010 0x00000700 32
Setmem 0x48000014 0x00000700 32
Setmem 0x48000018 0x0007FFFC 32
Setmem 0x4800001C 0x00018005 32
Setmem 0x48000020 0x00018005 32
Setmem 0x48000024 0x008E0459 32
Setmem 0x48000028 0x00000032 32
Setmem 0x4800002C 0x00000030 32
Setmem 0x48000030 0x00000030 32

后,就OK了,看來還是內(nèi)存配置的問題呀

把下面的內(nèi)容放到一個(gè)文件里,用jink file.txt加載,可以自動(dòng)把NBOOT2nd.bin下載并運(yùn)行
注:如果沒有W4那堆配置內(nèi)存的命令,下載文件到RAM中會(huì)是錯(cuò)的

r
h
w4 0x53000000 0x00000000
w4 0x4A000008 0xFFFFFFFF
w4 0x4A00001C 0x000007FF
w4 0x53000000 0x00000000
w4 0x56000050 0x000055AA
w4 0x4C000014 0x00000007
w4 0x4C000000 0x00FFFFFF
w4 0x4C000004 0x00061012
w4 0x4C000008 0x00040042
w4 0x48000000 0x22111120
w4 0x48000004 0x00002F50
w4 0x48000008 0x00000700
w4 0x4800000C 0x00000700
w4 0x48000010 0x00000700
w4 0x48000014 0x00000700
w4 0x48000018 0x0007FFFC
w4 0x4800001C 0x00018005
w4 0x48000020 0x00018005
w4 0x48000024 0x008E0459
w4 0x48000028 0x00000032
w4 0x4800002C 0x00000030
w4 0x48000030 0x00000030


speed 12000
loadbin d:NBOOT2nd.bin,0x30000000
setpc 0x30000000
g

//用下面命令可以檢測內(nèi)存中寫入的數(shù)據(jù)是否正確

mem 30000000,16
w1 30000000,0x12
mem 30000000,16



關(guān)鍵詞: JlinkADS調(diào)試S3C244

評(píng)論


技術(shù)專區(qū)

關(guān)閉