2012-01-27 04:47 AM
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 itget_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 Vyacheslav2013-08-19 01:02 AM
I'm having the same problem with other devices (STM32F2) and it happends when the linker file is modified. It seems that the flash sectors are not erased before writting the new data. I have the problems with Atollic TrueSTUDIO gdbserver 1.4.1.
Any clue to solve this? Thank you!