diff options
| author | Drashna Jaelre <drashna@live.com> | 2024-11-21 03:54:01 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-21 22:54:01 +1100 |
| commit | c7a04bd9305c337e9190d5ebdd368c4af49adc43 (patch) | |
| tree | 504cb053ae288fa12df626aebfec642b3ace6518 /platforms/chibios | |
| parent | 36b5559b997cedd14a352aa70891558936b8b3a3 (diff) | |
Bring supported STM32F4 configs in line with F4x1 (#24413)
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Diffstat (limited to 'platforms/chibios')
19 files changed, 142 insertions, 188 deletions
diff --git a/platforms/chibios/boards/GENERIC_STM32_F405XG/configs/config.h b/platforms/chibios/boards/GENERIC_STM32_F405XG/configs/config.h index 90a41326a1..5333a919a0 100644 --- a/platforms/chibios/boards/GENERIC_STM32_F405XG/configs/config.h +++ b/platforms/chibios/boards/GENERIC_STM32_F405XG/configs/config.h | |||
| @@ -21,3 +21,13 @@ | |||
| 21 | #ifndef EARLY_INIT_PERFORM_BOOTLOADER_JUMP | 21 | #ifndef EARLY_INIT_PERFORM_BOOTLOADER_JUMP |
| 22 | # define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE | 22 | # define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE |
| 23 | #endif | 23 | #endif |
| 24 | |||
| 25 | #ifdef WEAR_LEVELING_EMBEDDED_FLASH | ||
| 26 | # ifndef WEAR_LEVELING_EFL_FIRST_SECTOR | ||
| 27 | # ifdef BOOTLOADER_TINYUF2 | ||
| 28 | # define WEAR_LEVELING_EFL_FIRST_SECTOR 3 | ||
| 29 | # else | ||
| 30 | # define WEAR_LEVELING_EFL_FIRST_SECTOR 1 | ||
| 31 | # endif | ||
| 32 | # endif | ||
| 33 | #endif | ||
diff --git a/platforms/chibios/boards/GENERIC_STM32_F407XE/configs/config.h b/platforms/chibios/boards/GENERIC_STM32_F407XE/configs/config.h index 90a41326a1..5333a919a0 100644 --- a/platforms/chibios/boards/GENERIC_STM32_F407XE/configs/config.h +++ b/platforms/chibios/boards/GENERIC_STM32_F407XE/configs/config.h | |||
| @@ -21,3 +21,13 @@ | |||
| 21 | #ifndef EARLY_INIT_PERFORM_BOOTLOADER_JUMP | 21 | #ifndef EARLY_INIT_PERFORM_BOOTLOADER_JUMP |
| 22 | # define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE | 22 | # define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE |
| 23 | #endif | 23 | #endif |
| 24 | |||
| 25 | #ifdef WEAR_LEVELING_EMBEDDED_FLASH | ||
| 26 | # ifndef WEAR_LEVELING_EFL_FIRST_SECTOR | ||
| 27 | # ifdef BOOTLOADER_TINYUF2 | ||
| 28 | # define WEAR_LEVELING_EFL_FIRST_SECTOR 3 | ||
| 29 | # else | ||
| 30 | # define WEAR_LEVELING_EFL_FIRST_SECTOR 1 | ||
| 31 | # endif | ||
| 32 | # endif | ||
| 33 | #endif | ||
diff --git a/platforms/chibios/boards/GENERIC_STM32_F446XE/configs/config.h b/platforms/chibios/boards/GENERIC_STM32_F446XE/configs/config.h index cbb98f9098..362327efde 100644 --- a/platforms/chibios/boards/GENERIC_STM32_F446XE/configs/config.h +++ b/platforms/chibios/boards/GENERIC_STM32_F446XE/configs/config.h | |||
| @@ -17,3 +17,13 @@ | |||
| 17 | #ifndef EARLY_INIT_PERFORM_BOOTLOADER_JUMP | 17 | #ifndef EARLY_INIT_PERFORM_BOOTLOADER_JUMP |
| 18 | # define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE | 18 | # define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE |
| 19 | #endif | 19 | #endif |
| 20 | |||
| 21 | #ifdef WEAR_LEVELING_EMBEDDED_FLASH | ||
| 22 | # ifndef WEAR_LEVELING_EFL_FIRST_SECTOR | ||
| 23 | # ifdef BOOTLOADER_TINYUF2 | ||
| 24 | # define WEAR_LEVELING_EFL_FIRST_SECTOR 3 | ||
| 25 | # else | ||
| 26 | # define WEAR_LEVELING_EFL_FIRST_SECTOR 1 | ||
| 27 | # endif | ||
| 28 | # endif | ||
| 29 | #endif | ||
diff --git a/platforms/chibios/boards/common/ld/STM32F401xC.ld b/platforms/chibios/boards/common/ld/STM32F401xC.ld index 8bc1cda09c..64f019706f 100644 --- a/platforms/chibios/boards/common/ld/STM32F401xC.ld +++ b/platforms/chibios/boards/common/ld/STM32F401xC.ld | |||
| @@ -5,6 +5,9 @@ | |||
| 5 | */ | 5 | */ |
| 6 | 6 | ||
| 7 | f4xx_flash_size = 256k; | 7 | f4xx_flash_size = 256k; |
| 8 | f4xx_ram_size = 64k; | 8 | f4xx_ram1_size = 64k; |
| 9 | f4xx_ram2_size = 0; | ||
| 10 | f4xx_ram4_size = 0; | ||
| 11 | f4xx_ram5_size = 0; | ||
| 9 | 12 | ||
| 10 | INCLUDE stm32f4xx_common.ld | 13 | INCLUDE stm32f4xx_common.ld |
diff --git a/platforms/chibios/boards/common/ld/STM32F401xC_tinyuf2.ld b/platforms/chibios/boards/common/ld/STM32F401xC_tinyuf2.ld index 9e0306bde8..05aa51917f 100644 --- a/platforms/chibios/boards/common/ld/STM32F401xC_tinyuf2.ld +++ b/platforms/chibios/boards/common/ld/STM32F401xC_tinyuf2.ld | |||
| @@ -5,6 +5,9 @@ | |||
| 5 | */ | 5 | */ |
| 6 | 6 | ||
| 7 | f4xx_flash_size = 256k; | 7 | f4xx_flash_size = 256k; |
| 8 | f4xx_ram_size = 64k; | 8 | f4xx_ram1_size = 64k; |
| 9 | f4xx_ram2_size = 0; | ||
| 10 | f4xx_ram4_size = 0; | ||
| 11 | f4xx_ram5_size = 0; | ||
| 9 | 12 | ||
| 10 | INCLUDE stm32f4xx_tinyuf2_common.ld | 13 | INCLUDE stm32f4xx_tinyuf2_common.ld |
diff --git a/platforms/chibios/boards/common/ld/STM32F401xE.ld b/platforms/chibios/boards/common/ld/STM32F401xE.ld index 3c2a93bd30..6c72c8f127 100644 --- a/platforms/chibios/boards/common/ld/STM32F401xE.ld +++ b/platforms/chibios/boards/common/ld/STM32F401xE.ld | |||
| @@ -5,6 +5,9 @@ | |||
| 5 | */ | 5 | */ |
| 6 | 6 | ||
| 7 | f4xx_flash_size = 512k; | 7 | f4xx_flash_size = 512k; |
| 8 | f4xx_ram_size = 96k; | 8 | f4xx_ram1_size = 96k; |
| 9 | f4xx_ram2_size = 0; | ||
| 10 | f4xx_ram4_size = 0; | ||
| 11 | f4xx_ram5_size = 0; | ||
| 9 | 12 | ||
| 10 | INCLUDE stm32f4xx_common.ld | 13 | INCLUDE stm32f4xx_common.ld |
diff --git a/platforms/chibios/boards/common/ld/STM32F401xE_tinyuf2.ld b/platforms/chibios/boards/common/ld/STM32F401xE_tinyuf2.ld index a7fa419cfb..65272ec015 100644 --- a/platforms/chibios/boards/common/ld/STM32F401xE_tinyuf2.ld +++ b/platforms/chibios/boards/common/ld/STM32F401xE_tinyuf2.ld | |||
| @@ -5,6 +5,9 @@ | |||
| 5 | */ | 5 | */ |
| 6 | 6 | ||
| 7 | f4xx_flash_size = 512k; | 7 | f4xx_flash_size = 512k; |
| 8 | f4xx_ram_size = 96k; | 8 | f4xx_ram1_size = 96k; |
| 9 | f4xx_ram2_size = 0; | ||
| 10 | f4xx_ram4_size = 0; | ||
| 11 | f4xx_ram5_size = 0; | ||
| 9 | 12 | ||
| 10 | INCLUDE stm32f4xx_tinyuf2_common.ld | 13 | INCLUDE stm32f4xx_tinyuf2_common.ld |
diff --git a/platforms/chibios/boards/common/ld/STM32F405xG.ld b/platforms/chibios/boards/common/ld/STM32F405xG.ld index b7d0baa210..d9468e18c5 100644 --- a/platforms/chibios/boards/common/ld/STM32F405xG.ld +++ b/platforms/chibios/boards/common/ld/STM32F405xG.ld | |||
| @@ -1,86 +1,13 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio | 2 | * Copyright 2006..2018 Giovanni Di Sirio |
| 3 | 3 | * Copyright 2022 QMK contributors | |
| 4 | Licensed under the Apache License, Version 2.0 (the "License"); | 4 | * SPDX-License-Identifier: GPL-2.0-or-later |
| 5 | you may not use this file except in compliance with the License. | ||
| 6 | You may obtain a copy of the License at | ||
| 7 | |||
| 8 | http://www.apache.org/licenses/LICENSE-2.0 | ||
| 9 | |||
| 10 | Unless required by applicable law or agreed to in writing, software | ||
| 11 | distributed under the License is distributed on an "AS IS" BASIS, | ||
| 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| 13 | See the License for the specific language governing permissions and | ||
| 14 | limitations under the License. | ||
| 15 | */ | ||
| 16 | |||
| 17 | /* | ||
| 18 | * STM32F405xG memory setup. | ||
| 19 | * Note: Use of ram1 and ram2 is mutually exclusive with use of ram0. | ||
| 20 | */ | 5 | */ |
| 21 | MEMORY | ||
| 22 | { | ||
| 23 | flash0 (rx) : org = 0x08000000, len = 16k /* Sector 0 - Init code as ROM bootloader assumes application starts here */ | ||
| 24 | flash1 (rx) : org = 0x08004000, len = 16k /* Sector 1 - Emulated eeprom */ | ||
| 25 | flash2 (rx) : org = 0x08008000, len = 1M - 32k /* Sector 2..6 - Rest of firmware */ | ||
| 26 | flash3 (rx) : org = 0x00000000, len = 0 | ||
| 27 | flash4 (rx) : org = 0x00000000, len = 0 | ||
| 28 | flash5 (rx) : org = 0x00000000, len = 0 | ||
| 29 | flash6 (rx) : org = 0x00000000, len = 0 | ||
| 30 | flash7 (rx) : org = 0x00000000, len = 0 | ||
| 31 | ram0 (wx) : org = 0x20000000, len = 128k /* SRAM1 + SRAM2 */ | ||
| 32 | ram1 (wx) : org = 0x20000000, len = 112k /* SRAM1 */ | ||
| 33 | ram2 (wx) : org = 0x2001C000, len = 16k /* SRAM2 */ | ||
| 34 | ram3 (wx) : org = 0x00000000, len = 0 | ||
| 35 | ram4 (wx) : org = 0x10000000, len = 64k /* CCM SRAM */ | ||
| 36 | ram5 (wx) : org = 0x40024000, len = 4k /* BCKP SRAM */ | ||
| 37 | ram6 (wx) : org = 0x00000000, len = 0 | ||
| 38 | ram7 (wx) : org = 0x00000000, len = 0 | ||
| 39 | } | ||
| 40 | |||
| 41 | /* For each data/text section two region are defined, a virtual region | ||
| 42 | and a load region (_LMA suffix).*/ | ||
| 43 | |||
| 44 | /* Flash region to be used for exception vectors.*/ | ||
| 45 | REGION_ALIAS("VECTORS_FLASH", flash0); | ||
| 46 | REGION_ALIAS("VECTORS_FLASH_LMA", flash0); | ||
| 47 | |||
| 48 | /* Flash region to be used for constructors and destructors.*/ | ||
| 49 | REGION_ALIAS("XTORS_FLASH", flash2); | ||
| 50 | REGION_ALIAS("XTORS_FLASH_LMA", flash2); | ||
| 51 | |||
| 52 | /* Flash region to be used for code text.*/ | ||
| 53 | REGION_ALIAS("TEXT_FLASH", flash2); | ||
| 54 | REGION_ALIAS("TEXT_FLASH_LMA", flash2); | ||
| 55 | |||
| 56 | /* Flash region to be used for read only data.*/ | ||
| 57 | REGION_ALIAS("RODATA_FLASH", flash2); | ||
| 58 | REGION_ALIAS("RODATA_FLASH_LMA", flash2); | ||
| 59 | |||
| 60 | /* Flash region to be used for various.*/ | ||
| 61 | REGION_ALIAS("VARIOUS_FLASH", flash2); | ||
| 62 | REGION_ALIAS("VARIOUS_FLASH_LMA", flash2); | ||
| 63 | |||
| 64 | /* Flash region to be used for RAM(n) initialization data.*/ | ||
| 65 | REGION_ALIAS("RAM_INIT_FLASH_LMA", flash2); | ||
| 66 | |||
| 67 | /* RAM region to be used for Main stack. This stack accommodates the processing | ||
| 68 | of all exceptions and interrupts.*/ | ||
| 69 | REGION_ALIAS("MAIN_STACK_RAM", ram0); | ||
| 70 | |||
| 71 | /* RAM region to be used for the process stack. This is the stack used by | ||
| 72 | the main() function.*/ | ||
| 73 | REGION_ALIAS("PROCESS_STACK_RAM", ram0); | ||
| 74 | |||
| 75 | /* RAM region to be used for data segment.*/ | ||
| 76 | REGION_ALIAS("DATA_RAM", ram0); | ||
| 77 | REGION_ALIAS("DATA_RAM_LMA", flash2); | ||
| 78 | |||
| 79 | /* RAM region to be used for BSS segment.*/ | ||
| 80 | REGION_ALIAS("BSS_RAM", ram0); | ||
| 81 | 6 | ||
| 82 | /* RAM region to be used for the default heap.*/ | 7 | f4xx_flash_size = 1M; |
| 83 | REGION_ALIAS("HEAP_RAM", ram0); | 8 | f4xx_ram1_size = 112k; |
| 9 | f4xx_ram2_size = 16k; | ||
| 10 | f4xx_ram4_size = 64k; | ||
| 11 | f4xx_ram5_size = 4k; | ||
| 84 | 12 | ||
| 85 | /* Generic rules inclusion.*/ | 13 | INCLUDE stm32f4xx_common.ld |
| 86 | INCLUDE rules.ld | ||
diff --git a/platforms/chibios/boards/common/ld/STM32F405xG_tinyuf2.ld b/platforms/chibios/boards/common/ld/STM32F405xG_tinyuf2.ld index 1ee4aa1a06..51c4b625ac 100644 --- a/platforms/chibios/boards/common/ld/STM32F405xG_tinyuf2.ld +++ b/platforms/chibios/boards/common/ld/STM32F405xG_tinyuf2.ld | |||
| @@ -1,89 +1,13 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio | 2 | * Copyright 2006..2018 Giovanni Di Sirio |
| 3 | 3 | * Copyright 2022 QMK contributors | |
| 4 | Licensed under the Apache License, Version 2.0 (the "License"); | 4 | * SPDX-License-Identifier: GPL-2.0-or-later |
| 5 | you may not use this file except in compliance with the License. | ||
| 6 | You may obtain a copy of the License at | ||
| 7 | |||
| 8 | http://www.apache.org/licenses/LICENSE-2.0 | ||
| 9 | |||
| 10 | Unless required by applicable law or agreed to in writing, software | ||
| 11 | distributed under the License is distributed on an "AS IS" BASIS, | ||
| 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| 13 | See the License for the specific language governing permissions and | ||
| 14 | limitations under the License. | ||
| 15 | */ | ||
| 16 | |||
| 17 | /* | ||
| 18 | * STM32F405xG memory setup. | ||
| 19 | * Note: Use of ram1 and ram2 is mutually exclusive with use of ram0. | ||
| 20 | */ | 5 | */ |
| 21 | MEMORY | ||
| 22 | { | ||
| 23 | flash0 (rx) : org = 0x08000000 + 64k, len = 1M - 64k /* tinyuf2 bootloader requires app to be located at 64k offset for this MCU */ | ||
| 24 | flash1 (rx) : org = 0x00000000, len = 0 | ||
| 25 | flash2 (rx) : org = 0x00000000, len = 0 | ||
| 26 | flash3 (rx) : org = 0x00000000, len = 0 | ||
| 27 | flash4 (rx) : org = 0x00000000, len = 0 | ||
| 28 | flash5 (rx) : org = 0x00000000, len = 0 | ||
| 29 | flash6 (rx) : org = 0x00000000, len = 0 | ||
| 30 | flash7 (rx) : org = 0x00000000, len = 0 | ||
| 31 | ram0 (wx) : org = 0x20000000, len = 128k /* SRAM1 + SRAM2 */ | ||
| 32 | ram1 (wx) : org = 0x20000000, len = 112k /* SRAM1 */ | ||
| 33 | ram2 (wx) : org = 0x2001C000, len = 16k /* SRAM2 */ | ||
| 34 | ram3 (wx) : org = 0x00000000, len = 0 | ||
| 35 | ram4 (wx) : org = 0x10000000, len = 64k /* CCM SRAM */ | ||
| 36 | ram5 (wx) : org = 0x40024000, len = 4k /* BCKP SRAM */ | ||
| 37 | ram6 (wx) : org = 0x00000000, len = 0 | ||
| 38 | ram7 (wx) : org = 0x00000000, len = 0 | ||
| 39 | } | ||
| 40 | |||
| 41 | /* For each data/text section two region are defined, a virtual region | ||
| 42 | and a load region (_LMA suffix).*/ | ||
| 43 | |||
| 44 | /* Flash region to be used for exception vectors.*/ | ||
| 45 | REGION_ALIAS("VECTORS_FLASH", flash0); | ||
| 46 | REGION_ALIAS("VECTORS_FLASH_LMA", flash0); | ||
| 47 | |||
| 48 | /* Flash region to be used for constructors and destructors.*/ | ||
| 49 | REGION_ALIAS("XTORS_FLASH", flash0); | ||
| 50 | REGION_ALIAS("XTORS_FLASH_LMA", flash0); | ||
| 51 | |||
| 52 | /* Flash region to be used for code text.*/ | ||
| 53 | REGION_ALIAS("TEXT_FLASH", flash0); | ||
| 54 | REGION_ALIAS("TEXT_FLASH_LMA", flash0); | ||
| 55 | |||
| 56 | /* Flash region to be used for read only data.*/ | ||
| 57 | REGION_ALIAS("RODATA_FLASH", flash0); | ||
| 58 | REGION_ALIAS("RODATA_FLASH_LMA", flash0); | ||
| 59 | |||
| 60 | /* Flash region to be used for various.*/ | ||
| 61 | REGION_ALIAS("VARIOUS_FLASH", flash0); | ||
| 62 | REGION_ALIAS("VARIOUS_FLASH_LMA", flash0); | ||
| 63 | |||
| 64 | /* Flash region to be used for RAM(n) initialization data.*/ | ||
| 65 | REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0); | ||
| 66 | |||
| 67 | /* RAM region to be used for Main stack. This stack accommodates the processing | ||
| 68 | of all exceptions and interrupts.*/ | ||
| 69 | REGION_ALIAS("MAIN_STACK_RAM", ram0); | ||
| 70 | |||
| 71 | /* RAM region to be used for the process stack. This is the stack used by | ||
| 72 | the main() function.*/ | ||
| 73 | REGION_ALIAS("PROCESS_STACK_RAM", ram0); | ||
| 74 | |||
| 75 | /* RAM region to be used for data segment.*/ | ||
| 76 | REGION_ALIAS("DATA_RAM", ram0); | ||
| 77 | REGION_ALIAS("DATA_RAM_LMA", flash0); | ||
| 78 | |||
| 79 | /* RAM region to be used for BSS segment.*/ | ||
| 80 | REGION_ALIAS("BSS_RAM", ram0); | ||
| 81 | |||
| 82 | /* RAM region to be used for the default heap.*/ | ||
| 83 | REGION_ALIAS("HEAP_RAM", ram0); | ||
| 84 | 6 | ||
| 85 | /* Generic rules inclusion.*/ | 7 | f4xx_flash_size = 1M; |
| 86 | INCLUDE rules.ld | 8 | f4xx_ram1_size = 112k; |
| 9 | f4xx_ram2_size = 16k; | ||
| 10 | f4xx_ram4_size = 64k; | ||
| 11 | f4xx_ram5_size = 4k; | ||
| 87 | 12 | ||
| 88 | /* TinyUF2 bootloader reset support */ | 13 | INCLUDE stm32f4xx_tinyuf2_common.ld |
| 89 | _board_dfu_dbl_tap = ORIGIN(ram0) + 64k - 4; /* this is based off the linker file for tinyuf2 */ | ||
diff --git a/platforms/chibios/boards/common/ld/STM32F407xE.ld b/platforms/chibios/boards/common/ld/STM32F407xE.ld new file mode 100644 index 0000000000..66dd991163 --- /dev/null +++ b/platforms/chibios/boards/common/ld/STM32F407xE.ld | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | /* | ||
| 2 | * Copyright 2006..2018 Giovanni Di Sirio | ||
| 3 | * Copyright 2022 QMK contributors | ||
| 4 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 5 | */ | ||
| 6 | |||
| 7 | f4xx_flash_size = 512k; | ||
| 8 | f4xx_ram1_size = 112k; | ||
| 9 | f4xx_ram2_size = 16k; | ||
| 10 | f4xx_ram4_size = 64k; | ||
| 11 | f4xx_ram5_size = 4k; | ||
| 12 | |||
| 13 | INCLUDE stm32f4xx_common.ld | ||
diff --git a/platforms/chibios/boards/common/ld/STM32F407xE_tinyuf2.ld b/platforms/chibios/boards/common/ld/STM32F407xE_tinyuf2.ld new file mode 100644 index 0000000000..0cb7b89636 --- /dev/null +++ b/platforms/chibios/boards/common/ld/STM32F407xE_tinyuf2.ld | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | /* | ||
| 2 | * Copyright 2006..2018 Giovanni Di Sirio | ||
| 3 | * Copyright 2022 QMK contributors | ||
| 4 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 5 | */ | ||
| 6 | |||
| 7 | f4xx_flash_size = 512k; | ||
| 8 | f4xx_ram1_size = 112k; | ||
| 9 | f4xx_ram2_size = 16k; | ||
| 10 | f4xx_ram4_size = 64k; | ||
| 11 | f4xx_ram5_size = 4k; | ||
| 12 | |||
| 13 | INCLUDE stm32f4xx_tinyuf2_common.ld | ||
diff --git a/platforms/chibios/boards/common/ld/STM32F411xC.ld b/platforms/chibios/boards/common/ld/STM32F411xC.ld index 7827c9c7d2..5e3f7e034b 100644 --- a/platforms/chibios/boards/common/ld/STM32F411xC.ld +++ b/platforms/chibios/boards/common/ld/STM32F411xC.ld | |||
| @@ -5,6 +5,9 @@ | |||
| 5 | */ | 5 | */ |
| 6 | 6 | ||
| 7 | f4xx_flash_size = 256k; | 7 | f4xx_flash_size = 256k; |
| 8 | f4xx_ram_size = 128k; | 8 | f4xx_ram1_size = 128k; |
| 9 | f4xx_ram2_size = 0; | ||
| 10 | f4xx_ram4_size = 0; | ||
| 11 | f4xx_ram5_size = 0; | ||
| 9 | 12 | ||
| 10 | INCLUDE stm32f4xx_common.ld | 13 | INCLUDE stm32f4xx_common.ld |
diff --git a/platforms/chibios/boards/common/ld/STM32F411xC_tinyuf2.ld b/platforms/chibios/boards/common/ld/STM32F411xC_tinyuf2.ld index 0367b49f8f..63a33309fd 100644 --- a/platforms/chibios/boards/common/ld/STM32F411xC_tinyuf2.ld +++ b/platforms/chibios/boards/common/ld/STM32F411xC_tinyuf2.ld | |||
| @@ -5,6 +5,9 @@ | |||
| 5 | */ | 5 | */ |
| 6 | 6 | ||
| 7 | f4xx_flash_size = 256k; | 7 | f4xx_flash_size = 256k; |
| 8 | f4xx_ram_size = 128k; | 8 | f4xx_ram1_size = 128k; |
| 9 | f4xx_ram2_size = 0; | ||
| 10 | f4xx_ram4_size = 0; | ||
| 11 | f4xx_ram5_size = 0; | ||
| 9 | 12 | ||
| 10 | INCLUDE stm32f4xx_tinyuf2_common.ld | 13 | INCLUDE stm32f4xx_tinyuf2_common.ld |
diff --git a/platforms/chibios/boards/common/ld/STM32F411xE.ld b/platforms/chibios/boards/common/ld/STM32F411xE.ld index c621ede53a..c798a775e9 100644 --- a/platforms/chibios/boards/common/ld/STM32F411xE.ld +++ b/platforms/chibios/boards/common/ld/STM32F411xE.ld | |||
| @@ -5,6 +5,9 @@ | |||
| 5 | */ | 5 | */ |
| 6 | 6 | ||
| 7 | f4xx_flash_size = 512k; | 7 | f4xx_flash_size = 512k; |
| 8 | f4xx_ram_size = 128k; | 8 | f4xx_ram1_size = 128k; |
| 9 | f4xx_ram2_size = 0; | ||
| 10 | f4xx_ram4_size = 0; | ||
| 11 | f4xx_ram5_size = 0; | ||
| 9 | 12 | ||
| 10 | INCLUDE stm32f4xx_common.ld | 13 | INCLUDE stm32f4xx_common.ld |
diff --git a/platforms/chibios/boards/common/ld/STM32F411xE_tinyuf2.ld b/platforms/chibios/boards/common/ld/STM32F411xE_tinyuf2.ld index d982f7fb8f..25253f5590 100644 --- a/platforms/chibios/boards/common/ld/STM32F411xE_tinyuf2.ld +++ b/platforms/chibios/boards/common/ld/STM32F411xE_tinyuf2.ld | |||
| @@ -5,6 +5,9 @@ | |||
| 5 | */ | 5 | */ |
| 6 | 6 | ||
| 7 | f4xx_flash_size = 512k; | 7 | f4xx_flash_size = 512k; |
| 8 | f4xx_ram_size = 128k; | 8 | f4xx_ram1_size = 128k; |
| 9 | f4xx_ram2_size = 0; | ||
| 10 | f4xx_ram4_size = 0; | ||
| 11 | f4xx_ram5_size = 0; | ||
| 9 | 12 | ||
| 10 | INCLUDE stm32f4xx_tinyuf2_common.ld | 13 | INCLUDE stm32f4xx_tinyuf2_common.ld |
diff --git a/platforms/chibios/boards/common/ld/STM32F446xE.ld b/platforms/chibios/boards/common/ld/STM32F446xE.ld new file mode 100644 index 0000000000..6e6c5dd3a4 --- /dev/null +++ b/platforms/chibios/boards/common/ld/STM32F446xE.ld | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | /* | ||
| 2 | * Copyright 2006..2018 Giovanni Di Sirio | ||
| 3 | * Copyright 2022 QMK contributors | ||
| 4 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 5 | */ | ||
| 6 | |||
| 7 | f4xx_flash_size = 512k; | ||
| 8 | f4xx_ram1_size = 112k; | ||
| 9 | f4xx_ram2_size = 16k; | ||
| 10 | f4xx_ram4_size = 0; | ||
| 11 | f4xx_ram5_size = 4k; | ||
| 12 | |||
| 13 | INCLUDE stm32f4xx_common.ld | ||
diff --git a/platforms/chibios/boards/common/ld/STM32F446xE_tinyuf2.ld b/platforms/chibios/boards/common/ld/STM32F446xE_tinyuf2.ld new file mode 100644 index 0000000000..676ffbdf0c --- /dev/null +++ b/platforms/chibios/boards/common/ld/STM32F446xE_tinyuf2.ld | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | /* | ||
| 2 | * Copyright 2006..2018 Giovanni Di Sirio | ||
| 3 | * Copyright 2022 QMK contributors | ||
| 4 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 5 | */ | ||
| 6 | |||
| 7 | f4xx_flash_size = 512k; | ||
| 8 | f4xx_ram1_size = 112k; | ||
| 9 | f4xx_ram2_size = 16k; | ||
| 10 | f4xx_ram4_size = 0; | ||
| 11 | f4xx_ram5_size = 4k; | ||
| 12 | |||
| 13 | INCLUDE stm32f4xx_tinyuf2_common.ld | ||
diff --git a/platforms/chibios/boards/common/ld/stm32f4xx_common.ld b/platforms/chibios/boards/common/ld/stm32f4xx_common.ld index 1ddf7e96bc..d5c7c73626 100644 --- a/platforms/chibios/boards/common/ld/stm32f4xx_common.ld +++ b/platforms/chibios/boards/common/ld/stm32f4xx_common.ld | |||
| @@ -24,12 +24,12 @@ MEMORY | |||
| 24 | flash5 (rx) : org = 0x00000000, len = 0 | 24 | flash5 (rx) : org = 0x00000000, len = 0 |
| 25 | flash6 (rx) : org = 0x00000000, len = 0 | 25 | flash6 (rx) : org = 0x00000000, len = 0 |
| 26 | flash7 (rx) : org = 0x00000000, len = 0 | 26 | flash7 (rx) : org = 0x00000000, len = 0 |
| 27 | ram0 (wx) : org = 0x20000000, len = f4xx_ram_size | 27 | ram0 (wx) : org = 0x20000000, len = f4xx_ram1_size + f4xx_ram2_size /* SRAM1 + SRAM2 */ |
| 28 | ram1 (wx) : org = 0x00000000, len = 0 | 28 | ram1 (wx) : org = 0x20000000, len = f4xx_ram1_size /* SRAM1 */ |
| 29 | ram2 (wx) : org = 0x00000000, len = 0 | 29 | ram2 (wx) : org = 0x20000000 + f4xx_ram1_size, len = f4xx_ram2_size /* SRAM2 */ |
| 30 | ram3 (wx) : org = 0x00000000, len = 0 | 30 | ram3 (wx) : org = 0x00000000, len = 0 |
| 31 | ram4 (wx) : org = 0x00000000, len = 0 | 31 | ram4 (wx) : org = 0x10000000, len = f4xx_ram4_size /* CCM SRAM */ |
| 32 | ram5 (wx) : org = 0x00000000, len = 0 | 32 | ram5 (wx) : org = 0x40024000, len = f4xx_ram5_size /* BCKP SRAM */ |
| 33 | ram6 (wx) : org = 0x00000000, len = 0 | 33 | ram6 (wx) : org = 0x00000000, len = 0 |
| 34 | ram7 (wx) : org = 0x00000000, len = 0 | 34 | ram7 (wx) : org = 0x00000000, len = 0 |
| 35 | } | 35 | } |
| @@ -80,4 +80,3 @@ REGION_ALIAS("HEAP_RAM", ram0); | |||
| 80 | 80 | ||
| 81 | /* Generic rules inclusion.*/ | 81 | /* Generic rules inclusion.*/ |
| 82 | INCLUDE rules.ld | 82 | INCLUDE rules.ld |
| 83 | |||
diff --git a/platforms/chibios/boards/common/ld/stm32f4xx_tinyuf2_common.ld b/platforms/chibios/boards/common/ld/stm32f4xx_tinyuf2_common.ld index ab03a9e683..d995bd014a 100644 --- a/platforms/chibios/boards/common/ld/stm32f4xx_tinyuf2_common.ld +++ b/platforms/chibios/boards/common/ld/stm32f4xx_tinyuf2_common.ld | |||
| @@ -27,12 +27,12 @@ MEMORY | |||
| 27 | flash5 (rx) : org = 0x00000000, len = 0 | 27 | flash5 (rx) : org = 0x00000000, len = 0 |
| 28 | flash6 (rx) : org = 0x00000000, len = 0 | 28 | flash6 (rx) : org = 0x00000000, len = 0 |
| 29 | flash7 (rx) : org = 0x00000000, len = 0 | 29 | flash7 (rx) : org = 0x00000000, len = 0 |
| 30 | ram0 (wx) : org = 0x20000000, len = f4xx_ram_size | 30 | ram0 (wx) : org = 0x20000000, len = f4xx_ram1_size + f4xx_ram2_size /* SRAM1 + SRAM2 */ |
| 31 | ram1 (wx) : org = 0x00000000, len = 0 | 31 | ram1 (wx) : org = 0x20000000, len = f4xx_ram1_size /* SRAM1 */ |
| 32 | ram2 (wx) : org = 0x00000000, len = 0 | 32 | ram2 (wx) : org = 0x20000000 + f4xx_ram1_size, len = f4xx_ram2_size /* SRAM2 */ |
| 33 | ram3 (wx) : org = 0x00000000, len = 0 | 33 | ram3 (wx) : org = 0x00000000, len = 0 |
| 34 | ram4 (wx) : org = 0x00000000, len = 0 | 34 | ram4 (wx) : org = 0x10000000, len = f4xx_ram4_size /* CCM SRAM */ |
| 35 | ram5 (wx) : org = 0x00000000, len = 0 | 35 | ram5 (wx) : org = 0x40024000, len = f4xx_ram5_size /* BCKP SRAM */ |
| 36 | ram6 (wx) : org = 0x00000000, len = 0 | 36 | ram6 (wx) : org = 0x00000000, len = 0 |
| 37 | ram7 (wx) : org = 0x00000000, len = 0 | 37 | ram7 (wx) : org = 0x00000000, len = 0 |
| 38 | } | 38 | } |
| @@ -86,5 +86,3 @@ INCLUDE rules.ld | |||
| 86 | 86 | ||
| 87 | /* TinyUF2 bootloader reset support */ | 87 | /* TinyUF2 bootloader reset support */ |
| 88 | _board_dfu_dbl_tap = ORIGIN(ram0) + 64k - 4; /* this is based off the linker file for tinyuf2 */ | 88 | _board_dfu_dbl_tap = ORIGIN(ram0) + 64k - 4; /* this is based off the linker file for tinyuf2 */ |
| 89 | |||
| 90 | |||
