Error: target 'lpc2000_v2' not defined

I had to create/modify my own configuration file for lpc2138 as one didn’t come provided for this LPC in OpenOCD . Here’s a snapshot of the errors I’m getting.

C:\Program Files\OpenOCD\0.4.0\bin>openocd -f interface/olimex-arm-usb-ocd.cfg f target/lpc2138.cfg
Open On-Chip Debugger 0.4.0 (2010-02-22-19:05)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.berlios.de/doc/doxygen/bugs.html
RCLK - adaptive
jtag_nsrst_delay: 200
jtag_ntrst_delay: 200
trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain
Error: Invalid command argument
Error: target 'lpc2000_v2' not defined
Command handler execution failed

Here’s a copy of the configuration file:

# Use RCLK. If RCLK is not available fall back to 500kHz.
# Depending on cabling you might be able to eek this up to 2000kHz.
jtag_rclk 500


if { [info exists CHIPNAME] } {
   set _CHIPNAME $CHIPNAME
} else {
   set _CHIPNAME lpc2138
   #set _FLASH_SIZE 0x7d000
   #set _RAM_SIZE 0x8000
   #set _VARIANT lpc2000_v2
}

if { [info exists ENDIAN] } {
   set _ENDIAN $ENDIAN
} else {
   set _ENDIAN little
}

if { [info exists CPUTAPID ] } {
   set _CPUTAPID $CPUTAPID
} else {
   set _CPUTAPID 0x4f1f0f0f
}

jtag_nsrst_delay 200
jtag_ntrst_delay 200

# NOTE!!! LPCs need reset pulled while RTCK is low. 0 to activate
# JTAG, power-on reset is not enough, i.e. you need to perform a
# reset before being able to talk to the LPC2148, attach is not possible.

#reset_config trst_and_srst srst_pulls_trst

jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID

set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm7tdmi-s_r4

$_TARGETNAME configure -work-area-phys 0x40000000 -work-area-size 0x8000 -work-area-backup 0

$_TARGETNAME configure -event reset-init {
   # Force target into ARM state.
   soft_reset_halt

   # Do not remap 0x0000-0x0020 to anything but the flash (i.e. select
   # "User Flash Mode" where interrupt vectors are _not_ remapped,
   # and reside in flash instead).
   #
   # See section 7.1 on page 32 ("Memory Mapping control register") in
   # "UM10120".
   #

   mwb 0xE01FC040 0x01

#   jtag_khz 1500
}

# flash bank lpc2000 <base> <size> 0 0 <target#> <variant> <clock> [calc_checksum]
flash bank lpc2000 0x0 0x7d000 0 0 0 lpc2000_v2 14765 calc_checksum

Does anyone know how I can correct the errors?

I was able to fix this problem with replacing:

flash bank lpc2000 0 0 <target#> [calc_checksum]

flash bank lpc2000 0x0 0x7d000 0 0 0 lpc2000_v2 14765 calc_checksum

with the following:

set _FLASHNAME $_CHIPNAME.flash

flash bank lpc2000 0 0 <target#> [calc_checksum]

flash bank $_FLASHNAME lpc2000 0x0 0x7d000 0 0 $_TARGETNAME lpc2000_v2 14765 calc_checksum

I’m assuming the issue was that “lpc2000_v2” was being passed in as the target and basically that whole line’s parameters were pushed over by one.