Arm STR912 and OpenOCD: Flash writting not permanent?

Hello,

I’m experienced a strange situation:

I m programming through an Olimex USB OCD JTAG: a Olimex E912 Board

(Target : STR912FW44X (512 K flash + another bank 32 K flash ,96 KRam))

I m running Yagarto, and Eclipse as IDE

The debugging mode WORKS perfectly. I debug from flash (program too big to stay in RAM: 150 K).

Now my problem is to burn permanently the flash, for production

Everything seems written successfully,

but when i turn off - then - on the power supply of my board, the micro doesn’t start (a LED should flash but not the case, of course, under eclipse in debug, it’s running fine).

If i do a reset after the memory flashing, no problem, the micro will restart.

(look following for configuration, i m really sorry for these “heavy” dump, I tried to keep it readable…)

What’s wrong ?

Any idea welcome

Thanks in advance.

Damien

-------------------------- Configuration File ----------------------------------
#daemon configuration
telnet_port 4444
gdb_port 3333

#interface
interface ft2232
ft2232_device_desc "Olimex OpenOCD JTAG A"
ft2232_layout olimex-jtag
jtag_speed 1

#use combined on interfaces or targets that can't set TRST/SRST separately
reset_config trst_and_srst

#jtag scan chain
jtag_device 8 0x1 0x1 0xfe
jtag_device 4 0x1 0xf 0xe
jtag_device 5 0x1 0x1 0x1e

#target configuration
daemon_startup reset

#target arm966e <endianness> <reset mode> <chainpos> <variant>
target arm966e little reset_halt 1 arm966e

working_area 0 0x4000000 16384 nobackup

#flash bank <driver> <base> <size> <chip_width> <bus_width>
flash bank str9x 0x00000000 0x00080000 0 0 0
flash bank str9x 0x00080000 0x00008000 0 0 0 
str9x flash_config 0 4 2 0 0x80000

------------------------ Telnet Command -------------------------------------------

> telnet 127.0.0.1 4444

Open On-Chip Debugger
> halt
> arm7_9 dcc_downloads enable
dcc downloads are enabled
> flash probe 0
flash 'str9x' found at 0x00000000
> flash banks
#0: str9x at 0x00000000, size 0x00080000, buswidth 0, chipwidth 0
#1: str9x at 0x00080000, size 0x00008000, buswidth 0, chipwidth 0
> flash protect 0 0 7 off
cleared protection for sectors 0 through 7 on flash bank 0
> flash erase_sector 0 0 7
erased sectors 0 through 7 on flash bank 0 in 8.687500s
> flash write_bank 0 C:\Prog.bin 0
> reset run
JTAG device found: 0x04570041 (Manufacturer: 0x020, Part: 0x4570, Version: 0x0)
JTAG device found: 0x25966041 (Manufacturer: 0x020, Part: 0x5966, Version: 0x2)
JTAG device found: 0x1457f041 (Manufacturer: 0x020, Part: 0x457f, Version: 0x1)
**---> Comment : At thispoint, everythings run perfectly** **> exit** **---> Comment : Closure of the openocd-ftd2xx resident, and unplug the jtag device** **---> Comment : If reset now, the str912 will restart** **---> Comment : Now turn off the power supply, then turn on** **---> Comment : The str912 doesn't restart**