I can flash simple programs with my ARM-USB-OCD, but when I try to flash a simple HID application with the LPCUSB stack it fails. If I use the Philips ISP program and flashes the .hex-file the HID application works. It also worked when I compiled it to be run with the debugger in RAM.
When I run debug after a ARM-USB-OCD flash it goes to the “UNDEF”-handler right after initialization.
Also if I first flash it with the ISP tool, then flashes it with a simple program with the ARM-USB-OCD (which works), then flashes the HID application with the ARM-USB-OCD again, the HID application also works. But if I then change a parameter en the HID application (i.e. VendorId in the descriptors), and re-flash with ARM-USB-OCD it fails again.
Any suggestions?
-Jon Helge
My config file:
#daemon configuration
telnet_port 4444
gdb_port 3333
#interface
interface ft2232
ft2232_device_desc "Olimex OpenOCD JTAG A"
ft2232_layout "olimex-jtag"
ft2232_vid_pid 0x15BA 0x0003
jtag_speed 3
jtag_nsrst_delay 200
jtag_ntrst_delay 200
#use combined on interfaces or targets that can't set TRST/SRST separately
reset_config trst_and_srst srst_pulls_trst
#jtag scan chain
#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
jtag_device 4 0x1 0xf 0xe
#target configuration
daemon_startup reset
#target
#target arm7tdmi
target arm7tdmi little run_and_init 0 arm7tdmi-s_r4
run_and_halt_time 0 30
# flash-options LPC2138
target_script 0 reset oocd_flash2138.script
working_area 0 0x40000000 0x4000 nobackup
# LPC2138 @ 12MHz / 0x7D000 from 500*1024 (not 512!)
flash bank lpc2000 0x0 0x7D000 0 0 lpc2000_v2 0 12000 calc_checksum
# For more information about the configuration files, take a look at:
# http://openfacts.berlios.de/index-en.phtml?title=Open+On-Chip+Debugger
The flash script
#
# The following commands will be executed on
# reset (because of run_and_init in the config-file)
# - wait for target halt
# - erase memory
# - flash content of file main.bin into target-memory
# - shutdown openocd
#
# created by Martin Thomas
# http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects
# based on information from Dominic Rath
#
arm7_9 dcc_downloads enable
wait_halt
sleep 10
poll
flash probe 0
# erase first bank only:
flash erase 0 0 0
# erase all banks:
#flash erase 0 0 26
flash write 0 main.bin 0x0
reset run
sleep 10
shutdown