支持nandflash读写的openocd配置

# -*- tcl -*-
# Target configuration for the Samsung s3c6410 system on chip
# Processor       : ARM1176
# Info:   JTAG device found: 0x0032409d (Manufacturer: 0x04e, Part: 0x0324, Version: 0x0)
# [Duane Ellis 27/nov/2008: Above 0x0032409d appears to be copy/paste from other places]
# [and I do not believe it to be accurate, hence the 0xffffffff below]

telnet_port 4444
interface ft2232
jtag_khz 1000
ft2232_vid_pid 0x1457 0x5118
ft2232_layout jtagkey
#ft2232_layout oocdlink 
ft2232_device_desc "USB<=>JTAG&RS232"

if { [info exists CHIPNAME] } {
   set  _CHIPNAME $CHIPNAME
} else {
   set  _CHIPNAME s3c6410
}

if { [info exists ENDIAN] } {
   set  _ENDIAN $ENDIAN
} else {
  # this defaults to a bigendian
   set  _ENDIAN little
}

# trace buffer
if { [info exists ETBTAPID ] } {
   set _ETBTAPID $ETBTAPID
} else {
  # force an error till we get a good number
   set _ETBTAPID 0x2b900f0f
}

if { [info exists CPUTAPID ] } {
   set _CPUTAPID $CPUTAPID
} else {
  # force an error till we get a good number
   set _CPUTAPID 0x07b76f0f
}

#jtag scan chain

jtag newtap $_CHIPNAME etb -irlen 4 -expected-id $_ETBTAPID
jtag newtap $_CHIPNAME cpu     -irlen 5 -ircapture 0x1 -irmask 0x1f -expected-id $_CPUTAPID

set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME arm11 -endian $_ENDIAN  -chain-position $_TARGETNAME -variant arm1176

jtag_nsrst_delay 500
jtag_ntrst_delay 500

#reset configuration
reset_config trst_and_srst

# trace setup ... NOTE, "normal full" mode fudges the real ETMv3.1 mode
etm config $_TARGETNAME 16 normal full etb
etb config $_TARGETNAME $_CHIPNAME.etb

#nand device s3c6400 0
set _NANDNAME $_CHIPNAME.nand
nand device $_NANDNAME s3c6400 $_TARGETNAME
#nand device s3c6400 s3c6400

上面就是openocd的配置openoce.cfg

打开openocd:

shanl@shanl-E430:~$ sudo openocd -f openocd.cfg

shanl@shanl-E430:~$ telnet localhost 4444

烧写程序:

> halt

> nand probe 0 

> nand erase 0 0 0x20000

> nand write 0 /home/shanl/tftpboot/led.bin 0

> reset 

你可能感兴趣的:(支持nandflash读写的openocd配置)