🔨 Fix some build_flags inheritance

This commit is contained in:
Scott Lahteine
2025-05-05 21:07:47 -05:00
parent 3a3c3b8a22
commit b7a1681d38
3 changed files with 40 additions and 18 deletions
@@ -0,0 +1,23 @@
# Marlin Custom Variants
This `buildroot/share/PlatformIO/variants` folder contains Marlin custom variants for both generic and custom boards.
Marlin specifies board variants in PlatformIO INI files in one of two ways:
- The `board_build.variant = VARIANT_MAME` field specifies the variant subfolder name directly.
- The `board = board_name` field names a custom board JSON file that contains a `build.variant` field.
## Variant File Naming
With the latest STM32 platform (17.x) the `variant.h` and `variant.cpp` files are required to have more unique names. If the variant is based on a generic board definition the name `variant_generic.h`/`.cpp` should be used. Otherwise, the capitalized name of the `board` should be used.
### Examples
| board | board file | variant | Variant Files |
|-------|------------|---------|---------------|
|`marlin_STM32F407VGT6_CCM`|`marlin_STM32F407VGT6_CCM.json`|`MARLIN_BTT_E3_RRF`|`variants/MARLIN_BTT_E3_RRF/variant.*`|
|`genericSTM32F103VE`|n/a|`MARLIN_F103Vx`|`variants/MARLIN_F103Vx/variant_generic.*`|
|`marlin_STM32F407ZE`|`marlin_STM32F407ZE.json`|`MARLIN_F407ZE`|`variants/MARLIN_F407ZE/variant_MARLIN_F407ZE.*`|
# Marlin Custom Boards
The `buildroot/share/PlatformIO/boards` folder contains Marlin's custom board definition JSON files. These files provide hardware IDs, board statistics, additional build flags, custom variant name, linker definition filename, remote debug options, upload devices, etc.
+1 -2
View File
@@ -41,6 +41,5 @@ extra_scripts = ${common_stm32.extra_scripts}
[stm_flash_drive]
# Arduino_Core_STM32 uses usb-host-msc-cdc-msc-3 branch
platform_packages = framework-arduinoststm32@https://github.com/rhapsodyv/Arduino_Core_STM32/archive/39f37d6d6a.zip
build_flags = ${common_stm32.build_flags}
-DHAL_PCD_MODULE_ENABLED -DHAL_HCD_MODULE_ENABLED
build_flags = -DHAL_PCD_MODULE_ENABLED -DHAL_HCD_MODULE_ENABLED
-DUSBHOST -DUSBH_IRQ_PRIO=3 -DUSBH_IRQ_SUBPRIO=4
+16 -16
View File
@@ -219,7 +219,7 @@ upload_protocol = stlink
[env:BTT_SKR_PRO_usb_flash_drive]
extends = env:BTT_SKR_PRO
platform_packages = ${stm_flash_drive.platform_packages}
build_flags = ${stm_flash_drive.build_flags} -DSTM32F407_5ZX
build_flags = ${env:BTT_SKR_PRO.build_flags} ${stm_flash_drive.build_flags} -DSTM32F407_5ZX
build_unflags = ${env:BTT_SKR_PRO.build_unflags} -DUSBCON -DUSBD_USE_CDC
#
@@ -266,7 +266,7 @@ build_flags = ${stm32_variant.build_flags} -DSTM32F407IX
[env:BTT_GTR_V1_0_usb_flash_drive]
extends = env:BTT_GTR_V1_0
platform_packages = ${stm_flash_drive.platform_packages}
build_flags = ${stm_flash_drive.build_flags} -DSTM32F407IX
build_flags = ${env:BTT_GTR_V1_0.build_flags} ${stm_flash_drive.build_flags} -DSTM32F407IX
build_unflags = ${env:BTT_GTR_V1_0.build_unflags} -DUSBCON -DUSBD_USE_CDC
#
@@ -304,7 +304,7 @@ board = marlin_STM32F407VGT6_CCM
board_build.variant = MARLIN_F4x7Vx
board_build.offset = 0x8000
board_upload.offset_address = 0x08008000
build_flags = ${stm_flash_drive.build_flags} ${USB_HS_IN_FS.build_flags}
build_flags = ${stm32_variant.build_flags} ${stm_flash_drive.build_flags} ${USB_HS_IN_FS.build_flags}
-DHSE_VALUE=8000000U -DHAL_SD_MODULE_ENABLED
-DPIN_SERIAL3_RX=PD_9 -DPIN_SERIAL3_TX=PD_8
upload_protocol = stlink
@@ -362,7 +362,7 @@ build_flags = ${stm32_variant.build_flags}
extends = env:STM32F446ZE_btt
platform_packages = ${stm_flash_drive.platform_packages}
build_unflags = -DUSBD_USE_CDC
build_flags = ${stm_flash_drive.build_flags} -DSTM32F446_5VX
build_flags = ${env:STM32F446ZE_btt.build_flags} ${stm_flash_drive.build_flags} -DSTM32F446_5VX
${USB_HS_IN_FS.build_flags} -DUSBD_USE_CDC_MSC
#
@@ -385,7 +385,7 @@ build_flags = ${stm32_variant.build_flags}
extends = env:STM32F429ZG_btt
platform_packages = ${stm_flash_drive.platform_packages}
build_unflags = -DUSBD_USE_CDC
build_flags = ${stm_flash_drive.build_flags}
build_flags = ${env:STM32F429ZG_btt.build_flags} ${stm_flash_drive.build_flags}
${USB_HS_IN_FS.build_flags} -DUSBD_USE_CDC_MSC
#
@@ -406,7 +406,7 @@ build_flags = ${stm32_variant.build_flags}
extends = env:STM32F407ZE_btt
platform_packages = ${stm_flash_drive.platform_packages}
build_unflags = -DUSBD_USE_CDC
build_flags = ${stm_flash_drive.build_flags} ${USB_HS_IN_FS.build_flags} -DUSBD_USE_CDC_MSC
build_flags = ${env:STM32F407ZE_btt.build_flags} ${stm_flash_drive.build_flags} ${USB_HS_IN_FS.build_flags} -DUSBD_USE_CDC_MSC
#
# Lerdge base
@@ -438,7 +438,7 @@ board_build.crypt_lerdge = Lerdge_X_firmware_force.bin
[env:LERDGEX_usb_flash_drive]
extends = env:LERDGEX
platform_packages = ${stm_flash_drive.platform_packages}
build_flags = ${stm_flash_drive.build_flags} ${lerdge_common.build_flags}
build_flags = ${env:LERDGEX.build_flags} ${stm_flash_drive.build_flags}
#
# Lerdge S (STM32F407ZG)
@@ -453,7 +453,7 @@ board_build.crypt_lerdge = Lerdge_firmware_force.bin
[env:LERDGES_usb_flash_drive]
extends = env:LERDGES
platform_packages = ${stm_flash_drive.platform_packages}
build_flags = ${stm_flash_drive.build_flags} ${lerdge_common.build_flags}
build_flags = ${env:LERDGES.build_flags} ${stm_flash_drive.build_flags}
#
# Lerdge K (STM32F407ZG)
@@ -469,7 +469,7 @@ build_flags = ${lerdge_common.build_flags} -DLERDGEK
[env:LERDGEK_usb_flash_drive]
extends = env:LERDGEK
platform_packages = ${stm_flash_drive.platform_packages}
build_flags = ${stm_flash_drive.build_flags} ${lerdge_common.build_flags}
build_flags = ${env:LERDGEK.build_flags} ${stm_flash_drive.build_flags}
#
# RUMBA32
@@ -512,7 +512,7 @@ board = genericSTM32F407VET6
board_build.variant = MARLIN_F4x7Vx
board_build.offset = 0x0000
board_upload.offset_address = 0x08000000
build_flags = ${stm_flash_drive.build_flags}
build_flags = ${stm32_variant.build_flags} ${stm_flash_drive.build_flags}
build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC
debug_tool = jlink
upload_protocol = jlink
@@ -544,7 +544,7 @@ upload_protocol = jlink
[env:mks_robin_nano_v3_usb_flash_drive]
extends = env:mks_robin_nano_v3
platform_packages = ${stm_flash_drive.platform_packages}
build_flags = ${stm_flash_drive.build_flags} ${stm32f4_I2C1.build_flags} ${USB_HS_IN_FS.build_flags}
build_flags = ${env:mks_robin_nano_v3.build_flags} ${stm_flash_drive.build_flags} ${stm32f4_I2C1.build_flags} ${USB_HS_IN_FS.build_flags}
#
# MKS Robin Nano V3 with USB Flash Drive Support and Shared Media
@@ -600,7 +600,7 @@ upload_protocol = jlink
[env:mks_eagle_usb_flash_drive]
extends = env:mks_eagle
platform_packages = ${stm_flash_drive.platform_packages}
build_flags = ${stm_flash_drive.build_flags} ${stm32f4_I2C1.build_flags} ${USB_HS_IN_FS.build_flags}
build_flags = ${env:mks_eagle.build_flags} ${stm_flash_drive.build_flags} ${stm32f4_I2C1.build_flags} ${USB_HS_IN_FS.build_flags}
#
# MKS Eagle with USB Flash Drive Support and Shared Media
@@ -699,9 +699,9 @@ board_build.offset = 0xC000
board_upload.offset_address = 0x0800C000
board_build.rename = elegoo.bin
platform_packages = ${stm_flash_drive.platform_packages}
build_flags = ${stm32_variant.build_flags} ${stm32f4_I2C1.build_flags}
${stm_flash_drive.build_flags} ${USB_HS_IN_FS.build_flags}
-DHAL_PCD_MODULE_ENABLED -DHAL_SD_MODULE_ENABLED -DHAL_SRAM_MODULE_ENABLED
build_flags = ${stm32_variant.build_flags} ${stm_flash_drive.build_flags}
${stm32f4_I2C1.build_flags} ${USB_HS_IN_FS.build_flags}
-DHAL_SD_MODULE_ENABLED -DHAL_SRAM_MODULE_ENABLED
-DMCU_STM32F407VE -DSS_TIMER=4 -DENABLE_HWSERIAL3
-DSTM32_FLASH_SIZE=512
-DTIMER_TONE=TIM3 -DTIMER_SERVO=TIM2
@@ -997,6 +997,6 @@ board = marlin_STM32F407VGT6_CCM
board_build.variant = MARLIN_F4x7Vx
board_build.offset = 0x8000
board_upload.offset_address = 0x08008000
build_flags = ${stm_flash_drive.build_flags} ${USB_HS_IN_FS.build_flags}
build_flags = ${stm32_variant.build_flags} ${stm_flash_drive.build_flags} ${USB_HS_IN_FS.build_flags}
-DHSE_VALUE=8000000U -DHAL_SD_MODULE_ENABLED
-DPIN_SERIAL3_RX=PD_9 -DPIN_SERIAL3_TX=PD_8