So, I was comparing the linker scripts for H7 and F7 and I see that flash0 anf flash1 although point to the same thing (?) they have different addresses, but not for H7 (bank1+bank2 vs bank1).
Code: Select all
H7
flash0 : org = 0x08000000, len = 2M /* Flash bank1+bank2 */
flash1 : org = 0x08000000, len = 1M /* Flash bank 1 */
flash2 : org = 0x08100000, len = 1M /* Flash bank 2 */
flash3 : org = 0x00000000, len = 0
vs F7
flash0 : org = 0x08000000, len = 2M /* Flash as AXIM (writable) */
flash1 : org = 0x00200000, len = 2M /* Flash as ITCM */
The issue seems to be here:
Code: Select all
/* Flash region to be used for exception vectors.*/
REGION_ALIAS("VECTORS_FLASH", flash1);
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
If I change flash1 to flash0 the problem is fixed (aka linker error), if I put flash1 len = 0, the linker will complain that the .vector section won't fit.