PIO base STM32 environment (#18116)

This commit is contained in:
Jason Smith 2020-06-07 18:29:10 -07:00 committed by GitHub
parent 89704ce7f9
commit 1a5663fbf4
Signed by: GitHub
GPG key ID: 4AEE18F83AFDEB23

View file

@ -21,7 +21,6 @@ boards_dir = buildroot/share/PlatformIO/boards
default_envs = mega2560
[common]
arduinoststm32_ver = >=4.10700,<4.10800
default_src_filter = +<src/*> -<src/config> -<src/HAL> +<src/HAL/shared>
extra_scripts = pre:buildroot/share/PlatformIO/scripts/common-cxxflags.py
build_flags = -fmax-errors=5 -g -D__MARLIN_FIRMWARE__ -fmerge-all-constants
@ -36,8 +35,21 @@ lib_deps =
SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip
SlowSoftI2CMaster=https://github.com/mikeshub/SlowSoftI2CMaster/archive/master.zip
[common_stm32f1]
# Common traits for environments using HAL/STM32
[common_stm32]
platform = ststm32@<6.2.0
platform_packages = framework-arduinoststm32@>=4.10700,<4.10800
lib_deps = ${common.lib_deps}
lib_ignore = SoftwareSerial
build_flags = ${common.build_flags}
-IMarlin/src/HAL/STM32 -std=gnu++14
-DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483
build_unflags = -std=gnu++11
src_filter = ${common.default_src_filter} +<src/HAL/STM32>
# Common traits for environments using HAL/STM32F1
[common_stm32f1]
platform = ${common_stm32.platform}
build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py
${common.build_flags} -std=gnu++14 -DHAVE_SW_SERIAL
build_unflags = -std=gnu++11
@ -386,7 +398,7 @@ lib_deps = ${common_stm32f1.lib_deps}
# STM32F4 with STM32GENERIC
#
[env:STM32F4]
platform = ststm32@<6.2.0
platform = ${common_stm32.platform}
board = disco_f407vg
build_flags = ${common.build_flags} -DUSE_STM32GENERIC -DSTM32GENERIC -DSTM32F4 -DMENU_USB_SERIAL -DMENU_SERIAL=SerialUSB -DHAL_IWDG_MODULE_ENABLED
lib_ignore = Adafruit NeoPixel, TMCStepper
@ -396,7 +408,7 @@ src_filter = ${common.default_src_filter} +<src/HAL/STM32_F4_F7> -<src/HAL/ST
# STM32F7 with STM32GENERIC
#
[env:STM32F7]
platform = ststm32@<6.2.0
platform = ${common_stm32.platform}
board = remram_v1
build_flags = ${common.build_flags} -DUSE_STM32GENERIC -DSTM32GENERIC -DSTM32F7 -DMENU_USB_SERIAL -DMENU_SERIAL=SerialUSB -DHAL_IWDG_MODULE_ENABLED
lib_ignore = Adafruit NeoPixel, TMCStepper
@ -406,15 +418,12 @@ src_filter = ${common.default_src_filter} +<src/HAL/STM32_F4_F7> -<src/HAL/ST
# ARMED (STM32)
#
[env:ARMED]
platform = ststm32@<6.2.0
platform_packages = framework-arduinoststm32@${common.arduinoststm32_ver}
platform = ${common_stm32.platform}
extends = common_stm32
board = armed_v1
build_flags = ${common.build_flags}
-DUSBCON -DUSBD_VID=0x0483 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="ARMED_V1"' -DUSBD_USE_CDC
-O2 -ffreestanding -fsigned-char -fno-move-loop-invariants -fno-strict-aliasing -std=gnu11 -std=gnu++11
-IMarlin/src/HAL/STM32
lib_ignore = Adafruit NeoPixel, SoftwareSerial
src_filter = ${common.default_src_filter} +<src/HAL/STM32>
build_flags = ${common_stm32.build_flags}
'-DUSB_PRODUCT="ARMED_V1"'
-O2 -ffreestanding -fsigned-char -fno-move-loop-invariants -fno-strict-aliasing
#
# Geeetech GTM32 (STM32F103VET6)
@ -548,14 +557,12 @@ lib_ignore = ${common_stm32f1.lib_ignore}
# Malyan M200 v2 (STM32F070RB)
#
[env:STM32F070RB_malyan]
platform = ststm32@<6.2.0
platform_packages = framework-arduinoststm32@${common.arduinoststm32_ver}
platform = ${common_stm32.platform}
extends = common_stm32
board = malyanM200v2
build_flags = -DSTM32F0xx -DUSBCON -DUSBD_VID=0x0483 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="ARMED_V1"' -DUSBD_USE_CDC -DHAL_PCD_MODULE_ENABLED
build_flags = ${common_stm32.build_flags} -DSTM32F0xx -DUSB_PRODUCT=\"STM32F070RB\" -DHAL_PCD_MODULE_ENABLED
-O2 -ffreestanding -fsigned-char -fno-move-loop-invariants -fno-strict-aliasing -std=gnu11 -std=gnu++11
-DCUSTOM_STARTUP_FILE
-IMarlin/src/HAL/STM32
src_filter = ${common.default_src_filter} +<src/HAL/STM32>
lib_ignore = LiquidCrystal, LiquidTWI2, Adafruit NeoPixel, TMCStepper, U8glib-HAL, SoftwareSerial
#
@ -588,56 +595,42 @@ build_unflags = ${common_stm32f1.build_unflags}
# 'STEVAL-3DP001V1' STM32F401VE board - https://www.st.com/en/evaluation-tools/steval-3dp001v1.html
#
[env:STM32F401VE_STEVAL]
platform = ststm32@<6.2.0
platform_packages = framework-arduinoststm32@${common.arduinoststm32_ver}
platform = ${common_stm32.platform}
extends = common_stm32
board = STEVAL_STM32F401VE
build_flags = ${common.build_flags}
-DTARGET_STM32F4 -DSTM32F401xE -DUSBCON
-DUSBD_USE_CDC -DUSBD_VID=0x0483 -DUSB_PRODUCT=\"STEVAL_F401VE\"
-DARDUINO_STEVAL -DDISABLE_GENERIC_SERIALUSB
-DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS
-IMarlin/src/HAL/STM32
build_unflags = -std=gnu++11
build_flags = ${common_stm32.build_flags}
-DTARGET_STM32F4 -DARDUINO_STEVAL -DSTM32F401xE
-DUSB_PRODUCT=\"STEVAL_F401VE\"
-DDISABLE_GENERIC_SERIALUSB -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS
extra_scripts = pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
buildroot/share/PlatformIO/scripts/STEVAL__F401XX.py
lib_ignore = Adafruit NeoPixel, TMCStepper, SailfishLCD, SlowSoftI2CMaster, SoftwareSerial
src_filter = ${common.default_src_filter} +<src/HAL/STM32>
#
# FLYF407ZG
#
[env:FLYF407ZG]
platform = ststm32@<6.2.0
platform_packages = framework-arduinoststm32@${common.arduinoststm32_ver}
platform = ${common_stm32.platform}
extends = common_stm32
board = FLYF407ZG
build_flags = ${common.build_flags}
-DTARGET_STM32F4 -DSTM32F4 -DUSBCON
-DUSBD_USE_CDC -DUSBD_VID=0x0483 -DUSB_PRODUCT=\"STM32F407ZG\"
-DVECT_TAB_OFFSET=0x8000 -IMarlin/src/HAL/STM32
build_unflags = -std=gnu++11
build_flags = ${common_stm32.build_flags}
-DSTM32F4 -DUSB_PRODUCT=\"STM32F407ZG\"
-DTARGET_STM32F4 -DVECT_TAB_OFFSET=0x8000
extra_scripts = pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
lib_ignore = Adafruit NeoPixel, SailfishLCD, SlowSoftI2CMaster, SoftwareSerial
src_filter = ${common.default_src_filter} +<src/HAL/STM32>
#
# FYSETC S6 (STM32F446VET6 ARM Cortex-M4)
#
[env:FYSETC_S6]
platform = ststm32@<6.2.0
platform_packages =
platform = ${common_stm32.platform}
extends = common_stm32
platform_packages = ${common_stm32.platform_packages}
tool-stm32duino
framework-arduinoststm32@${common.arduinoststm32_ver}
board = fysetc_s6
build_flags = ${common.build_flags}
-DTARGET_STM32F4 -std=gnu++14
-DVECT_TAB_OFFSET=0x10000
-DUSBCON -DUSBD_USE_CDC -DHAL_PCD_MODULE_ENABLED -DUSBD_VID=0x0483 '-DUSB_PRODUCT="FYSETC_S6"'
-IMarlin/src/HAL/STM32
build_unflags = -std=gnu++11
build_flags = ${common_stm32.build_flags}
-DTARGET_STM32F4 -DVECT_TAB_OFFSET=0x10000
-DHAL_PCD_MODULE_ENABLED '-DUSB_PRODUCT="FYSETC_S6"'
extra_scripts = pre:buildroot/share/PlatformIO/scripts/fysetc_STM32S6.py
src_filter = ${common.default_src_filter} +<src/HAL/STM32>
lib_ignore = Arduino-L6470, SoftwareSerial
debug_tool = stlink
upload_protocol = dfu
upload_command = dfu-util -a 0 -s 0x08010000:leave -D "$SOURCE"
@ -648,34 +641,27 @@ upload_command = dfu-util -a 0 -s 0x08010000:leave -D "$SOURCE"
# Shield - https://github.com/jmz52/Hardware
#
[env:STM32F407VE_black]
platform = ststm32@<6.2.0
platform_packages = framework-arduinoststm32@${common.arduinoststm32_ver}
platform = ${common_stm32.platform}
extends = common_stm32
board = blackSTM32F407VET6
build_flags = ${common.build_flags}
build_flags = ${common_stm32.build_flags}
-DTARGET_STM32F4 -DARDUINO_BLACK_F407VE
-DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483 -DUSB_PRODUCT=\"BLACK_F407VE\"
-DUSB_PRODUCT=\"BLACK_F407VE\"
-DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS
-IMarlin/src/HAL/STM32
build_unflags = -std=gnu++11
extra_scripts = pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
lib_ignore = Adafruit NeoPixel, TMCStepper, SailfishLCD, SlowSoftI2CMaster, SoftwareSerial
src_filter = ${common.default_src_filter} +<src/HAL/STM32>
#
# BigTreeTech SKR Pro (STM32F407ZGT6 ARM Cortex-M4)
#
[env:BIGTREE_SKR_PRO]
platform = ststm32@<6.2.0
platform_packages = framework-arduinoststm32@${common.arduinoststm32_ver}
platform = ${common_stm32.platform}
extends = common_stm32
board = BigTree_SKR_Pro
build_flags = ${common.build_flags}
-DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483 -DUSB_PRODUCT=\"STM32F407ZG\"
build_flags = ${common_stm32.build_flags}
-DUSB_PRODUCT=\"STM32F407ZG\"
-DTARGET_STM32F4 -DSTM32F407_5ZX -DVECT_TAB_OFFSET=0x8000
-IMarlin/src/HAL/STM32
build_unflags = -std=gnu++11
extra_scripts = pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
lib_ignore = SoftwareSerial, SoftwareSerialM
src_filter = ${common.default_src_filter} +<src/HAL/STM32>
#upload_protocol = stlink
#upload_command = "$PROJECT_PACKAGES_DIR/tool-stm32duino/stlink/ST-LINK_CLI.exe" -c SWD -P "$BUILD_DIR/firmware.bin" 0x8008000 -Rst -Run
debug_tool = stlink
@ -686,42 +672,29 @@ debug_init_break =
#
[env:BIGTREE_GTR_V1_0]
platform = ststm32@>=5.7.0,<6.2.0
platform_packages = framework-arduinoststm32@${common.arduinoststm32_ver}
extends = common_stm32
board = BigTree_GTR_v1
extra_scripts = pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
build_flags = ${common.build_flags}
-DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483 -DUSB_PRODUCT=\"STM32F407IG\"
build_flags = ${common_stm32.build_flags}
-DUSB_PRODUCT=\"STM32F407IG\"
-DTARGET_STM32F4 -DSTM32F407IX -DVECT_TAB_OFFSET=0x8000
-IMarlin/src/HAL/STM32
lib_deps =
U8glib-HAL=https://github.com/MarlinFirmware/U8glib-HAL/archive/bugfix.zip
LiquidCrystal
TMCStepper@>=0.5.2,<1.0.0
Adafruit NeoPixel
LiquidTWI2=https://github.com/lincomatic/LiquidTWI2/archive/master.zip
Arduino-L6470=https://github.com/ameyer/Arduino-L6470/archive/dev.zip
lib_ignore = SoftwareSerial, SoftwareSerialM
src_filter = ${common.default_src_filter} +<src/HAL/STM32>
#
# BigTreeTech BTT002 V1.0 (STM32F407VGT6 ARM Cortex-M4)
#
[env:BIGTREE_BTT002]
platform = ststm32@5.6.0
platform_packages = framework-arduinoststm32@${common.arduinoststm32_ver}
platform = ${common_stm32.platform}
extends = common_stm32
board = BigTree_Btt002
build_flags = ${common.build_flags}
-DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483 -DUSB_PRODUCT=\"STM32F407VG\"
build_flags = ${common_stm32.build_flags}
-DUSB_PRODUCT=\"STM32F407VG\"
-DTARGET_STM32F4 -DSTM32F407_5VX -DVECT_TAB_OFFSET=0x8000
-DHAVE_HWSERIAL2
-DHAVE_HWSERIAL3
-DPIN_SERIAL2_RX=PD_6
-DPIN_SERIAL2_TX=PD_5
-IMarlin/src/HAL/STM32
build_unflags = -std=gnu++11
extra_scripts = pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
lib_ignore = Adafruit NeoPixel, SailfishLCD, SlowSoftI2CMaster, SoftwareSerial
src_filter = ${common.default_src_filter} +<src/HAL/STM32>
#
# Teensy 3.1 / 3.2 (ARM Cortex-M4)
@ -795,35 +768,26 @@ debug_tool = jlink
#
# RUMBA32
#
[common_rumba32]
platform = ststm32@<6.2.0
platform_packages = framework-arduinoststm32@${common.arduinoststm32_ver}
[env:rumba32_f446ve]
platform = ${common_stm32.platform}
extends = common_stm32
board = rumba32_f446ve
build_flags = ${common.build_flags} -Os -IMarlin/src/HAL/STM32
build_flags = ${common_stm32.build_flags} -Os
-DSTM32F4xx -DARDUINO_RUMBA32_F446VE -DARDUINO_ARCH_STM32 "-DBOARD_NAME=\"RUMBA32_F446VE\""
-DSTM32F446xx -DUSBCON "-DUSB_MANUFACTURER=\"Unknown\"" "-DUSB_PRODUCT=\"RUMBA32_F446VE\""
-DSTM32F446xx "-DUSB_PRODUCT=\"RUMBA32_F446VE\""
-DHAL_PCD_MODULE_ENABLED
-DUSBD_USE_CDC
-DDISABLE_GENERIC_SERIALUSB
-DHAL_UART_MODULE_ENABLED
lib_ignore = Adafruit NeoPixel, SoftwareSerial
src_filter = ${common.default_src_filter} +<src/HAL/STM32>
upload_protocol = dfu
[env:rumba32_f446ve]
platform = ${common_rumba32.platform}
extends = common_rumba32
build_flags = ${common_rumba32.build_flags} -DUSBD_VID=0x0483
monitor_speed = 500000
upload_protocol = dfu
#
# MKS RUMBA32 (adds TMC2208/2209 UART interface and AUX-1)
#
[env:rumba32_mks]
platform = ${common_rumba32.platform}
extends = common_rumba32
build_flags = ${common_rumba32.build_flags} -DUSBD_VID=0x8000
platform = ${common_stm32.platform}
extends = env:rumba32_f446ve
build_flags = ${rumba32_f446ve.build_flags} -UUSBD_VID -DUSBD_VID=0x8000
#
# Just print the dependency tree