STM 452 LE 512 Kb RAM,
I have a boot-loader at 0x8000000 as big as ~20k.
The image is loaded at 0x8008000 which is 32 K from FLASH_BASE. The image is 239 K
Code: Select all
#define VECT_TAB_OFFSET (32*1024) @ system_stm32l4xx.c
SCB->VTOR = 32*1024;
// and linker file. Ignore the storage 32k at the end of flash.
/* Entry Point */
STOR_LEN = 32K;
BOOT_LEN = 32K;
RAM_USER = 8K ;
FLASH_TOT = 512K;
RAM_TOT = 160K;
FLASH_BASE = 0x8000000;
RAM_BASE = 0x20000000;
FLASH (rx) : ORIGIN = FLASH_BASE + BOOT_LEN, LENGTH = FLASH_TOT - BOOT_LEN - STOR_LEN /* mco */
RAM (xrw) : ORIGIN = RAM_BASE, LENGTH = RAM_TOT - RAM_USER
Everything works as expected, and worked for last month, I was debugging the image at 0x8008000 no problem.
The boot-loader was sitting at 0x8000000 unaltered.
Today out of the blue when I start the Atoollic debugger upon the image
I noticed that is erasing the first page (2K) of the FLASH. Just like that, wiping out a chunk the
boot loader code. This did not happen before. As soon The debugger breaks in main and I check
the 0x8000000 with the memory browser the page is FF up to 800hex.
I tried, reinstalling the shitty Atollic, Checking project settings everywhere, I cannot get a clue.
If both firmware's are flashed either trough the 'mbed' shared mount or using Stlink-V2, all is working great.
The only thing is that Atoolic debugger erases the bootloader first sector, and let;s me with a bricked board until next manual flash.