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