diff --git a/src/main/target/link/stm32_flash_f103_128k.ld b/src/main/target/link/stm32_flash_f103_128k.ld index 48441c237c..eaeaa48843 100644 --- a/src/main/target/link/stm32_flash_f103_128k.ld +++ b/src/main/target/link/stm32_flash_f103_128k.ld @@ -12,9 +12,11 @@ /* Specify the memory areas. */ MEMORY { - FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 126K /* last 2kb used for config storage */ - RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K - MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 126K + FLASH_CONFIG (r) : ORIGIN = 0x0801F800, LENGTH = 2K + + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K } INCLUDE "stm32_flash.ld" diff --git a/src/main/target/link/stm32_flash_f103_128k_opbl.ld b/src/main/target/link/stm32_flash_f103_128k_opbl.ld index a8fad3a5f4..c25b881d98 100644 --- a/src/main/target/link/stm32_flash_f103_128k_opbl.ld +++ b/src/main/target/link/stm32_flash_f103_128k_opbl.ld @@ -12,10 +12,12 @@ /* Specify the memory areas. */ MEMORY { - FLASH (rx) : ORIGIN = 0x08003000, LENGTH = 126K - 0x03000 /* last 2kb used for config storage first 12k for OP Bootloader*/ + /* First 12K (0x3000 bytes) used for OP Bootloader, last 2K used for config storage */ + FLASH (rx) : ORIGIN = 0x08003000, LENGTH = 114K + FLASH_CONFIG (r) : ORIGIN = 0x0801F800, LENGTH = 2K - RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K - MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K } INCLUDE "stm32_flash.ld" diff --git a/src/main/target/link/stm32_flash_f103_256k.ld b/src/main/target/link/stm32_flash_f103_256k.ld index 0f0c2fe88c..b95a15f070 100644 --- a/src/main/target/link/stm32_flash_f103_256k.ld +++ b/src/main/target/link/stm32_flash_f103_256k.ld @@ -12,9 +12,11 @@ /* Specify the memory areas. */ MEMORY { - FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 252K /* last 4kb used for config storage */ - RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 48K - MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 252K + FLASH_CONFIG (r) : ORIGIN = 0x0803F000, LENGTH = 4K + + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 48K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K } INCLUDE "stm32_flash.ld" diff --git a/src/main/target/link/stm32_flash_f103_64k.ld b/src/main/target/link/stm32_flash_f103_64k.ld index a72e2b6082..32ac49552f 100644 --- a/src/main/target/link/stm32_flash_f103_64k.ld +++ b/src/main/target/link/stm32_flash_f103_64k.ld @@ -12,9 +12,11 @@ /* Specify the memory areas. */ MEMORY { - FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 62K /* last 2kb used for config storage */ - RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K - MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 62K + FLASH_CONFIG (r) : ORIGIN = 0x0800F800, LENGTH = 2K + + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K } INCLUDE "stm32_flash.ld" diff --git a/src/main/target/link/stm32_flash_f303_128k.ld b/src/main/target/link/stm32_flash_f303_128k.ld index a13c304581..8d948e1d45 100644 --- a/src/main/target/link/stm32_flash_f303_128k.ld +++ b/src/main/target/link/stm32_flash_f303_128k.ld @@ -12,9 +12,12 @@ /* Specify the memory areas. */ MEMORY { - FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 126K /* last 2kb used for config storage */ - RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 40K - MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 126K + FLASH_CONFIG (r) : ORIGIN = 0x0801F800, LENGTH = 2K + + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 40K + CCM (xrw) : ORIGIN = 0x10000000, LENGTH = 8K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K } INCLUDE "stm32_flash.ld" diff --git a/src/main/target/link/stm32_flash_f303_256k.ld b/src/main/target/link/stm32_flash_f303_256k.ld index 2db0e7713f..2f10b692d5 100644 --- a/src/main/target/link/stm32_flash_f303_256k.ld +++ b/src/main/target/link/stm32_flash_f303_256k.ld @@ -12,9 +12,12 @@ /* Specify the memory areas. */ MEMORY { - FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 252K /* last 4kb used for config storage */ - RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 40K - MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 252K + FLASH_CONFIG (r) : ORIGIN = 0x0803F000, LENGTH = 4K + + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 40K + CCM (xrw) : ORIGIN = 0x10000000, LENGTH = 8K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K } INCLUDE "stm32_flash.ld" diff --git a/src/main/target/link/stm32_flash_f405.ld b/src/main/target/link/stm32_flash_f405.ld index a792a296c6..7bd4c75660 100644 --- a/src/main/target/link/stm32_flash_f405.ld +++ b/src/main/target/link/stm32_flash_f405.ld @@ -12,10 +12,18 @@ /* Entry Point */ ENTRY(Reset_Handler) +/* +0x08000000 to 0x08100000 1024K full flash, +0x08000000 to 0x080FC000 1008K firmware, +0x080FC000 to 0x08100000 16K config, +*/ + /* Specify the memory areas */ MEMORY { - FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1M + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1008K + FLASH_CONFIG (r) : ORIGIN = 0x080FC000, LENGTH = 16K + RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 128K CCM (rwx) : ORIGIN = 0x10000000, LENGTH = 64K BACKUP_SRAM (rwx) : ORIGIN = 0x40024000, LENGTH = 4K diff --git a/src/main/target/link/stm32_flash_f405_opbl.ld b/src/main/target/link/stm32_flash_f405_opbl.ld index a9e2b7dd84..27d7544d89 100644 --- a/src/main/target/link/stm32_flash_f405_opbl.ld +++ b/src/main/target/link/stm32_flash_f405_opbl.ld @@ -12,21 +12,22 @@ /* Entry Point */ ENTRY(Reset_Handler) -/* Specify the memory areas */ - /* -0x08000000 to 0x08100000 1024kb full flash, -0x08000000 to 0x08020000 128kb OPBL, -0x08020000 to 0x08080000 384kb firmware, -0x08080000 to 0x080A0000 128kb config, +0x08000000 to 0x08100000 1024K full flash, +0x08000000 to 0x08004000 16K OPBL, +0x08004000 to 0x080FC000 992K firmware, +0x080FC000 to 0x08100000 16K config, */ +/* Specify the memory areas */ MEMORY { - FLASH (rx) : ORIGIN = 0x08020000, LENGTH = 0x000A0000 - CCM (rwx) : ORIGIN = 0x10000000, LENGTH = 64K - RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 0x00020000 - MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K + FLASH (rx) : ORIGIN = 0x08004000, LENGTH = 992K + FLASH_CONFIG (r): ORIGIN = 0x080FC000, LENGTH = 16K + + RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 128K + CCM (rwx) : ORIGIN = 0x10000000, LENGTH = 64K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K } INCLUDE "stm32_flash.ld" \ No newline at end of file diff --git a/src/main/target/link/stm32_flash_f411.ld b/src/main/target/link/stm32_flash_f411.ld index d145ff3afc..b7439b60d3 100644 --- a/src/main/target/link/stm32_flash_f411.ld +++ b/src/main/target/link/stm32_flash_f411.ld @@ -13,17 +13,20 @@ ENTRY(Reset_Handler) /* -0x08000000 to 0x08080000 512kb full flash, -0x08000000 to 0x08060000 384kb firmware, -0x08060000 to 0x08080000 128kb config, +0x08000000 to 0x08080000 512K full flash, +0x08000000 to 0x0807C000 469K firmware, +0x0807C000 to 0x08080000 16K config, */ /* Specify the memory areas */ MEMORY { - FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 0x00080000 - RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000 - MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 496K + FLASH_CONFIG (r) : ORIGIN = 0x0807C000, LENGTH = 16K + + RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 128K + CCM (xrw) : ORIGIN = 0x10000000, LENGTH = 64K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K } INCLUDE "stm32_flash.ld" diff --git a/src/main/target/link/stm32_flash_f411_opbl.ld b/src/main/target/link/stm32_flash_f411_opbl.ld index 5787e6d20b..e329397e61 100644 --- a/src/main/target/link/stm32_flash_f411_opbl.ld +++ b/src/main/target/link/stm32_flash_f411_opbl.ld @@ -13,18 +13,21 @@ ENTRY(Reset_Handler) /* -0x08000000 to 0x08080000 512kb full flash, -0x08000000 to 0x08010000 64kb OPBL, -0x08010000 to 0x08060000 320kb firmware, -0x08060000 to 0x08080000 128kb config, +0x08000000 to 0x08080000 512K full flash, +0x08000000 to 0x08004000 16K OPBL, +0x08010000 to 0x0807C000 480K firmware, +0x0807C000 to 0x08080000 16K config, */ /* Specify the memory areas */ MEMORY { - FLASH (rx) : ORIGIN = 0x08010000, LENGTH = 0x00070000 - RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000 - MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K + FLASH (rx) : ORIGIN = 0x08004000, LENGTH = 480K + FLASH_CONFIG (r) : ORIGIN = 0x0807C000, LENGTH = 16K + + RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 128K + CCM (xrw) : ORIGIN = 0x10000000, LENGTH = 64K + MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K } INCLUDE "stm32_flash.ld" diff --git a/src/main/target/link/stm32_flash_f745.ld b/src/main/target/link/stm32_flash_f745.ld index 62270ea0f0..6c60e5c2c8 100644 --- a/src/main/target/link/stm32_flash_f745.ld +++ b/src/main/target/link/stm32_flash_f745.ld @@ -15,7 +15,9 @@ ENTRY(Reset_Handler) /* Specify the memory areas */ MEMORY { - FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1M + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1008K + FLASH_CONFIG (r) : ORIGIN = 0x080FC000, LENGTH = 16K + RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 320K MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K }