Flashing a Cortex (LM3S6950)

Hi Forum,

I intend to flash a board with a LUMINARY MICRO LM3S6950 Cortex3 CPU. Up to now, without success.

I’m using the programmer USBprog (http://www.embedded-projects.net/index.php?page_id=177) and wonder if anybody has been ever flashing a LM3S69xx series CPU with this device.

I am trying to make sense from the message I am receiving, but to no avail until now. The present Q/A status with myself ist:

  • The OpenOCD configuration has been successfully used with the same target, but other JTAG-Programmers (jtagkey, signalyzer). Should be ok.

  • Does it mean the communication part (USBprog) goes somehow wrong? Or can I rule this out entirely given the current error message.

  • The target board has sufficient supply from a seperate source, the VTARGET jumper on the level-shifter has been removed, so no voltage on any JTAG pins. Should be ok, too.

Any hints that could take me a step further? I’d particularly grateful if somebody could help me in understanding the error message. Does the device react at all?

Thanks in advance,

/Markus

*** HARDWARE:

USBprog v3.0 with 3,3V level-shifter (In-Circuit GmbH), OpenOCD-Firmware flashed from online archive (latest?)

*** ERROR MESSAGE:

C:\Programme\OpenOCD\0.1.0\ARMwebradio\openocd_cfg>openocd -d2 -f usbprog.cfg

Open On-Chip Debugger 0.1.0 (2009-01-21-21:15) Release

BUGS? Read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS

$URL: https://kc8apf@svn.berlios.de/svnroot/r … -0.1.0/src

/openocd.c $

jtag_speed: 10

LIBUSB_DLL: info: usb_os_init: dll version: 0.1.12.1

LIBUSB_DLL: info: usb_os_init: driver version: 0.1.12.1

LIBUSB_DLL: info: usb_os_find_busses: found bus-0

LIBUSB_DLL: info: usb_os_find_devices: found \.\libusb0-0001–0x1781-0x0c63 on bus-0

LIBUSB_DLL: info: usb_os_find_devices: found \.\libusb0-0002–0x05e3-0x0606 on bus-0

LIBUSB_DLL: info: usb_os_find_devices: found \.\libusb0-0003–0x04b4-0x6830 on bus-0

LIBUSB_DLL: info: usb_os_find_devices: found \.\libusb0-0004–0x046d-0xc043 on bus-0

Info : USB JTAG Interface ready!

Error: JTAG communication failure, check connection, JTAG interface, target power etc.

Error: trying to validate configured JTAG chain anyway…

Error: Could not validate JTAG scan chain, IR mismatch, scan returned 0x3f. tap=lm3s6950.cpu pos=0 expected 0x1 got 3

Warn : Could not validate JTAG chain, continuing anyway…

Warn : TAP lm3s6950.cpu:

Warn : value captured during scan didn’t pass the requested check:

Warn : captured: 0x0f check_value: 0x01 check_mask: 0x0f

Warn : in_handler: w/o “in_value”, mismatch in SIR

Warn : no tcl port specified, using default port 6666

Error: JTAG communication failure, check connection, JTAG interface, target power etc.

Error: trying to validate configured JTAG chain anyway…

Error: Could not validate JTAG scan chain, IR mismatch, scan returned 0x3f. tap=lm3s6950.cpu pos=0 expected 0x1 got 3

Warn : Could not validate JTAG chain, continuing anyway…

Warn : TAP lm3s6950.cpu:

Warn : value captured during scan didn’t pass the requested check:

Warn : captured: 0x0f check_value: 0x01 check_mask: 0x0f

Warn : in_handler: w/o “in_value”, mismatch in SIR

Runtime error, file “embedded:startup.tcl”, line 176:

examine-fails: -104

Runtime error, file “usbprog.cfg”, line 39:

*** OPENOCD CONFIG FILE:

#— daemon configuration —

telnet_port 4444

gdb_port 3333

#— interface —

interface usbprog

jtag_speed 0

jtag_nsrst_delay 100

jtag_ntrst_delay 100

reset_config trst_and_srst

#— jtag scan chain —

jtag newtap lm3s6950 cpu -irlen 4 -ircapture 1 -irmask 0xf -expected-id 0x3ba00477

#— target —

#target create cortex_m3 little run_and_init 0

target create lm3s6950.cpu cortex_m3 -endian little -chain-position lm3s6950.cpu -variant lm3s

#— flash configuration —

flash bank stellaris 0 0 0 0 0

#— flash file —

init

reset

reset halt

flash write_image erase webradio.bin 0 bin

#verify_image webradio.bin

reset run

shutdown