我只会在SDRAM中调试,说一下:
ADS 项目特点设置:
-ro-base = 0x30000000
entry 0x30000000
Init Section: 2440init.o Init
AXD下需求加载一个SDRAM初始化文件。
AXD下–>Option->Config Interface->session file->run configuration script.
挑选一个初始化文件,内容如下:
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
关掉option->config procossor->semihosting
用以上的办法,能在SDRAM中运转一次或几回一个小程序。
option->config procossor->vector catch -> 选clear all
就不会有 too many breakpoint了。
简直和JTAG共同。仅仅选的仿真DLL不同。
首要写好内存初始化文件,便是初始化内存操控器的表。-装好JLINK的光盘驱动。翻开ADS点击debug,进入后选target configuration吧。设置内存初始化文件途径,设置JLINK 仿真DLL途径,形似JLINK有阐明的吧。
确认,下次发动ADS debug就主动运用JLINK了。
正解!
板子中一般都有bootloader,其发动过程中做好了硬件的初始化。所以你假如等boot起来再翻开AXD调试(制止J-LINK复位)就不必AXD DEBUGGER文件了
找到一个 Jlink V8 调试带字幕的视频教程,看看有没有用
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 为什么在进入AXD下载了IMAGE 运转就提示
ARM79_0 raise an excption,cause:The processor was reset.
下面是在网上搜到的处理办法:
ARM Jtag调试时,默许AXD并不会初始化SDRAM(这也难怪,AXD并不知道板子的连线状况),因此在把代码下到SDRAM调试之前需求进行初始化。也能够让AXD经过JTAG装备2440的SDRAM操控寄存器完成对SDRAM的初始化,引证他人的;劳动成果:
经过axd指令行对方针板进行设置
由于sdram是在0x30000000地址的,所以需求先对存储器操控寄存器进行设置,在axd下设置办法是:选systems views->command lines interface,输入如下指令对寄存器设置
地址 值 长度
setmem 0x53000000, 0x00000000, 32
还能够即将设置的寄存器写入一个文件,在指令行用ob(obey) config.ini即可批量履行设置指令或在options->Configure Interface中做如下设置
我的config文件内容如下:
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
假如设置正确则开发版的SDRAM收效,则能够加载方针代码了
http://www.e-online.cc/bbs/thread-76-1-1.html
今日调试时还发现了本来那个板子的问题(写0x30000000时0x30000001~3一同跟着变)
在option->configure interface->session file里边加载装备文件
内容如下
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了,看来仍是内存装备的问题呀
把下面的内容放到一个文件里,用jink file.txt加载,能够主动把NBOOT2nd.bin下载并运转
注:假如没有W4那堆装备内存的指令,下载文件到RAM中会是错的
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
//用下面指令能够检测内存中写入的数据是否正确
mem 30000000,16
w1 30000000,0×12
mem 30000000,16