1、启动opencocd.ini
# openocd -f /etc/openocd/interface/openjtag.cfg -f /etc/openocd/target/samsung_s3c2440.cfg
2、开始调试,要在gdb.ini中设置好断点
# arm-linux-gdb -x gdb.ini u-boot
/etc/openocd/interface/openjtag.cfg
#
# 100ASK OpenJTAG
#
# http://www.100ask.net
#
interface ft2232
ft2232_device_desc "USB<=>JTAG&RS232"
ft2232_layout jtagkey
ft2232_vid_pid 0x1457 0x5118
/etc/openocd/target/samsung_s3c2440.cfg
# Target configuration for the Samsung 2440 system on chip
# Tested on a S3C2440 Evaluation board by keesj
# Processor : ARM920Tid(wb) rev 0 (v4l)
# Info: JTAG tap: s3c2440.cpu tap/device found: 0x0032409d (Manufacturer: 0x04e, Part: 0x0324, Version: 0x0)
if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
} else {
set _CHIPNAME s3c2440
}
if { [info exists ENDIAN] } {
set _ENDIAN $ENDIAN
} else {
# this defaults to a bigendian
set _ENDIAN little
}
if { [info exists CPUTAPID ] } {
set _CPUTAPID $CPUTAPID
} else {
# force an error till we get a good number
set _CPUTAPID 0x0032409d
}
#jtag scan chain
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0x0f -expected-id $_CPUTAPID
set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME arm920t -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm920t
$_TARGETNAME configure -work-area-phys 0x200000 -work-area-size 0x4000 -work-area-backup 1
arm7_9 fast_memory_access enable
#reset configuration
reset_config trst_and_srst
gdb.ini:
target remote localhost:3333
monitor halt
monitor arm mcr 15 0 1 0 0 0
monitor step
monitor load_image /home/linux/mini2440/mini2440-uboot1003/init.bin 0x00000000
monitor resume 0x00000000
monitor halt
monitor wait_halt
load
break start_armboot
continue