123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512 |
- #
- # Marlin Firmware
- # PlatformIO Configuration File
- #
- #################################
- #
- # STM32F1 Architecture with unified STM32 HAL
- #
- # Naming Example: STM32F103RCT6
- #
- # F : Foundation (sometimes High Performance F2/F4)
- # 1 : Cortex M3 core (0:M0, 1-2:M3, 3-4:M4, 7:M7)
- # 03 : Line/Features
- # R : 64 or 66 pins (T:36, C:48, V:100, Z:144, I:176)
- # C : 256KB Flash-memory (B: 128KB, D:384KB, E:512KB, G:1024KB)
- # T : LQFP package
- # 6 : -40...85°C (7: ...105°C)
- #
- #################################
- [common_STM32F103RC_variant]
- extends = stm32_variant
- board = genericSTM32F103RC
- board_build.variant = MARLIN_F103Rx
- build_flags = ${stm32_variant.build_flags} -DDEBUG_LEVEL=0
- monitor_speed = 115200
- #
- # STM32F103RE
- #
- [env:STM32F103RE]
- extends = common_stm32
- board = genericSTM32F103RE
- monitor_speed = 115200
- #
- # STM32F103VE
- #
- [env:STM32F103VE]
- extends = common_stm32
- board = genericSTM32F103VE
- monitor_speed = 115200
- #
- # STM32F103ZE
- #
- [env:STM32F103ZE]
- extends = common_stm32
- board = genericSTM32F103ZE
- monitor_speed = 115200
- #
- # BigTreeTech SKR Mini V1.1 / SKR Mini E3 & MZ (STM32F103RCT6 ARM Cortex-M3)
- #
- # STM32F103RC_btt ............. RCT6 with 256K
- # STM32F103RC_btt_USB ......... RCT6 with 256K with USB Media Share Support
- #
- [env:STM32F103RC_btt]
- extends = common_STM32F103RC_variant
- build_flags = ${common_STM32F103RC_variant.build_flags}
- -DTIMER_SERVO=TIM5
- board_build.offset = 0x7000
- board_upload.offset_address = 0x08007000
- [env:STM32F103RC_btt_USB]
- extends = env:STM32F103RC_btt
- platform_packages = ${stm_flash_drive.platform_packages}
- build_flags = ${env:STM32F103RC_btt.build_flags}
- -DUSE_USB_FS
- -DUSBD_IRQ_PRIO=5
- -DUSBD_IRQ_SUBPRIO=6
- -DUSBD_USE_CDC_MSC
- build_unflags = ${env:STM32F103RC_btt.build_unflags} -DUSBD_USE_CDC
- #
- # Panda Pi V2.9 - Standalone (STM32F103RC)
- # Headless, without direct Pi control, but potentially hosting OctoPrint, stepdaemon, etc.
- #
- [env:PANDA_PI_V29]
- extends = common_STM32F103RC_variant
- build_flags = ${common_STM32F103RC_variant.build_flags}
- -DTIMER_SERVO=TIM1
- board_build.offset = 0x5000
- board_upload.offset_address = 0x08005000
- lib_deps = markyue/Panda_SoftMasterI2C@1.0.3
- #
- # MKS Robin (STM32F103ZET6)
- # Uses HAL STM32 to support Marlin UI for TFT screen with optional touch panel
- #
- [env:mks_robin]
- extends = stm32_variant
- board = genericSTM32F103ZE
- board_build.variant = MARLIN_F103Zx
- board_build.encrypt_mks = Robin.bin
- board_build.offset = 0x7000
- board_build.offset_address = 0x08007000
- build_flags = ${stm32_variant.build_flags}
- -DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5
- build_unflags = ${stm32_variant.build_unflags}
- -DUSBCON -DUSBD_USE_CDC
- #
- # MKS Robin E3/E3D (STM32F103RCT6) with TMC2209
- #
- [env:mks_robin_e3]
- extends = common_STM32F103RC_variant
- board_build.encrypt_mks = Robin_e3.bin
- board_build.offset = 0x5000
- board_upload.offset_address = 0x08005000
- build_flags = ${common_STM32F103RC_variant.build_flags}
- -DTIMER_SERVO=TIM5 -DDEFAULT_SPI=3
- build_unflags = ${common_STM32F103RC_variant.build_unflags}
- -DUSBCON -DUSBD_USE_CDC
- debug_tool = stlink
- #
- # Creality (STM32F103Rx)
- #
- [STM32F103Rx_creality]
- extends = stm32_variant
- board_build.variant = MARLIN_F103Rx
- board_build.offset = 0x7000
- board_build.rename = firmware-{date}-{time}.bin
- board_upload.offset_address = 0x08007000
- build_flags = ${stm32_variant.build_flags}
- -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED
- -DSS_TIMER=4 -DTIMER_SERVO=TIM5
- -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8
- build_unflags = ${stm32_variant.build_unflags}
- -DUSBCON -DUSBD_USE_CDC
- monitor_speed = 115200
- debug_tool = jlink
- upload_protocol = jlink
- #
- # Creality (STM32F103Rx)
- # With custom upload to SD via Marlin with binary protocol.
- # Requires Marlin with BINARY_FILE_TRANSFER already installed on the target board.
- # If CUSTOM_FIRMWARE_UPLOAD is also installed, Marlin will reboot the board to install the firmware.
- # Currently CUSTOM_FIRMWARE_UPLOAD must also be enabled to use 'xfer' build envs.
- #
- [STM32F103Rx_creality_xfer]
- extends = STM32F103Rx_creality
- build_flags = ${STM32F103Rx_creality.build_flags} -DXFER_BUILD
- extra_scripts = ${STM32F103Rx_creality.extra_scripts}
- pre:buildroot/share/scripts/upload.py
- upload_protocol = custom
- #
- # Creality 512K (STM32F103RE)
- #
- [env:STM32F103RE_creality]
- extends = STM32F103Rx_creality
- board = genericSTM32F103RE
- #
- # Creality 512K (STM32F103RE) with custom binary upload to SD (see above).
- #
- [env:STM32F103RE_creality_xfer]
- extends = STM32F103Rx_creality_xfer
- board = genericSTM32F103RE
- #
- # Creality 512K (STM32F103RE) for new 64KiB bootloader (CR-10 Smart Pro printer)
- #
- [env:STM32F103RE_creality_smartPro]
- extends = env:STM32F103RE_creality
- board_build.offset = 0x10000
- board_upload.offset_address = 0x08010000
- #
- # Trigorilla V0.0.6 (GD32F103)
- # modified version of env:STM32F103RE_creality
- #
- [env:trigorilla_v006]
- extends = env:STM32F103RE_creality
- board_build.offset = 0x8000
- board_upload.offset_address = 0x08008000
- board_build.rename = main_board_{date}_{time}.bin
- #
- # Creality 256K (STM32F103RC)
- #
- [env:STM32F103RC_creality]
- extends = STM32F103Rx_creality
- board = genericSTM32F103RC
- #
- # Creality 256K (STM32F103RC) with custom binary upload to SD (see above).
- #
- [env:STM32F103RC_creality_xfer]
- extends = STM32F103Rx_creality_xfer
- board = genericSTM32F103RC
- #
- # Creality 512K (STM32F103VE)
- #
- [env:STM32F103VE_creality]
- extends = STM32F103Rx_creality
- board = genericSTM32F103VE
- board_build.variant = MARLIN_F103Vx
- build_flags = ${STM32F103Rx_creality.build_flags}
- -DSS_TIMER=4 -DTIMER_SERVO=TIM5
- -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8
- #
- # BigTreeTech SKR Mini E3 V2.0 & DIP / SKR CR6 (STM32F103RET6 ARM Cortex-M3)
- #
- # STM32F103RE_btt ............. RET6
- # STM32F103RE_btt_USB ......... RET6 with USB Media Share Support
- #
- [env:STM32F103RE_btt]
- extends = stm32_variant
- board = genericSTM32F103RE
- board_build.variant = MARLIN_F103Rx
- board_build.offset = 0x7000
- board_upload.offset_address = 0x08007000
- build_flags = ${stm32_variant.build_flags}
- -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED
- -DSS_TIMER=4 -DTIMER_SERVO=TIM5
- -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8
- monitor_speed = 115200
- debug_tool = jlink
- upload_protocol = jlink
- [env:STM32F103RE_btt_USB]
- extends = env:STM32F103RE_btt
- platform_packages = ${stm_flash_drive.platform_packages}
- build_flags = ${env:STM32F103RE_btt.build_flags}
- -DUSE_USB_FS -DUSBD_IRQ_PRIO=5
- -DUSBD_IRQ_SUBPRIO=6 -DUSBD_USE_CDC_MSC
- build_unflags = ${env:STM32F103RE_btt.build_unflags} -DUSBD_USE_CDC
- #
- # Mingda MPX_ARM_MINI
- #
- [env:mingda_mpx_arm_mini]
- extends = stm32_variant
- board = genericSTM32F103ZE
- board_build.variant = MARLIN_F103Zx
- board_build.offset = 0x10000
- board_build.offset_address = 0x08010000
- build_flags = ${stm32_variant.build_flags}
- -DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5
- build_unflags = ${stm32_variant.build_unflags}
- -DUSBCON -DUSBD_USE_CDC
- #
- # Malyan M200 (STM32F103CB)
- #
- [env:STM32F103CB_malyan]
- extends = common_stm32
- board = malyanm200_f103cb
- build_flags = ${common_stm32.build_flags}
- -DHAL_PCD_MODULE_ENABLED -DDISABLE_GENERIC_SERIALUSB
- -DHAL_UART_MODULE_ENABLED
- build_src_filter = ${common_stm32.build_src_filter} +<src/HAL/STM32> -<src/HAL/STM32/tft>
- #
- # FLYmaker FLY Mini (STM32F103RCT6)
- #
- [env:FLY_MINI]
- extends = stm32_variant
- board = genericSTM32F103RC
- board_build.variant = MARLIN_F103Rx
- board_build.offset = 0x5000
- board_upload.offset_address = 0x08005000
- build_flags = ${stm32_variant.build_flags} -DSS_TIMER=4
- #
- # (STM32F103VE_robin)
- #
- [STM32F103VE_robin]
- extends = stm32_variant
- board = genericSTM32F103VE
- board_build.variant = MARLIN_F103Vx
- board_build.offset = 0x7000
- board_upload.offset_address = 0x08007000
- build_flags = ${stm32_variant.build_flags} -DMCU_STM32F103VE -DTIMER_TONE=TIM3 -DTIMER_SERVO=TIM2 -DSS_TIMER=4
- [mks_robin_nano_v1v2_common]
- extends = STM32F103VE_robin
- board_build.encrypt_mks = Robin_nano35.bin
- debug_tool = stlink
- upload_protocol = stlink
- #
- # MKS/ZNP Robin Nano V1.2 and V2 with native USB modification
- #
- [env:mks_robin_nano_v1v2_usbmod]
- extends = mks_robin_nano_v1v2_common
- #
- # MKS Robin Nano V1.2 and V2
- #
- [env:mks_robin_nano_v1v2]
- extends = mks_robin_nano_v1v2_common
- build_flags = ${mks_robin_nano_v1v2_common.build_flags} -DENABLE_HWSERIAL3
- build_unflags = ${mks_robin_nano_v1v2_common.build_unflags} -DUSBCON -DUSBD_USE_CDC
- #
- # MKS Robin Mini (STM32F103VET6)
- #
- [env:mks_robin_mini]
- extends = STM32F103VE_robin
- board_build.encrypt_mks = Robin_mini.bin
- build_unflags = ${STM32F103VE_robin.build_unflags} -DSS_TIMER=4 -DTIMER_SERVO=TIM2
- build_flags = ${STM32F103VE_robin.build_flags} -DTIMER_SERVO=TIM1
- #
- # MKS Robin E3p (STM32F103VET6)
- # - LVGL UI
- #
- [env:mks_robin_e3p]
- extends = STM32F103VE_robin
- board_build.encrypt_mks = Robin_e3p.bin
- debug_tool = jlink
- upload_protocol = jlink
- #
- # FLSUN QQS Pro (STM32F103VET6)
- # Hispeedv1 Robin mini variant
- #
- [env:flsun_hispeedv1]
- extends = STM32F103VE_robin
- board_build.encrypt_mks = Robin_mini.bin
- build_flags = ${STM32F103VE_robin.build_flags} -DENABLE_HWSERIAL3
- build_unflags = ${STM32F103VE_robin.build_unflags} -DUSBCON -DUSBD_USE_CDC
- #
- # MKS Robin Lite/Lite2 (STM32F103RCT6)
- #
- [env:mks_robin_lite]
- extends = stm32_variant
- board = genericSTM32F103RC
- board_build.variant = MARLIN_F103Rx
- board_build.encrypt_mks = mksLite.bin
- board_build.offset = 0x5000
- board_upload.offset_address = 0x08005000
- #
- # MKS ROBIN LITE3 (STM32F103RCT6)
- #
- [env:mks_robin_lite3]
- extends = env:mks_robin_lite
- board_build.encrypt_mks = mksLite3.bin
- #
- # MKS Robin Pro (STM32F103ZET6)
- #
- [env:mks_robin_pro]
- extends = env:mks_robin
- board_build.encrypt_mks = Robin_pro.bin
- #
- # JGAurora A5S A1 (STM32F103ZET6)
- #
- [env:jgaurora_a5s_a1]
- extends = stm32_variant
- board = genericSTM32F103ZE
- board_build.variant = MARLIN_F103Zx
- board_build.offset = 0xA000
- board_upload.offset_address = 0x0800A000
- build_flags = ${stm32_variant.build_flags}
- -DSTM32F1xx -DSTM32_XL_DENSITY
- extra_scripts = ${stm32_variant.extra_scripts}
- buildroot/share/PlatformIO/scripts/jgaurora_a5s_a1_with_bootloader.py
- #
- # FYSETC STM32F103RC
- #
- [env:STM32F103RC_fysetc]
- extends = common_STM32F103RC_variant
- extra_scripts = ${common_STM32F103RC_variant.extra_scripts}
- buildroot/share/PlatformIO/scripts/STM32F103RC_fysetc.py
- build_flags = ${common_STM32F103RC_variant.build_flags} -DTIMER_SERVO=TIM1
- lib_ldf_mode = chain
- debug_tool = stlink
- upload_protocol = serial
- #
- # Longer 3D board in Alfawise U20 (STM32F103VET6)
- #
- [env:STM32F103VE_longer]
- extends = stm32_variant
- lib_deps = ${common.lib_deps}
- https://github.com/tpruvot/STM32_Servo_OpenDrain/archive/2.0.zip
- board = genericSTM32F103VE
- board_build.variant = MARLIN_F103VE_LONGER
- board_build.rename = project.bin
- board_build.offset = 0x10000
- board_upload.offset_address = 0x08010000
- build_flags = ${stm32_variant.build_flags} -DMCU_STM32F103VE -DU20 -DTS_V12
- build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC -DHAL_PCD_MODULE_ENABLED
- extra_scripts = ${stm32_variant.extra_scripts}
- monitor_speed = 250000
- debug_tool = stlink
- #
- # TRIGORILLA PRO (STM32F103ZET6)
- #
- [env:trigorilla_pro]
- extends = stm32_variant
- board = genericSTM32F103ZE
- board_build.variant = MARLIN_F103Zx
- build_flags = ${stm32_variant.build_flags}
- -DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5
- build_unflags = ${stm32_variant.build_unflags}
- -DUSBCON -DUSBD_USE_CDC
- #
- # TRIGORILLA PRO DISK BASED (STM32F103ZET6)
- # Builds for Trigorilla to update from SD
- #
- [env:trigorilla_pro_disk]
- extends = stm32_variant
- board = genericSTM32F103ZE
- board_build.crypt_chitu = update.zw
- board_build.variant = MARLIN_F103Zx
- board_build.offset = 0x8800
- board_build.offset_address = 0x08008800
- build_flags = ${stm32_variant.build_flags}
- -DENABLE_HWSERIAL3 -DTIMER_SERIAL=TIM5
- build_unflags = ${stm32_variant.build_unflags}
- -DUSBCON -DUSBD_USE_CDC
- extra_scripts = ${stm32_variant.extra_scripts}
- buildroot/share/PlatformIO/scripts/chitu_crypt.py
- #
- # Chitu boards like Tronxy X5s (STM32F103ZET6)
- #
- [env:chitu_f103]
- extends = stm32_variant
- board = genericSTM32F103ZE
- board_build.crypt_chitu = update.cbd
- board_build.variant = MARLIN_F103Zx
- board_build.offset = 0x8800
- board_build.offset_address = 0x08008800
- build_flags = ${stm32_variant.build_flags}
- -DSTM32F1xx
- build_unflags = ${stm32_variant.build_unflags}
- extra_scripts = ${stm32_variant.extra_scripts}
- buildroot/share/PlatformIO/scripts/chitu_crypt.py
- #
- # Some Chitu V5 boards have a problem with GPIO init.
- # Use this target if G28 or G29 are always failing.
- #
- [env:chitu_v5_gpio_init]
- extends = env:chitu_f103
- build_flags = ${env:chitu_f103.build_flags} -DCHITU_V5_Z_MIN_BUGFIX
- #
- # Zonestar ZM3E2 V1.0 / ZM3E4 V1.0 / ZM3E4 V2.0
- #
- # STM32F103RC_ZM3E2_USB ........... RCT6 with 256K
- # STM32F103VC_ZM3E4_USB ........... VCT6 with 256K
- # STM32F103VE_ZM3E4V2_USB ......... VET6 with 512K
- #
- [ZONESTAR_ZM3E]
- extends = stm32_variant
- platform_packages = ${stm_flash_drive.platform_packages}
- board_upload.offset_address = 0x08005000
- board_build.offset = 0x5000
- board_upload.maximum_size = 237568
- extra_scripts = ${stm32_variant.extra_scripts}
- build_flags = ${stm32_variant.build_flags}
- -DSS_TIMER=4 -DTIMER_SERVO=TIM5 -DUSE_USB_FS -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6 -DUSBD_USE_CDC_MSC
- build_unflags = ${stm32_variant.build_unflags} -DUSBD_USE_CDC
- [env:STM32F103RC_ZM3E2_USB]
- extends = ZONESTAR_ZM3E
- board = genericSTM32F103RC
- board_build.variant = MARLIN_F103Rx
- [env:STM32F103VC_ZM3E4_USB]
- extends = ZONESTAR_ZM3E
- board = genericSTM32F103VC
- board_build.variant = MARLIN_F103Vx
- build_flags = ${ZONESTAR_ZM3E.build_flags} -DTIMER_TONE=TIM1
- [env:STM32F103VE_ZM3E4V2_USB]
- extends = ZONESTAR_ZM3E
- board = genericSTM32F103VE
- board_build.variant = MARLIN_F103Vx
- build_flags = ${ZONESTAR_ZM3E.build_flags} -DTIMER_TONE=TIM1
- board_upload.maximum_size = 499712
- #
- # Mingda D2 DZ301 V1.0 (STM32F103ZE)
- #
- [env:mingda_d301]
- extends = stm32_variant
- board = genericSTM32F103ZE
- board_build.variant = MARLIN_F103Zx
- board_build.offset = 0x7000
- board_upload.offset_address = 0x08007000
- build_flags = ${stm32_variant.build_flags} -DSTM32F1xx
- #
- # ORCA 3D SPRINGER Modular Controller (STM32F103VCT6)
- #
- [env:STM32F103VC_orca3d]
- extends = stm32_variant
- board = genericSTM32F103VC
- board_build.variant = MARLIN_F103Vx
- build_flags = ${stm32_variant.build_flags} -DDEBUG_LEVEL=0
- monitor_speed = 115200
- board_build.offset = 0x8000
- board_upload.offset_address = 0x08008000
|