From 2b0a30a2c512c116c53710f4aac34f3140b321e6 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Mon, 6 May 2019 10:14:18 +1000 Subject: [PATCH] HAL_ChibiOS: ensure we don't overflow bootloader area this modifies the ld script to use the maximum size available for the bootloader, so we can't accidentially grow the bootloader beyond its max size --- libraries/AP_HAL_ChibiOS/hwdef/CUAVv5Nano/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/CubeOrange/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/CubeYellow/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/DrotekP3Pro/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/F35Lightning/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/F4BY/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/KakuteF4/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/KakuteF7/hwdef-bl.dat | 2 +- .../AP_HAL_ChibiOS/hwdef/MatekF405-Wing/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/MatekF405/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/NucleoH743/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/OMNIBUSF7V2/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/OmnibusNanoV6/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/Pixhawk6/hwdef-bl.dat | 2 +- .../AP_HAL_ChibiOS/hwdef/TBS-Colibri-F7/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/VRBrain-v51/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/VRBrain-v52/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/VRBrain-v54/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/VRCore-v10/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/VRUBrain-v51/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/airbotf4/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/fmuv3/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/fmuv4/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/fmuv5/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/mRoX21-777/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/mindpx-v2/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/mini-pix/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/omnibusf4pro/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/omnibusf4v6/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/revo-mini/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/scripts/chibios_hwdef.py | 8 +++++++- libraries/AP_HAL_ChibiOS/hwdef/sparky2/hwdef-bl.dat | 2 +- libraries/AP_HAL_ChibiOS/hwdef/speedybeef4/hwdef-bl.dat | 2 +- 33 files changed, 39 insertions(+), 33 deletions(-) diff --git a/libraries/AP_HAL_ChibiOS/hwdef/CUAVv5Nano/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/CUAVv5Nano/hwdef-bl.dat index 60fc56b8e3..fc8e29c71a 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/CUAVv5Nano/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/CUAVv5Nano/hwdef-bl.dat @@ -24,7 +24,7 @@ FLASH_SIZE_KB 2048 FLASH_RESERVE_START_KB 0 # the location where the bootloader will put the firmware -define FLASH_BOOTLOADER_LOAD_KB 32 +FLASH_BOOTLOADER_LOAD_KB 32 # start with PE3 low undef PE3 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/CubeOrange/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/CubeOrange/hwdef-bl.dat index a4268ac223..057f1dde8e 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/CubeOrange/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/CubeOrange/hwdef-bl.dat @@ -24,7 +24,7 @@ FLASH_RESERVE_START_KB 0 # the location where the bootloader will put the firmware # the H743 has 128k sectors -define FLASH_BOOTLOADER_LOAD_KB 128 +FLASH_BOOTLOADER_LOAD_KB 128 define HAL_LED_ON 0 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/CubeYellow/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/CubeYellow/hwdef-bl.dat index f18da42d16..493dea280d 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/CubeYellow/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/CubeYellow/hwdef-bl.dat @@ -63,7 +63,7 @@ PA14 JTCK-SWCLK SWD FLASH_RESERVE_START_KB 0 # start on 4th sector (1st sector for bootloader, 2 for extra storage) -define FLASH_BOOTLOADER_LOAD_KB 96 +FLASH_BOOTLOADER_LOAD_KB 96 define HAL_USE_EMPTY_STORAGE 1 define HAL_STORAGE_SIZE 16384 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/DrotekP3Pro/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/DrotekP3Pro/hwdef-bl.dat index 59d9ccef01..99abc0f1ba 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/DrotekP3Pro/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/DrotekP3Pro/hwdef-bl.dat @@ -20,7 +20,7 @@ STM32_ST_USE_TIMER 5 FLASH_SIZE_KB 2048 # location of application code -define FLASH_BOOTLOADER_LOAD_KB 16 +FLASH_BOOTLOADER_LOAD_KB 16 # bootloader loads at start of flash FLASH_RESERVE_START_KB 0 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/F35Lightning/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/F35Lightning/hwdef-bl.dat index 9f3bb4c8d1..1cbe116dcb 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/F35Lightning/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/F35Lightning/hwdef-bl.dat @@ -17,7 +17,7 @@ FLASH_RESERVE_START_KB 0 FLASH_SIZE_KB 1024 # the location where the bootloader will put the firmware -define FLASH_BOOTLOADER_LOAD_KB 64 +FLASH_BOOTLOADER_LOAD_KB 64 define HAL_STORAGE_SIZE 15360 define STORAGE_FLASH_PAGE 1 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/F4BY/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/F4BY/hwdef-bl.dat index 21d2f5249a..d699954458 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/F4BY/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/F4BY/hwdef-bl.dat @@ -42,4 +42,4 @@ define HAL_USE_EMPTY_STORAGE 1 define HAL_STORAGE_SIZE 16384 # location of application code -define FLASH_BOOTLOADER_LOAD_KB 16 +FLASH_BOOTLOADER_LOAD_KB 16 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/KakuteF4/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/KakuteF4/hwdef-bl.dat index 3cacb8280c..537363cd93 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/KakuteF4/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/KakuteF4/hwdef-bl.dat @@ -20,7 +20,7 @@ PB5 LED_BOOTLOADER OUTPUT LOW define HAL_LED_ON 0 # the location where the bootloader will put the firmware -define FLASH_BOOTLOADER_LOAD_KB 64 +FLASH_BOOTLOADER_LOAD_KB 64 # board voltage STM32_VDD 330U diff --git a/libraries/AP_HAL_ChibiOS/hwdef/KakuteF7/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/KakuteF7/hwdef-bl.dat index 3bbdb78c51..210b6f0465 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/KakuteF7/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/KakuteF7/hwdef-bl.dat @@ -25,7 +25,7 @@ FLASH_SIZE_KB 1024 FLASH_RESERVE_START_KB 0 # the location where the bootloader will put the firmware -define FLASH_BOOTLOADER_LOAD_KB 96 +FLASH_BOOTLOADER_LOAD_KB 96 # board voltage STM32_VDD 330U diff --git a/libraries/AP_HAL_ChibiOS/hwdef/MatekF405-Wing/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/MatekF405-Wing/hwdef-bl.dat index fa1abebbc5..5f50ca5e17 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/MatekF405-Wing/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/MatekF405-Wing/hwdef-bl.dat @@ -17,7 +17,7 @@ FLASH_RESERVE_START_KB 0 FLASH_SIZE_KB 1024 # the location where the bootloader will put the firmware -define FLASH_BOOTLOADER_LOAD_KB 64 +FLASH_BOOTLOADER_LOAD_KB 64 define HAL_STORAGE_SIZE 15360 define STORAGE_FLASH_PAGE 1 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/MatekF405/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/MatekF405/hwdef-bl.dat index f423d637b2..4e9ec1c9eb 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/MatekF405/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/MatekF405/hwdef-bl.dat @@ -22,7 +22,7 @@ PA14 LED_ACTIVITY OUTPUT LOW define HAL_LED_ON 0 # the location where the bootloader will put the firmware -define FLASH_BOOTLOADER_LOAD_KB 64 +FLASH_BOOTLOADER_LOAD_KB 64 # board voltage STM32_VDD 330U diff --git a/libraries/AP_HAL_ChibiOS/hwdef/NucleoH743/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/NucleoH743/hwdef-bl.dat index cf7c7a3eec..ffd5a65cd0 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/NucleoH743/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/NucleoH743/hwdef-bl.dat @@ -20,7 +20,7 @@ FLASH_RESERVE_START_KB 0 # the location where the bootloader will put the firmware # the H743 has 128k sectors -define FLASH_BOOTLOADER_LOAD_KB 128 +FLASH_BOOTLOADER_LOAD_KB 128 # board voltage STM32_VDD 330U diff --git a/libraries/AP_HAL_ChibiOS/hwdef/OMNIBUSF7V2/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/OMNIBUSF7V2/hwdef-bl.dat index df71167291..8e6077e3c4 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/OMNIBUSF7V2/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/OMNIBUSF7V2/hwdef-bl.dat @@ -25,7 +25,7 @@ FLASH_SIZE_KB 1024 FLASH_RESERVE_START_KB 0 # the location where the bootloader will put the firmware -define FLASH_BOOTLOADER_LOAD_KB 96 +FLASH_BOOTLOADER_LOAD_KB 96 # board voltage STM32_VDD 330U diff --git a/libraries/AP_HAL_ChibiOS/hwdef/OmnibusNanoV6/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/OmnibusNanoV6/hwdef-bl.dat index 3ea849010f..aa095a851e 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/OmnibusNanoV6/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/OmnibusNanoV6/hwdef-bl.dat @@ -24,7 +24,7 @@ PA8 LED_BOOTLOADER OUTPUT LOW define HAL_LED_ON 0 # the location where the bootloader will put the firmware -define FLASH_BOOTLOADER_LOAD_KB 64 +FLASH_BOOTLOADER_LOAD_KB 64 # board voltage STM32_VDD 330U diff --git a/libraries/AP_HAL_ChibiOS/hwdef/Pixhawk6/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/Pixhawk6/hwdef-bl.dat index 8b63ac3edb..4c93876183 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/Pixhawk6/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/Pixhawk6/hwdef-bl.dat @@ -24,7 +24,7 @@ FLASH_RESERVE_START_KB 0 # the location where the bootloader will put the firmware # the H743 has 128k sectors -define FLASH_BOOTLOADER_LOAD_KB 128 +FLASH_BOOTLOADER_LOAD_KB 128 PB1 LED_RED OUTPUT LOW # red PC6 LED_ACTIVITY OUTPUT LOW # green diff --git a/libraries/AP_HAL_ChibiOS/hwdef/TBS-Colibri-F7/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/TBS-Colibri-F7/hwdef-bl.dat index 02292c634a..4c9eb4fed3 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/TBS-Colibri-F7/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/TBS-Colibri-F7/hwdef-bl.dat @@ -24,7 +24,7 @@ FLASH_SIZE_KB 2048 FLASH_RESERVE_START_KB 0 # the location where the bootloader will put the firmware -define FLASH_BOOTLOADER_LOAD_KB 32 +FLASH_BOOTLOADER_LOAD_KB 32 # enabling PE3 on the Colibri causes it to reset on startup undef PE3 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/VRBrain-v51/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/VRBrain-v51/hwdef-bl.dat index b52374a226..c7e7d9162a 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/VRBrain-v51/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/VRBrain-v51/hwdef-bl.dat @@ -31,7 +31,7 @@ FLASH_USE_MAX_KB 16 FLASH_RESERVE_START_KB 0 # the location where the bootloader will put the firmware -define FLASH_BOOTLOADER_LOAD_KB 16 +FLASH_BOOTLOADER_LOAD_KB 16 # ChibiOS system timer STM32_ST_USE_TIMER 5 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/VRBrain-v52/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/VRBrain-v52/hwdef-bl.dat index cca127838a..5e4c3b85b0 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/VRBrain-v52/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/VRBrain-v52/hwdef-bl.dat @@ -31,7 +31,7 @@ FLASH_USE_MAX_KB 16 FLASH_RESERVE_START_KB 0 # the location where the bootloader will put the firmware -define FLASH_BOOTLOADER_LOAD_KB 16 +FLASH_BOOTLOADER_LOAD_KB 16 # ChibiOS system timer STM32_ST_USE_TIMER 5 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/VRBrain-v54/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/VRBrain-v54/hwdef-bl.dat index 0f34f099a5..505df5b73a 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/VRBrain-v54/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/VRBrain-v54/hwdef-bl.dat @@ -31,7 +31,7 @@ FLASH_USE_MAX_KB 16 FLASH_RESERVE_START_KB 0 # the location where the bootloader will put the firmware -define FLASH_BOOTLOADER_LOAD_KB 16 +FLASH_BOOTLOADER_LOAD_KB 16 # ChibiOS system timer STM32_ST_USE_TIMER 5 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/VRCore-v10/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/VRCore-v10/hwdef-bl.dat index e93a85696d..4e5643981c 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/VRCore-v10/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/VRCore-v10/hwdef-bl.dat @@ -31,7 +31,7 @@ FLASH_USE_MAX_KB 16 FLASH_RESERVE_START_KB 0 # the location where the bootloader will put the firmware -define FLASH_BOOTLOADER_LOAD_KB 16 +FLASH_BOOTLOADER_LOAD_KB 16 # ChibiOS system timer STM32_ST_USE_TIMER 5 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/VRUBrain-v51/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/VRUBrain-v51/hwdef-bl.dat index 1d6a1051d7..7fd19bbcdc 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/VRUBrain-v51/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/VRUBrain-v51/hwdef-bl.dat @@ -31,7 +31,7 @@ FLASH_USE_MAX_KB 16 FLASH_RESERVE_START_KB 0 # the location where the bootloader will put the firmware -define FLASH_BOOTLOADER_LOAD_KB 64 +FLASH_BOOTLOADER_LOAD_KB 64 # ChibiOS system timer STM32_ST_USE_TIMER 5 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/airbotf4/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/airbotf4/hwdef-bl.dat index 5265ad9b52..a5810ea402 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/airbotf4/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/airbotf4/hwdef-bl.dat @@ -24,7 +24,7 @@ PB5 LED_BOOTLOADER OUTPUT LOW define HAL_LED_ON 0 # the location where the bootloader will put the firmware -define FLASH_BOOTLOADER_LOAD_KB 64 +FLASH_BOOTLOADER_LOAD_KB 64 # board voltage STM32_VDD 330U diff --git a/libraries/AP_HAL_ChibiOS/hwdef/fmuv3/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/fmuv3/hwdef-bl.dat index 08ff27ff11..195f022a7b 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/fmuv3/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/fmuv3/hwdef-bl.dat @@ -20,7 +20,7 @@ STM32_ST_USE_TIMER 5 FLASH_SIZE_KB 2048 # location of application code -define FLASH_BOOTLOADER_LOAD_KB 16 +FLASH_BOOTLOADER_LOAD_KB 16 # bootloader loads at start of flash FLASH_RESERVE_START_KB 0 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/fmuv4/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/fmuv4/hwdef-bl.dat index 9550ba6ff9..fd034c3236 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/fmuv4/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/fmuv4/hwdef-bl.dat @@ -43,7 +43,7 @@ PD6 USART2_RX USART2 define HAL_STORAGE_SIZE 16384 # location of application code -define FLASH_BOOTLOADER_LOAD_KB 16 +FLASH_BOOTLOADER_LOAD_KB 16 # bootloader loads at start of flash FLASH_RESERVE_START_KB 0 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/fmuv5/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/fmuv5/hwdef-bl.dat index c21e687b51..2f8b54c462 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/fmuv5/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/fmuv5/hwdef-bl.dat @@ -24,7 +24,7 @@ FLASH_SIZE_KB 2048 FLASH_RESERVE_START_KB 0 # the location where the bootloader will put the firmware -define FLASH_BOOTLOADER_LOAD_KB 32 +FLASH_BOOTLOADER_LOAD_KB 32 PC6 LED_BOOTLOADER OUTPUT HIGH PC7 LED_ACTIVITY OUTPUT HIGH diff --git a/libraries/AP_HAL_ChibiOS/hwdef/mRoX21-777/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/mRoX21-777/hwdef-bl.dat index 82d8b1f252..375f346de0 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/mRoX21-777/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/mRoX21-777/hwdef-bl.dat @@ -70,7 +70,7 @@ PA14 JTCK-SWCLK SWD FLASH_RESERVE_START_KB 0 # start on 4th sector (1st sector for bootloader, 2 for extra storage) -define FLASH_BOOTLOADER_LOAD_KB 96 +FLASH_BOOTLOADER_LOAD_KB 96 define HAL_USE_EMPTY_STORAGE 1 define HAL_STORAGE_SIZE 16384 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/mindpx-v2/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/mindpx-v2/hwdef-bl.dat index e3597e9826..1ab627eb0b 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/mindpx-v2/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/mindpx-v2/hwdef-bl.dat @@ -23,7 +23,7 @@ STM32_VDD 330U FLASH_SIZE_KB 2048 # location of application code -define FLASH_BOOTLOADER_LOAD_KB 16 +FLASH_BOOTLOADER_LOAD_KB 16 # bootloader loads at start of flash FLASH_RESERVE_START_KB 0 diff --git a/libraries/AP_HAL_ChibiOS/hwdef/mini-pix/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/mini-pix/hwdef-bl.dat index 4e2110709d..a07019f3ba 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/mini-pix/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/mini-pix/hwdef-bl.dat @@ -25,7 +25,7 @@ PE12 LED_ACTIVITY OUTPUT LOW define HAL_LED_ON 0 # the location where the bootloader will put the firmware -define FLASH_BOOTLOADER_LOAD_KB 16 +FLASH_BOOTLOADER_LOAD_KB 16 # board voltage STM32_VDD 330U diff --git a/libraries/AP_HAL_ChibiOS/hwdef/omnibusf4pro/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/omnibusf4pro/hwdef-bl.dat index fcfff98be0..08c73bde58 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/omnibusf4pro/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/omnibusf4pro/hwdef-bl.dat @@ -24,7 +24,7 @@ PB5 LED_BOOTLOADER OUTPUT LOW define HAL_LED_ON 0 # the location where the bootloader will put the firmware -define FLASH_BOOTLOADER_LOAD_KB 64 +FLASH_BOOTLOADER_LOAD_KB 64 # board voltage STM32_VDD 330U diff --git a/libraries/AP_HAL_ChibiOS/hwdef/omnibusf4v6/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/omnibusf4v6/hwdef-bl.dat index 2f5cb8126a..435e142895 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/omnibusf4v6/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/omnibusf4v6/hwdef-bl.dat @@ -24,7 +24,7 @@ PA8 LED_BOOTLOADER OUTPUT LOW define HAL_LED_ON 0 # the location where the bootloader will put the firmware -define FLASH_BOOTLOADER_LOAD_KB 64 +FLASH_BOOTLOADER_LOAD_KB 64 # board voltage STM32_VDD 330U diff --git a/libraries/AP_HAL_ChibiOS/hwdef/revo-mini/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/revo-mini/hwdef-bl.dat index a035b9ab7e..f5bfe0c241 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/revo-mini/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/revo-mini/hwdef-bl.dat @@ -25,7 +25,7 @@ PB4 LED_ACTIVITY OUTPUT LOW define HAL_LED_ON 0 # the location where the bootloader will put the firmware -define FLASH_BOOTLOADER_LOAD_KB 64 +FLASH_BOOTLOADER_LOAD_KB 64 # board voltage STM32_VDD 330U diff --git a/libraries/AP_HAL_ChibiOS/hwdef/scripts/chibios_hwdef.py b/libraries/AP_HAL_ChibiOS/hwdef/scripts/chibios_hwdef.py index be998930bd..755f0a515d 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/scripts/chibios_hwdef.py +++ b/libraries/AP_HAL_ChibiOS/hwdef/scripts/chibios_hwdef.py @@ -573,6 +573,8 @@ def write_mcu_config(f): 'FLASH_RESERVE_START_KB', default=16, type=int) f.write('\n// location of loaded firmware\n') f.write('#define FLASH_LOAD_ADDRESS 0x%08x\n' % (0x08000000 + flash_reserve_start*1024)) + if args.bootloader: + f.write('#define FLASH_BOOTLOADER_LOAD_KB %u\n' % get_config('FLASH_BOOTLOADER_LOAD_KB', type=int)) f.write('\n') ram_map = get_mcu_config('RAM_MAP', True) @@ -657,7 +659,11 @@ def write_ldscript(fname): ram_map = get_mcu_config('RAM_MAP', True) flash_base = 0x08000000 + flash_reserve_start * 1024 - flash_length = flash_size - (flash_reserve_start + flash_reserve_end) + + if not args.bootloader: + flash_length = flash_size - (flash_reserve_start + flash_reserve_end) + else: + flash_length = get_config('FLASH_BOOTLOADER_LOAD_KB', type=int) print("Generating ldscript.ld") f = open(fname, 'w') diff --git a/libraries/AP_HAL_ChibiOS/hwdef/sparky2/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/sparky2/hwdef-bl.dat index 841e70e17f..aa434416b5 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/sparky2/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/sparky2/hwdef-bl.dat @@ -25,7 +25,7 @@ PB4 LED_ACTIVITY OUTPUT LOW define HAL_LED_ON 0 # the location where the bootloader will put the firmware -define FLASH_BOOTLOADER_LOAD_KB 64 +FLASH_BOOTLOADER_LOAD_KB 64 # board voltage STM32_VDD 330U diff --git a/libraries/AP_HAL_ChibiOS/hwdef/speedybeef4/hwdef-bl.dat b/libraries/AP_HAL_ChibiOS/hwdef/speedybeef4/hwdef-bl.dat index 7554ebcd62..3342ad27cd 100644 --- a/libraries/AP_HAL_ChibiOS/hwdef/speedybeef4/hwdef-bl.dat +++ b/libraries/AP_HAL_ChibiOS/hwdef/speedybeef4/hwdef-bl.dat @@ -24,7 +24,7 @@ PB5 LED_BOOTLOADER OUTPUT LOW define HAL_LED_ON 0 # the location where the bootloader will put the firmware -define FLASH_BOOTLOADER_LOAD_KB 64 +FLASH_BOOTLOADER_LOAD_KB 64 # board voltage STM32_VDD 330U