Forgive me the stupid question, and thanks Manus for the kind reply :)

I had to replace a few LM3S6611(problem) with LM3S6965(work fine) because I neet to ship some boards this weekend :(

My real problem still persists with LM3S6611: I can access the chip via telnet, I can write to the flash and the messages is just fine, but nothing get to the flash (it is not written)

I guess that *I will need to debug this mself*, but please, I need help with basic information: where is the flash writing program, how does it interface with OpenOCD, ets...

Here is what I get when writing to flash:
--------------
$ sudo /home/alain/projetos/openocd/openocd2 -f /home/alain/projetos/gpt/eclipse/workGprs/scripts/lm3s6965-2.cfg -c "grava_flash"
Open On-Chip Debugger 0.2.0 (2009-07-15-14:00) Release
$URL: http://svn.berlios.de/svnroot/repos/openocd/tags/openocd-0.2.0/src/openocd.c $
For bug reports, read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS
500 kHz
jtag_nsrst_delay: 100
jtag_ntrst_delay: 100
Info : device: 4
Info : deviceID: 67354056
Info : SerialNumber: TLRYVQOW A
Info : Description: Turtelizer JTAG/RS232 Adapter A
Info : JTAG tap: lm3s6965.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
Info : JTAG Tap/device matched
Info : JTAG tap: lm3s6965.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
Info : JTAG Tap/device matched
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x00000020
flash 'stellaris' found at 0x00000000
Error: failed erasing sectors 0 to 255 (-901)
Info : Algorithm flash write 2048 words to 0x0, 13316 remaining
Info : Algorithm flash write 2048 words to 0x2000, 11268 remaining
Info : Algorithm flash write 2048 words to 0x4000, 9220 remaining
Info : Algorithm flash write 2048 words to 0x6000, 7172 remaining
Info : Algorithm flash write 2048 words to 0x8000, 5124 remaining
Info : Algorithm flash write 2048 words to 0xa000, 3076 remaining
Info : Algorithm flash write 1028 words to 0xc000, 1028 remaining
wrote 53264 byte from file main.bin in 6.694660s (7.769719 kb/s)
Info : JTAG tap: lm3s6965.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
Info : JTAG Tap/device matched
--------------
then I open OpenOCD agin and I display the flash memory it is not correct!!!

Just for reference I attached my config file

Please help
Alain



Magnus Lundin escreveu:
Alain Mouette wrote:
Hi, I just changed my Cortex-M3 from LS3S6965 to ML3S6611 and it stopped working :(

When I start openocd (0.2, Linux, FTD2232) I get:
Open On-Chip Debugger 0.2.0 (2009-07-15-14:00) Release
[...]
500 kHz
jtag_nsrst_delay: 100
jtag_ntrst_delay: 100
Info : device: 4
Info : deviceID: 67354056
Info : SerialNumber: TLRYVQOW A
Info : Description: Turtelizer JTAG/RS232 Adapter A
Info : JTAG tap: lm3s6965.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
Info : JTAG Tap/device matched

=> I checked and the device code is exactly the same for both chips!

Using telnet, if I display memory I get:
 > mdw 0 8
0x00000000: 20000010 00000021 0000000d 00000029 00000045 00000045 00000045 00000000
 > mdw 20000000 8
Maybe it should be (hexadecimal)

mdw 0x20000000 8


Sticky errors is almost always trying to acces nonéxisting memory.

Best regards,
Magnus



# script for luminary lm3s6965

#daemon configuration
telnet_port 4444
gdb_port 3333

#interface TURTELIZER
interface ft2232
ft2232_device_desc "Turtelizer JTAG/RS232 Adapter A"
ft2232_layout "turtelizer2"
ft2232_vid_pid 0x0403 0xbdc8

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

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

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

# jtag speed
jtag_khz 500

jtag_nsrst_delay 100
jtag_ntrst_delay 100

#LM3S6965 Evaluation Board has only srst
reset_config srst_only
#reset_config srst_only separate


#jtag scan chain
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 1 -irmask 0xf -expected-id 
$_CPUTAPID

# the luminary variant causes a software reset rather than asserting SRST
# this stops the debug registers from being cleared
# this will be fixed in later revisions of silicon
set _TARGETNAME [format "%s.cpu" $_CHIPNAME]
target create $_TARGETNAME cortex_m3 -endian $_ENDIAN -chain-position 
$_TARGETNAME -variant lm3s

# 4k working area at base of ram
$_TARGETNAME configure -work-area-virt 0 -work-area-phys 0x20000000 
-work-area-size 0x4000 -work-area-backup 0

#flash configuration
flash bank stellaris 0 0 0 0 0

# End of configuration. After this, scripts can be executed.
init

proc grava_flash { } {
  # precisa do Reset em algumas vezes quando liga a placa
  reset halt
  wait_halt
  # Probe só para verificar se está tudo bem 
  flash probe 0
  flash erase_sector 0 0 255
  # Sleep resolveu alguns erros na gravação, após erase
  sleep 100
  # a opção erase não funciona
  flash write_image main.bin 0
  reset run
  shutdown
}
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to