AnsweredAssumed Answered

GDBserver flash programming problem

Question asked by Sitnikov.Vjacheslav on Jan 27, 2012
Latest reply on Aug 19, 2013 by pica.aaron
I use Eclipse-IDE and CodeSourcery G++ Lite to create programs for STM32F4xx.
As debugger I use CodeSourcery gdb and gdb-server from Atollic TrueSTUDIO Lite package.
If I debug program located in flash on Sector 0 (start addresses from 0x08000000) all workes fine - server erase old application and write new. Attached file debug_log_ok.txt - keep gdbserver log after debugging this application started from 0x08000000.
But when I try to debug prgramm started from 0x08020200 (sector 5) (sector0 keep bootloader) [program start location edited in ld-file, vector table offset changed] application doesn't write to flash. I have error message:
Failed to execute MI command:
Error message from debugger back end:
Error writing data to flash
GDBserver log is in attached file debug_log_fail.zip. There is following string in it
get_f2_flash_error_status():  FuncExit
lock_flash_f2_prg_and_erase_ctrler():  FuncEntry
It seems like after sector erasing server locks them.
If I manually erase sector 5 with ST-Link utility before debuger start - all ok to - program writed to flash.
Is it possible to debug such application? May be I missed some options. Which ones I need to set?
Atollic doesn't provide support for Lite. :(
Thanks in advance
Vyacheslav

Attachments

Outcomes