123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449 |
- #
- # Marlin Firmware
- # PlatformIO Configuration File
- #
-
- #################################
- #
- # STM32F4 Architecture
- #
- # Naming Example: STM32F401RGT6
- #
- # F : Foundation (sometimes High Performance F2/F4)
- # 4 : Cortex M4 core
- # 01 : Line/Features
- # R : 64 or 66 pins (V:100, Z:144, I:176)
- # G : 1024KB Flash-memory (C:256KB, D:384KB, E:512KB)
- # T : LQFP package
- # 6 : -40...85°C (7: ...105°C)
- #
- #################################
-
- #
- # ARMED (STM32)
- #
- [env:ARMED]
- platform = ${common_stm32.platform}
- extends = common_stm32
- board = armed_v1
- build_flags = ${common_stm32.build_flags}
- -O2 -ffreestanding -fsigned-char -fno-move-loop-invariants -fno-strict-aliasing
-
- #
- # STM32F401VE
- # 'STEVAL-3DP001V1' STM32F401VE board - https://www.st.com/en/evaluation-tools/steval-3dp001v1.html
- #
- [env:STM32F401VE_STEVAL]
- platform = ${common_stm32.platform}
- extends = common_stm32
- board = marlin_STEVAL_STM32F401VE
- build_flags = ${common_stm32.build_flags}
- -DARDUINO_STEVAL -DSTM32F401xE
- -DDISABLE_GENERIC_SERIALUSB -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS
- extra_scripts = ${common.extra_scripts}
- pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
-
- #
- # STM32F401RC
- #
- [env:FYSETC_CHEETAH_V20]
- platform = ${common_stm32.platform}
- extends = common_stm32
- board = marlin_FYSETC_CHEETAH_V20
- build_flags = ${common_stm32.build_flags} -DSTM32F401xC -DVECT_TAB_OFFSET=0xC000
- extra_scripts = ${common.extra_scripts}
- pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
-
- #
- # FLYF407ZG
- #
- [env:FLYF407ZG]
- platform = ${common_stm32.platform}
- extends = common_stm32
- board = marlin_STM32F407ZGT6
- board_build.variant = MARLIN_FLY_F407ZG
- upload_protocol = dfu
- build_flags = ${common_stm32.build_flags}
- -DVECT_TAB_OFFSET=0x8000
- extra_scripts = ${common.extra_scripts}
- pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
-
- #
- # FLY MINI (STM32F103RCT6)
- #
- [env:FLY_MINI]
- platform = ${common_stm32f1.platform}
- extends = common_stm32f1
- board = genericSTM32F103RC
- board_build.address = 0x08005000
- board_build.ldscript = fly_mini.ld
- extra_scripts = ${common_stm32f1.extra_scripts}
- buildroot/share/PlatformIO/scripts/custom_board.py
- build_flags = ${common_stm32f1.build_flags}
- -DDEBUG_LEVEL=0 -DSS_TIMER=4
-
- #
- # FYSETC S6 (STM32F446RET6 ARM Cortex-M4)
- #
- [env:FYSETC_S6]
- platform = ${common_stm32.platform}
- extends = common_stm32
- platform_packages = tool-stm32duino
- board = marlin_fysetc_s6
- build_flags = ${common_stm32.build_flags}
- -DVECT_TAB_OFFSET=0x10000
- -DHAL_PCD_MODULE_ENABLED
- extra_scripts = ${common.extra_scripts}
- pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
- debug_tool = stlink
- upload_protocol = dfu
- upload_command = dfu-util -a 0 -s 0x08010000:leave -D "$SOURCE"
-
- #
- # STM32F407VET6 with RAMPS-like shield
- # 'Black' STM32F407VET6 board - https://wiki.stm32duino.com/index.php?title=STM32F407
- # Shield - https://github.com/jmz52/Hardware
- #
- [env:STM32F407VE_black]
- platform = ${common_stm32.platform}
- extends = common_stm32
- board = marlin_blackSTM32F407VET6
- build_flags = ${common_stm32.build_flags}
- -DARDUINO_BLACK_F407VE
- -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS
- extra_scripts = ${common.extra_scripts}
- pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
-
- #
- # Anet ET4-MB_V1.x/ET4P-MB_V1.x (STM32F407VGT6 ARM Cortex-M4)
- # For use with with davidtgbe's OpenBLT bootloader https://github.com/davidtgbe/openblt/releases
- # Comment out board_build.offset = 0x10000 if you don't plan to use OpenBLT/flashing directly to 0x08000000.
- #
- [env:Anet_ET4_OpenBLT]
- platform = ${common_stm32.platform}
- extends = common_stm32
- build_flags = ${common_stm32.build_flags} -DHAL_SD_MODULE_ENABLED -DHAL_SRAM_MODULE_ENABLED
- board = marlin_STM32F407VGT6_CCM
- board_build.core = stm32
- board_build.variant = MARLIN_F4x7Vx
- board_build.ldscript = ldscript.ld
- board_build.firmware = firmware.srec
- # Just openblt.py (not stm32_bootloader.py) generates the file
- board_build.encrypt = Yes
- board_build.offset = 0x10000
- board_upload.offset_address = 0x08010000
- build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483
- debug_tool = jlink
- upload_protocol = jlink
- extra_scripts = ${common.extra_scripts}
- pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
- buildroot/share/PlatformIO/scripts/stm32_bootloader.py
- buildroot/share/PlatformIO/scripts/openblt.py
-
- #
- # BigTreeTech SKR Pro (STM32F407ZGT6 ARM Cortex-M4)
- #
- [env:BIGTREE_SKR_PRO]
- platform = ${common_stm32.platform}
- extends = common_stm32
- board = marlin_BigTree_SKR_Pro
- build_flags = ${common_stm32.build_flags}
- -DSTM32F407_5ZX -DVECT_TAB_OFFSET=0x8000
- extra_scripts = ${common.extra_scripts}
- pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
- #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
- debug_init_break =
-
- #
- # USB Flash Drive mix-ins for STM32
- #
- [stm_flash_drive]
- platform_packages = framework-arduinoststm32@https://github.com/rhapsodyv/Arduino_Core_STM32/archive/usb-host-msc.zip
- build_flags = ${common_stm32.build_flags}
- -DHAL_PCD_MODULE_ENABLED -DHAL_HCD_MODULE_ENABLED
- -DUSBHOST -DUSBH_IRQ_PRIO=3 -DUSBH_IRQ_SUBPRIO=4
-
- #
- # BigTreeTech SKR Pro (STM32F407ZGT6 ARM Cortex-M4) with USB Flash Drive Support
- #
- [env:BIGTREE_SKR_PRO_usb_flash_drive]
- extends = env:BIGTREE_SKR_PRO
- platform_packages = ${stm_flash_drive.platform_packages}
- build_unflags = -DUSBCON -DUSBD_USE_CDC
- build_flags = ${stm_flash_drive.build_flags}
- -DSTM32F407_5ZX -DVECT_TAB_OFFSET=0x8000
-
- #
- # BigTreeTech E3 RRF (STM32F407VGT6 ARM Cortex-M4)
- #
- [env:BIGTREE_E3_RRF]
- platform = ${common_stm32.platform}
- extends = common_stm32
- board = marlin_STM32F407VGT6_CCM
- board_build.variant = MARLIN_BIGTREE_E3_RRF
- build_flags = ${common_stm32.build_flags}
- -DSTM32F407_5VX -DVECT_TAB_OFFSET=0x8000
- -DSERIAL_RX_BUFFER_SIZE=255 -DSERIAL_TX_BUFFER_SIZE=255
- extra_scripts = ${common.extra_scripts}
- pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
-
- #
- # Bigtreetech GTR V1.0 (STM32F407IGT6 ARM Cortex-M4)
- #
- [env:BIGTREE_GTR_V1_0]
- platform = ${common_stm32.platform}
- extends = common_stm32
- board = marlin_BigTree_GTR_v1
- extra_scripts = ${common.extra_scripts}
- pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
- build_flags = ${common_stm32.build_flags}
- -DSTM32F407IX -DVECT_TAB_OFFSET=0x8000
-
- #
- # Bigtreetech GTR V1.0 (STM32F407IGT6 ARM Cortex-M4) with USB Flash Drive Support
- #
- [env:BIGTREE_GTR_V1_0_usb_flash_drive]
- extends = env:BIGTREE_GTR_V1_0
- platform_packages = ${stm_flash_drive.platform_packages}
- build_unflags = -DUSBCON -DUSBD_USE_CDC
- build_flags = ${stm_flash_drive.build_flags}
- -DSTM32F407IX -DVECT_TAB_OFFSET=0x8000
-
- #
- # BigTreeTech BTT002 V1.0 (STM32F407VGT6 ARM Cortex-M4)
- #
- [env:BIGTREE_BTT002]
- platform = ${common_stm32.platform}
- extends = common_stm32
- board = marlin_BigTree_BTT002
- build_flags = ${common_stm32.build_flags}
- -DSTM32F407_5VX -DVECT_TAB_OFFSET=0x8000
- -DHAVE_HWSERIAL2
- -DHAVE_HWSERIAL3
- -DPIN_SERIAL2_RX=PD_6
- -DPIN_SERIAL2_TX=PD_5
- extra_scripts = ${common.extra_scripts}
- pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
-
- #
- # BigTreeTech SKR V2.0 (STM32F407VGT6 ARM Cortex-M4) with USB Flash Drive Support
- #
- [env:BIGTREE_SKR_2]
- platform = ${common_stm32.platform}
- platform_packages = ${stm_flash_drive.platform_packages}
- extends = common_stm32
- board = marlin_STM32F407VGT6_CCM
- board_build.core = stm32
- board_build.variant = MARLIN_F4x7Vx
- board_build.ldscript = ldscript.ld
- board_build.offset = 0x8000
- board_upload.offset_address = 0x08008000
- extra_scripts = ${common.extra_scripts}
- pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
- buildroot/share/PlatformIO/scripts/stm32_bootloader.py
- build_flags = ${stm_flash_drive.build_flags}
- -DUSE_USBHOST_HS -DUSE_USB_HS_IN_FS -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6
- -DHSE_VALUE=8000000U -DHAL_SD_MODULE_ENABLED
-
- #
- # BigTreeTech Octopus V1.0 (STM32F446ZET6 ARM Cortex-M4)
- #
- [env:BIGTREE_OCTOPUS_V1_0]
- platform = ${common_stm32.platform}
- extends = common_stm32
- board = marlin_BigTree_octopus_v1
- extra_scripts = ${common.extra_scripts}
- pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
- build_flags = ${common_stm32.build_flags}
- -DSTM32F446_5VX -DVECT_TAB_OFFSET=0x8000 -DUSE_USB_HS_IN_FS
-
- #
- # BigTreeTech Octopus V1.0 (STM32F446ZET6 ARM Cortex-M4) with USB Flash Drive Support
- #
- [env:BIGTREE_OCTOPUS_V1_0_USB]
- extends = env:BIGTREE_OCTOPUS_V1_0
- platform_packages = ${stm_flash_drive.platform_packages}
- #build_unflags = -DUSBCON -DUSBD_USE_CDC
- build_flags = ${stm_flash_drive.build_flags}
- -DSTM32F446_5VX -DVECT_TAB_OFFSET=0x8000
- -DUSBCON -DUSE_USBHOST_HS -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6 -DUSE_USB_HS_IN_FS -DUSBD_USE_CDC_MSC
-
- #
- # Lerdge base
- #
- [lerdge_common]
- platform = ${common_stm32.platform}
- extends = common_stm32
- board = marlin_STM32F407ZGT6
- board_build.variant = MARLIN_LERDGE
- board_build.offset = 0x10000
- board_build.encrypt = Yes
- extra_scripts = ${common.extra_scripts}
- pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
- buildroot/share/PlatformIO/scripts/stm32_bootloader.py
- buildroot/share/PlatformIO/scripts/lerdge.py
- build_flags = ${common_stm32.build_flags}
- -DSTM32F4 -DSTM32F4xx -DTARGET_STM32F4
- -DDISABLE_GENERIC_SERIALUSB -DARDUINO_ARCH_STM32 -DARDUINO_LERDGE
- -DHAL_SRAM_MODULE_ENABLED
- build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483
-
- #
- # Lerdge X
- #
- [env:LERDGEX]
- platform = ${lerdge_common.platform}
- extends = lerdge_common
- board_build.firmware = Lerdge_X_firmware_force.bin
-
- #
- # Lerdge X with USB Flash Drive Support
- #
- [env:LERDGEX_usb_flash_drive]
- platform = ${env:LERDGEX.platform}
- extends = env:LERDGEX
- platform_packages = ${stm_flash_drive.platform_packages}
- build_flags = ${stm_flash_drive.build_flags} ${lerdge_common.build_flags}
-
- #
- # Lerdge S
- #
- [env:LERDGES]
- platform = ${lerdge_common.platform}
- extends = lerdge_common
- board_build.firmware = Lerdge_firmware_force.bin
-
- #
- # Lerdge S with USB Flash Drive Support
- #
- [env:LERDGES_usb_flash_drive]
- platform = ${env:LERDGES.platform}
- extends = env:LERDGES
- platform_packages = ${stm_flash_drive.platform_packages}
- build_flags = ${stm_flash_drive.build_flags} ${lerdge_common.build_flags}
-
- #
- # Lerdge K
- #
- [env:LERDGEK]
- platform = ${lerdge_common.platform}
- extends = lerdge_common
- board_build.firmware = Lerdge_K_firmware_force.bin
- build_flags = ${lerdge_common.build_flags} -DLERDGEK
-
- #
- # Lerdge K with USB Flash Drive Support
- #
- [env:LERDGEK_usb_flash_drive]
- platform = ${env:LERDGEK.platform}
- extends = env:LERDGEK
- platform_packages = ${stm_flash_drive.platform_packages}
- build_flags = ${stm_flash_drive.build_flags} ${lerdge_common.build_flags}
-
- #
- # RUMBA32
- #
- [env:rumba32]
- platform = ${common_stm32.platform}
- extends = common_stm32
- build_flags = ${common_stm32.build_flags}
- -Os
- -DHAL_PCD_MODULE_ENABLED
- -DDISABLE_GENERIC_SERIALUSB
- -DHAL_UART_MODULE_ENABLED
- -DTIMER_SERIAL=TIM9
- board = rumba32_f446ve
- upload_protocol = dfu
- monitor_speed = 500000
- board_build.core = stm32
- board_build.variant = MARLIN_F446VE
- board_build.ldscript = ldscript.ld
- board_build.offset = 0x0000
- board_build.encrypt = No
- board_build.firmware = firmware.bin
- extra_scripts = ${common.extra_scripts}
- pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
- buildroot/share/PlatformIO/scripts/stm32_bootloader.py
-
- #
- # MKS Robin Pro V2
- #
- [env:mks_robin_pro2]
- platform = ${common_stm32.platform}
- platform_packages = ${stm_flash_drive.platform_packages}
- extends = common_stm32
- build_flags = ${stm_flash_drive.build_flags}
- board = genericSTM32F407VET6
- board_build.core = stm32
- board_build.variant = MARLIN_F4x7Vx
- board_build.ldscript = ldscript.ld
- board_build.firmware = firmware.bin
- board_build.offset = 0x0000
- board_upload.offset_address = 0x08000000
- build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC
- debug_tool = jlink
- upload_protocol = jlink
- extra_scripts = ${common.extra_scripts}
- pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
- buildroot/share/PlatformIO/scripts/stm32_bootloader.py
-
- #
- # This SPI is used by Robin Nano V3
- #
- [stm32f4_I2C1]
- build_flags = -DPIN_WIRE_SCL=PB6 -DPIN_WIRE_SDA=PB7
-
- #
- # MKS Robin Nano V3
- #
- [env:mks_robin_nano_v3]
- platform = ${common_stm32.platform}
- extends = common_stm32
- build_flags = ${common_stm32.build_flags} ${stm32f4_I2C1.build_flags} -DHAL_PCD_MODULE_ENABLED -DUSBCON -DUSBD_USE_CDC
- board = marlin_STM32F407VGT6_CCM
- board_build.core = stm32
- board_build.variant = MARLIN_F4x7Vx
- board_build.ldscript = ldscript.ld
- board_build.firmware = Robin_nano_v3.bin
- board_build.offset = 0xC000
- board_upload.offset_address = 0x0800C000
- build_unflags = ${common_stm32.build_unflags}
- debug_tool = jlink
- upload_protocol = jlink
- extra_scripts = ${common.extra_scripts}
- pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
- buildroot/share/PlatformIO/scripts/stm32_bootloader.py
-
- #
- # MKS Robin Nano V3 with USB Flash Drive Support
- # Currently, using a STM32duino fork, until USB Host get merged
- #
- [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}
- -DUSBCON
- -DUSE_USBHOST_HS
- -DUSBD_IRQ_PRIO=5
- -DUSBD_IRQ_SUBPRIO=6
- -DUSE_USB_HS_IN_FS
- -DUSBD_USE_CDC
-
- #
- # MKS Robin Nano V3 with USB Flash Drive Support and Shared Media
- # Currently, using a STM32duino fork, until USB Host and USB Device MSC get merged
- #
- [env:mks_robin_nano_v3_usb_flash_drive_msc]
- platform = ${common_stm32.platform}
- extends = env:mks_robin_nano_v3
- platform_packages = framework-arduinoststm32@https://github.com/rhapsodyv/Arduino_Core_STM32/archive/usb-host-msc-cdc-msc.zip
- build_unflags = ${common_stm32.build_unflags} -DUSBD_USE_CDC
- build_flags = ${stm_flash_drive.build_flags} ${stm32f4_I2C1.build_flags}
- -DUSBCON
- -DUSE_USBHOST_HS
- -DUSBD_IRQ_PRIO=5
- -DUSBD_IRQ_SUBPRIO=6
- -DUSE_USB_HS_IN_FS
- -DUSBD_USE_CDC_MSC
|