stm32f4.ini 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908
  1. #
  2. # Marlin Firmware
  3. # PlatformIO Configuration File
  4. #
  5. #################################
  6. #
  7. # STM32F4 Architecture
  8. #
  9. # Naming Example: STM32F401RGT6
  10. #
  11. # F : Foundation (sometimes High Performance F2/F4)
  12. # 4 : Cortex M4 core (0:M0, 1-2:M3, 3-4:M4, 7:M7)
  13. # 01 : Line/Features
  14. # R : 64 or 66 pins (T:36, C:48 or 49, M:81, V:100, Z:144, I:176)
  15. # G : 1024KB Flash-memory (B:128KB, C:256KB, D:384KB, E:512KB)
  16. # T : LQFP package
  17. # 6 : -40...85°C (7: ...105°C)
  18. #
  19. #################################
  20. #
  21. # ARMED (STM32)
  22. #
  23. [env:ARMED]
  24. extends = common_stm32
  25. board = armed_v1
  26. build_flags = ${common_stm32.build_flags}
  27. -O2 -ffreestanding -fsigned-char -fno-move-loop-invariants -fno-strict-aliasing
  28. #
  29. # STM32F401RC
  30. #
  31. [env:FYSETC_CHEETAH_V20]
  32. extends = stm32_variant
  33. board = marlin_FYSETC_CHEETAH_V20
  34. board_build.offset = 0x8000
  35. build_flags = ${stm32_variant.build_flags} -DSTM32F401xC
  36. upload_command = dfu-util -a 0 -s 0x08008000:leave -D "$SOURCE"
  37. #
  38. # STM32F446RC nobootloader
  39. #
  40. [env:FYSETC_CHEETAH_V30]
  41. extends = stm32_variant
  42. board = marlin_FYSETC_CHEETAH_V30
  43. build_flags = ${stm32_variant.build_flags} -DHAL_PCD_MODULE_ENABLED
  44. debug_tool = stlink
  45. upload_protocol = dfu
  46. upload_command = dfu-util -a 0 -s 0x08000000:leave -D "$SOURCE"
  47. #
  48. # FLYF407ZG
  49. #
  50. [env:FLYF407ZG]
  51. extends = stm32_variant
  52. board = marlin_STM32F407ZGT6
  53. board_build.variant = MARLIN_FLY_F407ZG
  54. board_build.offset = 0x8000
  55. upload_protocol = dfu
  56. #
  57. # FYSETC S6 (STM32F446RET6 ARM Cortex-M4)
  58. #
  59. [env:FYSETC_S6]
  60. extends = stm32_variant
  61. board = marlin_fysetc_s6
  62. board_build.offset = 0x10000
  63. board_upload.offset_address = 0x08010000
  64. build_flags = ${stm32_variant.build_flags} -DHAL_PCD_MODULE_ENABLED
  65. debug_tool = stlink
  66. upload_protocol = dfu
  67. upload_command = dfu-util -a 0 -s 0x08010000:leave -D "$SOURCE"
  68. #
  69. # FYSETC S6 new bootloader
  70. #
  71. [env:FYSETC_S6_8000]
  72. extends = env:FYSETC_S6
  73. board = marlin_fysetc_s6
  74. board_build.offset = 0x8000
  75. board_upload.offset_address = 0x08008000
  76. upload_command = dfu-util -a 0 -s 0x08008000:leave -D "$SOURCE"
  77. #
  78. # FYSETC SPIDER KING407 (STM32F407ZGT6 ARM Cortex-M4)
  79. #
  80. [env:FYSETC_SPIDER_KING407]
  81. extends = stm32_variant
  82. board = marlin_STM32F407ZGT6
  83. board_build.variant = MARLIN_FYSETC_SPIDER_KING407
  84. board_build.offset = 0x8000
  85. upload_protocol = dfu
  86. #
  87. # STM32F407VET6 with RAMPS-like shield
  88. # 'Black' STM32F407VET6 board - https://wiki.stm32duino.com/index.php?title=STM32F407
  89. # Shield - https://github.com/jmz52/Hardware
  90. #
  91. [env:STM32F407VE_black]
  92. extends = stm32_variant
  93. board = marlin_blackSTM32F407VET6
  94. build_flags = ${stm32_variant.build_flags}
  95. -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS
  96. #
  97. # STM32F407VET6 Opulo Lumen REV3
  98. #
  99. [env:Opulo_Lumen_REV3]
  100. extends = stm32_variant
  101. board = marlin_opulo_lumen_rev3
  102. build_flags = ${stm32_variant.build_flags}
  103. -DARDUINO_BLACK_F407VE
  104. -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS -DHAS_STM32_UID
  105. extra_scripts = ${stm32_variant.extra_scripts}
  106. #
  107. # STM32F407VET6 Opulo Lumen REV4
  108. #
  109. [env:Opulo_Lumen_REV4]
  110. extends = stm32_variant
  111. board = marlin_opulo_lumen_rev4
  112. build_flags = ${stm32_variant.build_flags}
  113. -DARDUINO_BLACK_F407VE
  114. -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS -DHAS_STM32_UID
  115. extra_scripts = ${stm32_variant.extra_scripts}
  116. #
  117. # Anet ET4-MB_V1.x/ET4P-MB_V1.x (STM32F407VGT6 ARM Cortex-M4)
  118. #
  119. [Anet_ET4]
  120. extends = stm32_variant
  121. board = marlin_STM32F407VGT6_CCM
  122. board_build.variant = MARLIN_F4x7Vx
  123. build_flags = ${stm32_variant.build_flags}
  124. -DHAL_SD_MODULE_ENABLED -DHAL_SRAM_MODULE_ENABLED
  125. build_unflags = ${stm32_variant.build_unflags}
  126. -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483
  127. #
  128. # Anet ET4 directly flashed via ST-Link
  129. #
  130. [env:Anet_ET4_no_bootloader]
  131. extends = Anet_ET4
  132. debug_tool = stlink
  133. upload_protocol = stlink
  134. #
  135. # Anet ET4 with OpenBLT from https://github.com/davidtgbe/openblt/releases
  136. #
  137. [env:Anet_ET4_OpenBLT]
  138. extends = Anet_ET4
  139. board_build.encode = firmware.srec
  140. board_build.offset = 0x10000
  141. board_upload.offset_address = 0x08010000
  142. extra_scripts = ${stm32_variant.extra_scripts}
  143. buildroot/share/PlatformIO/scripts/openblt.py
  144. #
  145. # BigTreeTech SKR Pro (STM32F407ZGT6 ARM Cortex-M4)
  146. #
  147. [env:BTT_SKR_PRO]
  148. extends = stm32_variant
  149. board = marlin_BTT_SKR_Pro
  150. board_build.offset = 0x8000
  151. build_flags = ${stm32_variant.build_flags} -DSTM32F407_5ZX
  152. debug_tool = stlink
  153. upload_protocol = stlink
  154. #
  155. # BigTreeTech SKR Pro (STM32F407ZGT6 ARM Cortex-M4) with USB Flash Drive Support
  156. #
  157. [env:BTT_SKR_PRO_usb_flash_drive]
  158. extends = env:BTT_SKR_PRO
  159. platform_packages = ${stm_flash_drive.platform_packages}
  160. build_flags = ${stm_flash_drive.build_flags} -DSTM32F407_5ZX
  161. build_unflags = ${env:BTT_SKR_PRO.build_unflags} -DUSBCON -DUSBD_USE_CDC
  162. #
  163. # BigTreeTech E3 RRF (STM32F407VGT6 ARM Cortex-M4)
  164. #
  165. [env:BTT_E3_RRF]
  166. extends = stm32_variant
  167. board = marlin_STM32F407VGT6_CCM
  168. board_build.variant = MARLIN_BTT_E3_RRF
  169. board_build.offset = 0x8000
  170. build_flags = ${stm32_variant.build_flags}
  171. -DSTM32F407_5VX
  172. -DMF_RX_BUFFER_SIZE=255
  173. -DMF_TX_BUFFER_SIZE=255
  174. #
  175. # Bigtreetech GTR V1.0 (STM32F407IGT6 ARM Cortex-M4)
  176. #
  177. [env:BTT_GTR_V1_0]
  178. extends = stm32_variant
  179. board = marlin_BTT_GTR_v1
  180. board_build.offset = 0x8000
  181. build_flags = ${stm32_variant.build_flags} -DSTM32F407IX
  182. #
  183. # Bigtreetech GTR V1.0 (STM32F407IGT6 ARM Cortex-M4) with USB Flash Drive Support
  184. #
  185. [env:BTT_GTR_V1_0_usb_flash_drive]
  186. extends = env:BTT_GTR_V1_0
  187. platform_packages = ${stm_flash_drive.platform_packages}
  188. build_flags = ${stm_flash_drive.build_flags} -DSTM32F407IX
  189. build_unflags = ${env:BTT_GTR_V1_0.build_unflags} -DUSBCON -DUSBD_USE_CDC
  190. #
  191. # BigTreeTech BTT002 V1.0 (STM32F407VGT6 ARM Cortex-M4)
  192. #
  193. [env:BTT_BTT002]
  194. extends = stm32_variant
  195. board = marlin_BTT_BTT002
  196. board_build.offset = 0x8000
  197. build_flags = ${stm32_variant.build_flags}
  198. -DSTM32F407_5VX
  199. -DHAVE_HWSERIAL2
  200. -DHAVE_HWSERIAL3
  201. -DPIN_SERIAL2_RX=PD_6
  202. -DPIN_SERIAL2_TX=PD_5
  203. #
  204. # BigTreeTech BTT002 V1.x with 512k of flash (STM32F407VET6 ARM Cortex-M4)
  205. #
  206. [env:BTT_BTT002_VET6]
  207. extends = env:BTT_BTT002
  208. board = marlin_BTT_BTT002_VET6
  209. #
  210. # BigTreeTech SKR V2.0 (STM32F407VGT6 ARM Cortex-M4) with USB Flash Drive Support
  211. #
  212. [env:STM32F407VG_btt]
  213. extends = stm32_variant
  214. platform_packages = ${stm_flash_drive.platform_packages}
  215. board = marlin_STM32F407VGT6_CCM
  216. board_build.variant = MARLIN_F4x7Vx
  217. board_build.offset = 0x8000
  218. board_upload.offset_address = 0x08008000
  219. build_flags = ${stm_flash_drive.build_flags}
  220. -DUSE_USBHOST_HS -DUSE_USB_HS_IN_FS
  221. -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6
  222. -DHSE_VALUE=8000000U -DHAL_SD_MODULE_ENABLED
  223. -DPIN_SERIAL3_RX=PD_9 -DPIN_SERIAL3_TX=PD_8
  224. upload_protocol = stlink
  225. #
  226. # BigTreeTech SKR V2.0 (STM32F407VGT6 ARM Cortex-M4) with USB Media Share Support
  227. #
  228. [env:STM32F407VG_btt_USB]
  229. extends = env:STM32F407VG_btt
  230. build_flags = ${env:STM32F407VG_btt.build_flags} -DUSBD_USE_CDC_MSC
  231. build_unflags = ${env:STM32F407VG_btt.build_unflags} -DUSBD_USE_CDC
  232. [env:STM32F407VG_btt_USB_debug]
  233. extends = env:STM32F407VG_btt_USB
  234. build_flags = ${env:STM32F407VG_btt_USB.build_flags} -O0
  235. build_unflags = ${env:STM32F407VG_btt_USB.build_unflags} -Os -NDEBUG
  236. #
  237. # Bigtreetech SKR V2.0 (STM32F429VGT6 ARM Cortex-M4) with USB Flash Drive Support
  238. #
  239. [env:STM32F429VG_btt]
  240. extends = env:STM32F407VG_btt
  241. board = marlin_STM32F429VGT6
  242. #
  243. # BigTreeTech SKR V2.0 (STM32F429VGT6 ARM Cortex-M4) with USB Media Share Support
  244. #
  245. [env:STM32F429VG_btt_USB]
  246. extends = env:STM32F429VG_btt
  247. build_flags = ${env:STM32F429VG_btt.build_flags} -DUSBD_USE_CDC_MSC
  248. build_unflags = ${env:STM32F429VG_btt.build_unflags} -DUSBD_USE_CDC
  249. [env:STM32F429VG_btt_USB_debug]
  250. extends = env:STM32F429VG_btt_USB
  251. build_flags = ${env:STM32F429VG_btt_USB.build_flags} -O0
  252. build_unflags = ${env:STM32F429VG_btt_USB.build_unflags} -Os -NDEBUG
  253. #
  254. # BigTreeTech Octopus V1.0/1.1 / Octopus Pro V1.0 (STM32F446ZET6 ARM Cortex-M4)
  255. #
  256. [env:STM32F446ZE_btt]
  257. extends = stm32_variant
  258. board = marlin_BTT_Octopus_v1
  259. board_build.offset = 0x8000
  260. board_upload.offset_address = 0x08008000
  261. debug_tool = stlink
  262. upload_protocol = stlink
  263. build_flags = ${stm32_variant.build_flags}
  264. -DSTM32F446_5VX -DUSE_USB_HS_IN_FS
  265. #
  266. # BigTreeTech Octopus V1.0/1.1 / Octopus Pro V1.0 (STM32F446ZET6 ARM Cortex-M4) with USB Flash Drive Support
  267. #
  268. [env:STM32F446ZE_btt_usb_flash_drive]
  269. extends = env:STM32F446ZE_btt
  270. platform_packages = ${stm_flash_drive.platform_packages}
  271. build_unflags = -DUSBD_USE_CDC
  272. build_flags = ${stm_flash_drive.build_flags}
  273. -DSTM32F446_5VX -DUSE_USB_HS_IN_FS
  274. -DUSE_USBHOST_HS -DUSBD_IRQ_PRIO=5
  275. -DUSBD_IRQ_SUBPRIO=6
  276. -DUSBD_USE_CDC_MSC
  277. #
  278. # BigTreeTech Octopus V1.1 / Octopus Pro V1.0 (STM32F429ZGT6 ARM Cortex-M4)
  279. #
  280. [env:STM32F429ZG_btt]
  281. extends = stm32_variant
  282. board = marlin_BTT_Octopus_Pro_v1_F429
  283. board_build.offset = 0x8000
  284. board_upload.offset_address = 0x08008000
  285. debug_tool = stlink
  286. upload_protocol = stlink
  287. build_flags = ${stm32_variant.build_flags}
  288. -DUSE_USB_HS_IN_FS
  289. #
  290. # BigTreeTech Octopus V1.1 / Octopus Pro V1.0 (STM32F429ZGT6 ARM Cortex-M4) with USB Flash Drive Support
  291. #
  292. [env:STM32F429ZG_btt_usb_flash_drive]
  293. extends = env:STM32F429ZG_btt
  294. platform_packages = ${stm_flash_drive.platform_packages}
  295. build_unflags = -DUSBD_USE_CDC
  296. build_flags = ${stm_flash_drive.build_flags}
  297. -DUSE_USB_HS_IN_FS -DUSE_USBHOST_HS
  298. -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6
  299. -DUSBD_USE_CDC_MSC
  300. #
  301. # BigTreeTech Octopus / Octopus Pro (STM32F407ZET6 ARM Cortex-M4)
  302. #
  303. [env:STM32F407ZE_btt]
  304. extends = stm32_variant
  305. board = marlin_STM32F407ZE
  306. board_build.offset = 0x8000
  307. build_flags = ${stm32_variant.build_flags}
  308. -DUSE_USB_HS_IN_FS
  309. #
  310. # BigTreeTech Octopus / Octopus Pro (STM32F407ZET6 ARM Cortex-M4) with USB Flash Drive Support
  311. #
  312. [env:STM32F407ZE_btt_usb_flash_drive]
  313. extends = env:STM32F407ZE_btt
  314. platform_packages = ${stm_flash_drive.platform_packages}
  315. build_unflags = -DUSBD_USE_CDC
  316. build_flags = ${stm_flash_drive.build_flags}
  317. -DUSE_USB_HS_IN_FS -DUSE_USBHOST_HS
  318. -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6
  319. -DUSBD_USE_CDC_MSC
  320. #
  321. # Lerdge base
  322. #
  323. [lerdge_common]
  324. extends = stm32_variant
  325. board = marlin_STM32F407ZGT6
  326. board_build.variant = MARLIN_LERDGE
  327. board_build.crypt_lerdge = firmware.bin
  328. board_build.offset = 0x10000
  329. build_flags = ${stm32_variant.build_flags}
  330. -DSTM32F4 -DSTM32F4xx -DTARGET_STM32F4
  331. -DDISABLE_GENERIC_SERIALUSB -DARDUINO_ARCH_STM32 -DLERDGE_TFT35
  332. build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483
  333. extra_scripts = ${stm32_variant.extra_scripts}
  334. buildroot/share/PlatformIO/scripts/lerdge.py
  335. #
  336. # Lerdge X (STM32F407VE)
  337. #
  338. [env:LERDGEX]
  339. extends = lerdge_common
  340. board_build.crypt_lerdge = Lerdge_X_firmware_force.bin
  341. #
  342. # Lerdge X with USB Flash Drive Support
  343. #
  344. [env:LERDGEX_usb_flash_drive]
  345. extends = env:LERDGEX
  346. platform_packages = ${stm_flash_drive.platform_packages}
  347. build_flags = ${stm_flash_drive.build_flags} ${lerdge_common.build_flags}
  348. #
  349. # Lerdge S (STM32F407ZG)
  350. #
  351. [env:LERDGES]
  352. extends = lerdge_common
  353. board_build.crypt_lerdge = Lerdge_firmware_force.bin
  354. #
  355. # Lerdge S with USB Flash Drive Support
  356. #
  357. [env:LERDGES_usb_flash_drive]
  358. extends = env:LERDGES
  359. platform_packages = ${stm_flash_drive.platform_packages}
  360. build_flags = ${stm_flash_drive.build_flags} ${lerdge_common.build_flags}
  361. #
  362. # Lerdge K (STM32F407ZG)
  363. #
  364. [env:LERDGEK]
  365. extends = lerdge_common
  366. board_build.crypt_lerdge = Lerdge_K_firmware_force.bin
  367. build_flags = ${lerdge_common.build_flags} -DLERDGEK
  368. #
  369. # Lerdge K with USB Flash Drive Support
  370. #
  371. [env:LERDGEK_usb_flash_drive]
  372. extends = env:LERDGEK
  373. platform_packages = ${stm_flash_drive.platform_packages}
  374. build_flags = ${stm_flash_drive.build_flags} ${lerdge_common.build_flags}
  375. #
  376. # RUMBA32
  377. #
  378. [env:rumba32]
  379. extends = stm32_variant
  380. board = rumba32_f446ve
  381. board_build.variant = MARLIN_F446VE
  382. board_build.offset = 0x0000
  383. build_flags = ${stm32_variant.build_flags}
  384. -Os -DHAL_PCD_MODULE_ENABLED
  385. -DDISABLE_GENERIC_SERIALUSB
  386. -DHAL_UART_MODULE_ENABLED
  387. -DTIMER_SERIAL=TIM9
  388. monitor_speed = 500000
  389. upload_protocol = dfu
  390. #
  391. # STM32F407ZET6 ARM Cortex-M4
  392. #
  393. [env:mks_robin2]
  394. extends = stm32_variant
  395. board = marlin_MKS_ROBIN2
  396. board_build.offset = 0xC000
  397. board_upload.offset_address = 0x0800C000
  398. board_build.encrypt_mks = Robin2.bin
  399. build_flags = ${stm32_variant.build_flags}
  400. -DTARGET_STM32F4 -DSTM32F407_5ZX
  401. -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483 -DUSBD_PID=0x3748 -DUSB_PRODUCT=\"MKS_Robin2\"
  402. #
  403. # MKS Robin Pro V2 (No bootloader!)
  404. #
  405. [env:mks_robin_pro2]
  406. extends = stm32_variant
  407. platform_packages = ${stm_flash_drive.platform_packages}
  408. board = genericSTM32F407VET6
  409. board_build.variant = MARLIN_F4x7Vx
  410. board_build.offset = 0x0000
  411. board_upload.offset_address = 0x08000000
  412. build_flags = ${stm_flash_drive.build_flags}
  413. build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC
  414. debug_tool = jlink
  415. upload_protocol = jlink
  416. #
  417. # This I2C1(PB6:I2C1_SCL PB7:I2C1_SDA) is used by Robin Nano V3
  418. #
  419. [stm32f4_I2C1]
  420. build_flags = -DPIN_WIRE_SCL=PB6 -DPIN_WIRE_SDA=PB7
  421. #
  422. # MKS Robin Nano V3
  423. #
  424. [env:mks_robin_nano_v3]
  425. extends = stm32_variant
  426. board = marlin_STM32F407VGT6_CCM
  427. board_build.variant = MARLIN_F4x7Vx
  428. board_build.offset = 0xC000
  429. board_upload.offset_address = 0x0800C000
  430. board_build.rename = Robin_nano_v3.bin
  431. build_flags = ${stm32_variant.build_flags} ${stm32f4_I2C1.build_flags}
  432. -DHAL_PCD_MODULE_ENABLED
  433. debug_tool = jlink
  434. upload_protocol = jlink
  435. #
  436. # MKS Robin Nano V3 with USB Flash Drive Support
  437. #
  438. [env:mks_robin_nano_v3_usb_flash_drive]
  439. extends = env:mks_robin_nano_v3
  440. platform_packages = ${stm_flash_drive.platform_packages}
  441. build_flags = ${stm_flash_drive.build_flags} ${stm32f4_I2C1.build_flags}
  442. -DUSE_USBHOST_HS
  443. -DUSBD_IRQ_PRIO=5
  444. -DUSBD_IRQ_SUBPRIO=6
  445. -DUSE_USB_HS_IN_FS
  446. #
  447. # MKS Robin Nano V3 with USB Flash Drive Support and Shared Media
  448. #
  449. [env:mks_robin_nano_v3_usb_flash_drive_msc]
  450. extends = env:mks_robin_nano_v3_usb_flash_drive
  451. build_flags = ${env:mks_robin_nano_v3_usb_flash_drive.build_flags}
  452. -DUSBD_USE_CDC_MSC
  453. build_unflags = -DUSBD_USE_CDC
  454. #
  455. # MKS Robin Nano V3_1
  456. #
  457. [env:mks_robin_nano_v3_1]
  458. extends = env:mks_robin_nano_v3
  459. board = marlin_STM32F407VET6_CCM
  460. #
  461. # MKS Robin Nano V3.1 with USB Flash Drive Support
  462. #
  463. [env:mks_robin_nano_v3_1_usb_flash_drive]
  464. extends = env:mks_robin_nano_v3_usb_flash_drive
  465. board = marlin_STM32F407VET6_CCM
  466. #
  467. # MKS Robin Nano V3.1 with USB Flash Drive Support and Shared Media
  468. #
  469. [env:mks_robin_nano_v3_1_usb_flash_drive_msc]
  470. extends = env:mks_robin_nano_v3_usb_flash_drive_msc
  471. board = marlin_STM32F407VET6_CCM
  472. #
  473. # MKS Eagle
  474. # 5 TMC2209 uart mode on board
  475. #
  476. [env:mks_eagle]
  477. extends = stm32_variant
  478. board = marlin_STM32F407VGT6_CCM
  479. board_build.variant = MARLIN_F4x7Vx
  480. board_build.offset = 0xC000
  481. board_upload.offset_address = 0x0800C000
  482. board_build.rename = mks_eagle.bin
  483. build_flags = ${stm32_variant.build_flags} ${stm32f4_I2C1.build_flags}
  484. -DHAL_PCD_MODULE_ENABLED
  485. -DSTM32_FLASH_SIZE=512
  486. debug_tool = jlink
  487. upload_protocol = jlink
  488. #
  489. # MKS Eagle with USB Flash Drive Support
  490. #
  491. [env:mks_eagle_usb_flash_drive]
  492. extends = env:mks_eagle
  493. platform_packages = ${stm_flash_drive.platform_packages}
  494. build_flags = ${stm_flash_drive.build_flags} ${stm32f4_I2C1.build_flags}
  495. -DUSE_USBHOST_HS
  496. -DUSBD_IRQ_PRIO=5
  497. -DUSBD_IRQ_SUBPRIO=6
  498. -DUSE_USB_HS_IN_FS
  499. #
  500. # MKS Eagle with USB Flash Drive Support and Shared Media
  501. #
  502. [env:mks_eagle_usb_flash_drive_msc]
  503. extends = env:mks_eagle_usb_flash_drive
  504. build_flags = ${env:mks_eagle_usb_flash_drive.build_flags}
  505. -DUSBD_USE_CDC_MSC
  506. build_unflags = -DUSBD_USE_CDC
  507. #
  508. # This I2C1(PB8:I2C1_SCL PB9:I2C1_SDA) is used by MKS Monster8
  509. #
  510. [stm32f4_I2C1_CAN]
  511. build_flags = -DPIN_WIRE_SCL=PB8 -DPIN_WIRE_SDA=PB9
  512. #
  513. # MKS Monster8 V1 / V2 (STM32F407VET6 ARM Cortex-M4)
  514. #
  515. [env:mks_monster8]
  516. extends = stm32_variant
  517. board = marlin_STM32F407VGT6_CCM
  518. board_build.variant = MARLIN_F4x7Vx
  519. board_build.offset = 0xC000
  520. board_upload.offset_address = 0x0800C000
  521. board_build.rename = mks_monster8.bin
  522. build_flags = ${stm32_variant.build_flags} ${stm32f4_I2C1_CAN.build_flags}
  523. -DHAL_PCD_MODULE_ENABLED -DTIMER_SERIAL=TIM4
  524. -DSTM32_FLASH_SIZE=512
  525. debug_tool = jlink
  526. upload_protocol = jlink
  527. #
  528. # MKS Monster8 V1 / V2 (STM32F407VET6 ARM Cortex-M4) with USB Flash Drive Support
  529. #
  530. [env:mks_monster8_usb_flash_drive]
  531. extends = env:mks_monster8
  532. platform_packages = ${stm_flash_drive.platform_packages}
  533. build_flags = ${stm_flash_drive.build_flags} ${stm32f4_I2C1_CAN.build_flags}
  534. -DUSE_USBHOST_HS
  535. -DUSBD_IRQ_PRIO=5
  536. -DUSBD_IRQ_SUBPRIO=6
  537. -DUSE_USB_HS_IN_FS
  538. #
  539. # MKS Monster8 V1 / V2 (STM32F407VET6 ARM Cortex-M4) with USB Flash Drive Support and Shared Media
  540. #
  541. [env:mks_monster8_usb_flash_drive_msc]
  542. extends = env:mks_monster8_usb_flash_drive
  543. build_flags = ${env:mks_monster8_usb_flash_drive.build_flags}
  544. -DUSBD_USE_CDC_MSC
  545. build_unflags = -DUSBD_USE_CDC
  546. #
  547. # TH3D EZBoard v2.0 (STM32F405RGT6 ARM Cortex-M4)
  548. #
  549. [TH3D_EZBoard_V2]
  550. extends = stm32_variant
  551. board = genericSTM32F405RG
  552. board_build.variant = MARLIN_TH3D_EZBOARD_V2
  553. build_flags = ${stm32_variant.build_flags} -DHSE_VALUE=12000000U -O0
  554. #
  555. # TH3D EZBoard v2.0 directly flashed via ST-Link
  556. #
  557. [env:TH3D_EZBoard_V2_no_bootloader]
  558. extends = TH3D_EZBoard_V2
  559. debug_tool = stlink
  560. upload_protocol = stlink
  561. #
  562. # TH3D EZBoard v2.0 with OpenBLT from https://github.com/rhapsodyv/OpenBLT-STM32
  563. #
  564. [env:TH3D_EZBoard_V2_OpenBLT]
  565. extends = TH3D_EZBoard_V2
  566. board_build.encode = firmware.bin
  567. board_build.offset = 0xC000
  568. board_upload.offset_address = 0x0800C000
  569. extra_scripts = ${stm32_variant.extra_scripts}
  570. buildroot/share/PlatformIO/scripts/openblt.py
  571. [mks_robin_nano_v1_3_f4_common]
  572. extends = stm32_variant
  573. board = marlin_STM32F407VGT6_CCM
  574. board_build.variant = MARLIN_F4x7Vx
  575. board_build.offset = 0x8000
  576. board_upload.offset_address = 0x08008000
  577. board_build.rename = Robin_nano35.bin
  578. debug_tool = jlink
  579. upload_protocol = jlink
  580. #
  581. # BOARD_MKS_ROBIN_NANO_V1_3_F4
  582. # - MKS Robin Nano V1.3 (STM32F407VET6, 5 Pololu Plug)
  583. # - MKS Robin Nano-S V1.3 (STM32F407VET6, 4 TMC2225, 1 Pololu Plug)
  584. # - ZNP Robin Nano V1.3 (STM32F407VET6, 2 TMC2208, 2 A4988, 1x Polulu plug)
  585. #
  586. [env:mks_robin_nano_v1_3_f4]
  587. extends = mks_robin_nano_v1_3_f4_common
  588. build_flags = ${stm32_variant.build_flags}
  589. -DMCU_STM32F407VE -DENABLE_HWSERIAL3 -DSTM32_FLASH_SIZE=512
  590. -DTIMER_SERVO=TIM2 -DTIMER_TONE=TIM3 -DSS_TIMER=4
  591. -DHAL_SD_MODULE_ENABLED -DHAL_SRAM_MODULE_ENABLED
  592. build_unflags = ${stm32_variant.build_unflags}
  593. -DUSBCON -DUSBD_USE_CDC
  594. #
  595. # MKS/ZNP Robin Nano V1.3 with native USB mod
  596. #
  597. [env:mks_robin_nano_v1_3_f4_usbmod]
  598. extends = mks_robin_nano_v1_3_f4_common
  599. build_flags = ${stm32_variant.build_flags}
  600. -DMCU_STM32F407VE -DSTM32_FLASH_SIZE=512
  601. -DTIMER_SERVO=TIM2 -DTIMER_TONE=TIM3 -DSS_TIMER=4
  602. -DHAL_SD_MODULE_ENABLED -DHAL_SRAM_MODULE_ENABLED
  603. #
  604. # Artillery Ruby
  605. #
  606. [env:Artillery_Ruby]
  607. extends = common_stm32
  608. board = marlin_Artillery_Ruby
  609. build_flags = ${common_stm32.build_flags}
  610. -DSTM32F401xC -DTARGET_STM32F4 -DDISABLE_GENERIC_SERIALUSB -DARDUINO_ARCH_STM32
  611. -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS
  612. -DUSB_PRODUCT=\"Artillery_3D_Printer\"
  613. -DFLASH_DATA_SECTOR=1U -DFLASH_BASE_ADDRESS=0x08004000
  614. extra_scripts = ${common_stm32.extra_scripts}
  615. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  616. #
  617. # Ender-3 S1 STM32F401RC_creality
  618. #
  619. [STM32F401RC_creality_base]
  620. extends = stm32_variant
  621. board = genericSTM32F401RC
  622. board_build.variant = MARLIN_CREALITY_STM32F401RC
  623. build_flags = ${stm32_variant.build_flags} -DMCU_STM32F401RC -DSTM32F4
  624. -DSS_TIMER=4 -DTIMER_SERVO=TIM5
  625. -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8
  626. build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC
  627. monitor_speed = 115200
  628. [env:STM32F401RC_creality]
  629. extends = STM32F401RC_creality_base
  630. board_build.offset = 0x10000
  631. board_upload.offset_address = 0x08010000
  632. board_build.rename = firmware-{date}-{time}.bin
  633. [env:STM32F401RC_creality_nobootloader]
  634. extends = STM32F401RC_creality_base
  635. board_build.offset = 0x0000
  636. board_upload.offset_address = 0x08000000
  637. debug_tool = stlink
  638. upload_protocol = stlink
  639. [env:STM32F401RC_creality_jlink]
  640. extends = env:STM32F401RC_creality
  641. debug_tool = jlink
  642. upload_protocol = jlink
  643. [env:STM32F401RC_creality_stlink]
  644. extends = env:STM32F401RC_creality
  645. debug_tool = stlink
  646. upload_protocol = stlink
  647. #
  648. # Ender-5 S1 STM32F401RE_creality (CR4NS200141C13 with STM32F401RET6)
  649. #
  650. [env:STM32F401RE_creality]
  651. extends = stm32_variant
  652. board = marlin_CREALITY_STM32F401RE
  653. board_build.offset = 0x10000
  654. board_upload.offset_address = 0x08010000
  655. board_build.rename = firmware-{date}-{time}.bin
  656. build_flags = ${stm32_variant.build_flags} -DSTM32F401xE -DSTM32F4 -DSTM32F4_UPDATE_FOLDER
  657. build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC
  658. monitor_speed = 115200
  659. [env:STM32F401RE_creality_jlink]
  660. extends = env:STM32F401RE_creality
  661. debug_tool = jlink
  662. upload_protocol = jlink
  663. [env:STM32F401RE_creality_stlink]
  664. extends = env:STM32F401RE_creality
  665. debug_tool = stlink
  666. upload_protocol = stlink
  667. #
  668. # STM32F401RE_freeruns Creality E3 Free-runs Silent Motherboard
  669. #
  670. [env:STM32F401RE_freeruns]
  671. extends = stm32_variant
  672. board = marlin_STM32F401RE_freeruns
  673. board_build.offset = 0x10000
  674. board_upload.offset_address = 0x08010000
  675. board_build.rename = firmware-{date}-{time}.bin
  676. build_flags = ${stm32_variant.build_flags} -DSTM32F401xE
  677. -DSS_TIMER=4 -DTIMER_SERVO=TIM5
  678. -DTRANSFER_CLOCK_DIV=8
  679. build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC
  680. monitor_speed = 115200
  681. [env:STM32F401RE_freeruns_jlink]
  682. extends = env:STM32F401RE_freeruns
  683. debug_tool = jlink
  684. upload_protocol = jlink
  685. [env:STM32F401RE_freeruns_stlink]
  686. extends = env:STM32F401RE_freeruns
  687. debug_tool = stlink
  688. upload_protocol = stlink
  689. #
  690. # BigTree SKR mini E3 V3.0.1 (STM32F401RCT6 ARM Cortex-M4)
  691. #
  692. [env:STM32F401RC_btt]
  693. extends = stm32_variant
  694. platform = ststm32@~14.1.0
  695. platform_packages = framework-arduinoststm32@~4.20600.231001
  696. toolchain-gccarmnoneeabi@1.100301.220327
  697. board = marlin_STM32F401RC
  698. board_build.offset = 0x4000
  699. board_upload.offset_address = 0x08004000
  700. build_flags = ${stm32_variant.build_flags}
  701. -DPIN_SERIAL6_RX=PC_7 -DPIN_SERIAL6_TX=PC_6
  702. -DSERIAL_RX_BUFFER_SIZE=1024 -DSERIAL_TX_BUFFER_SIZE=1024
  703. -DTIMER_SERVO=TIM3 -DTIMER_TONE=TIM4
  704. -DSTEP_TIMER_IRQ_PRIO=0
  705. upload_protocol = stlink
  706. debug_tool = stlink
  707. #
  708. # BigTreeTech SKR Mini E3 V3.0.1 (STM32F401RCT6 ARM Cortex-M0+)
  709. # Custom upload to SD via Marlin with Binary Protocol
  710. # Requires Marlin with BINARY_FILE_TRANSFER already installed on the target board.
  711. # If CUSTOM_FIRMWARE_UPLOAD is also installed, Marlin will reboot the board to install the firmware.
  712. # Currently CUSTOM_FIRMWARE_UPLOAD must also be enabled to use 'xfer' build envs.
  713. #
  714. [env:STM32F401RC_btt_xfer]
  715. extends = env:STM32F401RC_btt
  716. build_flags = ${env:STM32F401RC_btt.build_flags} -DXFER_BUILD
  717. extra_scripts = ${env:STM32F401RC_btt.extra_scripts}
  718. pre:buildroot/share/scripts/upload.py
  719. upload_protocol = custom
  720. #
  721. # MKS SKIPR v1.0 all-in-one board (STM32F407VE)
  722. #
  723. [env:mks_skipr_v1]
  724. extends = stm32_variant
  725. board = marlin_MKS_SKIPR_V1
  726. board_build.rename = mks_skipr.bin
  727. [env:mks_skipr_v1_nobootloader]
  728. extends = env:mks_skipr_v1
  729. board_build.rename = firmware.bin
  730. board_build.offset = 0x0000
  731. board_upload.offset_address = 0x08000000
  732. upload_protocol = dfu
  733. upload_command = dfu-util -a 0 -s 0x08000000:leave -D "$SOURCE"
  734. #
  735. # TRONXY_CXY_446_V10 (STM32F446ZET6 ARM Cortex-M4)
  736. #
  737. [env:TRONXY_CXY_446_V10]
  738. extends = stm32_variant
  739. board = marlin_STM32F446ZET_tronxy
  740. board_build.ldscript = buildroot/share/PlatformIO/variants/MARLIN_F446Zx_TRONXY/ldscript.ld
  741. board_build.offset = 0x10000
  742. board_build.rename = fmw_tronxy.bin
  743. build_flags = ${stm32_variant.build_flags}
  744. -DSTM32F4xx -DUSE_USB_HS
  745. -DUSE_USB_HS_IN_FS
  746. build_unflags = ${stm32_variant.build_unflags} -fno-rtti
  747. -fno-threadsafe-statics -fno-exceptions
  748. -DUSBD_USE_CDC -DUSBCON
  749. extra_scripts = ${stm32_variant.extra_scripts}
  750. buildroot/share/PlatformIO/scripts/tronxy_cxy_446_v10.py
  751. #
  752. # TRONXY_CXY_446_V10 (STM32F446ZET6 ARM Cortex-M4) with USB Flash Drive Support
  753. #
  754. [env:TRONXY_CXY_446_V10_usb_flash_drive]
  755. extends = env:TRONXY_CXY_446_V10
  756. platform_packages = ${stm_flash_drive.platform_packages}
  757. #
  758. # Blackpill
  759. #
  760. [env:STM32F401CD_blackpill_stlink]
  761. platform = ${common_stm32.platform}
  762. extends = common_stm32
  763. board = blackpill_f401cc
  764. upload_protocol = stlink
  765. monitor_speed = 115200
  766. #
  767. # I3Dbeez9 (STM32F407ZGT6 ARM Cortex-M4)
  768. #
  769. [env:I3DBEEZ9_V1]
  770. extends = stm32_variant
  771. board = marlin_I3DBEEZ9
  772. board_build.offset = 0x8000
  773. build_flags = ${stm32_variant.build_flags} -DSTM32F407_5ZX
  774. debug_tool = stlink
  775. upload_protocol = stlink
  776. #
  777. # BlackBeezMini (blackpill_f401cc)
  778. #
  779. [env:BLACKBEEZMINI_V1]
  780. platform = ststm32
  781. extends = common_stm32
  782. board = blackpill_f401cc
  783. board_build.offset = 0x0000
  784. build_flags = ${common_stm32.build_flags}
  785. -Os -DHAL_PCD_MODULE_ENABLED
  786. -DHAL_UART_MODULE_ENABLED
  787. monitor_speed = 250000
  788. upload_protocol = dfu
  789. #
  790. # Mellow Fly E3 V2 (STM32F407VGT6 ARM Cortex-M4)
  791. #
  792. [env:FLY_E3_V2]
  793. extends = stm32_variant
  794. board = marlin_STM32F407VGT6_CCM
  795. board_build.variant = MARLIN_F4x7Vx
  796. board_build.offset = 0x8000
  797. board_upload.offset_address = 0x08008000
  798. build_flags = ${stm32_variant.build_flags}
  799. -DHAVE_HWSERIAL1 -DHAVE_HWSERIAL3
  800. -DPIN_SERIAL1_RX=PA_10 -DPIN_SERIAL1_TX=PA_9
  801. -DPIN_SERIAL3_RX=PD_9 -DPIN_SERIAL3_TX=PD_8
  802. -DHAL_SD_MODULE_ENABLED
  803. -DUSE_USBHOST_HS -DUSE_USB_HS_IN_FS
  804. -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6
  805. -DHSE_VALUE=8000000U
  806. upload_protocol = stlink
  807. #
  808. # XTLW3D Climber-8th-F4 (STM32F407VGT6 ARM Cortex-M4)
  809. #
  810. [env:XTLW_CLIMBER_8TH]
  811. platform = ${common_stm32.platform}
  812. extends = stm32_variant
  813. platform_packages = ${stm_flash_drive.platform_packages}
  814. board = marlin_STM32F407VGT6_CCM
  815. board_build.variant = MARLIN_F4x7Vx
  816. board_build.offset = 0x8000
  817. board_upload.offset_address = 0x08008000
  818. build_flags = ${stm_flash_drive.build_flags}
  819. -DUSE_USBHOST_HS -DUSE_USB_HS_IN_FS
  820. -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6
  821. -DHSE_VALUE=8000000U -DHAL_SD_MODULE_ENABLED
  822. -DPIN_SERIAL3_RX=PD_9 -DPIN_SERIAL3_TX=PD_8