stm32f4.ini 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646
  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. # STM32F401VE
  30. # 'STEVAL-3DP001V1' STM32F401VE board - https://www.st.com/en/evaluation-tools/steval-3dp001v1.html
  31. #
  32. [env:STM32F401VE_STEVAL]
  33. extends = stm32_variant
  34. board = marlin_STEVAL_STM32F401VE
  35. build_flags = ${stm32_variant.build_flags}
  36. -DSTM32F401xE -DDISABLE_GENERIC_SERIALUSB
  37. -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS
  38. #
  39. # STM32F401RC
  40. #
  41. [env:FYSETC_CHEETAH_V20]
  42. extends = stm32_variant
  43. board = marlin_FYSETC_CHEETAH_V20
  44. board_build.offset = 0x8000
  45. build_flags = ${stm32_variant.build_flags} -DSTM32F401xC
  46. upload_command = dfu-util -a 0 -s 0x08008000: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. # STM32F407VET6 with RAMPS-like shield
  79. # 'Black' STM32F407VET6 board - https://wiki.stm32duino.com/index.php?title=STM32F407
  80. # Shield - https://github.com/jmz52/Hardware
  81. #
  82. [env:STM32F407VE_black]
  83. extends = stm32_variant
  84. board = marlin_blackSTM32F407VET6
  85. build_flags = ${stm32_variant.build_flags}
  86. -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS
  87. #
  88. # STM32F407VET6 Opulo Lumen REV3
  89. #
  90. [env:Opulo_Lumen_REV3]
  91. extends = stm32_variant
  92. board = marlin_opulo_lumen_rev3
  93. build_flags = ${stm32_variant.build_flags}
  94. -DARDUINO_BLACK_F407VE
  95. -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS
  96. extra_scripts = ${stm32_variant.extra_scripts}
  97. #
  98. # Anet ET4-MB_V1.x/ET4P-MB_V1.x (STM32F407VGT6 ARM Cortex-M4)
  99. #
  100. [Anet_ET4]
  101. extends = stm32_variant
  102. board = marlin_STM32F407VGT6_CCM
  103. board_build.variant = MARLIN_F4x7Vx
  104. build_flags = ${stm32_variant.build_flags}
  105. -DHAL_SD_MODULE_ENABLED -DHAL_SRAM_MODULE_ENABLED
  106. build_unflags = ${stm32_variant.build_unflags}
  107. -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483
  108. #
  109. # Anet ET4 directly flashed via ST-Link
  110. #
  111. [env:Anet_ET4_no_bootloader]
  112. extends = Anet_ET4
  113. debug_tool = stlink
  114. upload_protocol = stlink
  115. #
  116. # Anet ET4 with OpenBLT from https://github.com/davidtgbe/openblt/releases
  117. #
  118. [env:Anet_ET4_OpenBLT]
  119. extends = Anet_ET4
  120. board_build.encode = firmware.srec
  121. board_build.offset = 0x10000
  122. board_upload.offset_address = 0x08010000
  123. extra_scripts = ${stm32_variant.extra_scripts}
  124. buildroot/share/PlatformIO/scripts/openblt.py
  125. #
  126. # BigTreeTech SKR Pro (STM32F407ZGT6 ARM Cortex-M4)
  127. #
  128. [env:BIGTREE_SKR_PRO]
  129. extends = stm32_variant
  130. board = marlin_BigTree_SKR_Pro
  131. board_build.offset = 0x8000
  132. build_flags = ${stm32_variant.build_flags} -DSTM32F407_5ZX
  133. debug_tool = stlink
  134. upload_protocol = stlink
  135. #
  136. # BigTreeTech SKR Pro (STM32F407ZGT6 ARM Cortex-M4) with USB Flash Drive Support
  137. #
  138. [env:BIGTREE_SKR_PRO_usb_flash_drive]
  139. extends = env:BIGTREE_SKR_PRO
  140. platform_packages = ${stm_flash_drive.platform_packages}
  141. build_flags = ${stm_flash_drive.build_flags} -DSTM32F407_5ZX
  142. build_unflags = ${env:BIGTREE_SKR_PRO.build_unflags} -DUSBCON -DUSBD_USE_CDC
  143. #
  144. # BigTreeTech E3 RRF (STM32F407VGT6 ARM Cortex-M4)
  145. #
  146. [env:BIGTREE_E3_RRF]
  147. extends = stm32_variant
  148. board = marlin_STM32F407VGT6_CCM
  149. board_build.variant = MARLIN_BIGTREE_E3_RRF
  150. board_build.offset = 0x8000
  151. build_flags = ${stm32_variant.build_flags}
  152. -DSTM32F407_5VX
  153. -DMF_RX_BUFFER_SIZE=255
  154. -DMF_TX_BUFFER_SIZE=255
  155. #
  156. # Bigtreetech GTR V1.0 (STM32F407IGT6 ARM Cortex-M4)
  157. #
  158. [env:BIGTREE_GTR_V1_0]
  159. extends = stm32_variant
  160. board = marlin_BigTree_GTR_v1
  161. board_build.offset = 0x8000
  162. build_flags = ${stm32_variant.build_flags} -DSTM32F407IX
  163. #
  164. # Bigtreetech GTR V1.0 (STM32F407IGT6 ARM Cortex-M4) with USB Flash Drive Support
  165. #
  166. [env:BIGTREE_GTR_V1_0_usb_flash_drive]
  167. extends = env:BIGTREE_GTR_V1_0
  168. platform_packages = ${stm_flash_drive.platform_packages}
  169. build_flags = ${stm_flash_drive.build_flags} -DSTM32F407IX
  170. build_unflags = ${env:BIGTREE_GTR_V1_0.build_unflags} -DUSBCON -DUSBD_USE_CDC
  171. #
  172. # BigTreeTech BTT002 V1.0 (STM32F407VGT6 ARM Cortex-M4)
  173. #
  174. [env:BIGTREE_BTT002]
  175. extends = stm32_variant
  176. board = marlin_BigTree_BTT002
  177. board_build.offset = 0x8000
  178. build_flags = ${stm32_variant.build_flags}
  179. -DSTM32F407_5VX
  180. -DHAVE_HWSERIAL2
  181. -DHAVE_HWSERIAL3
  182. -DPIN_SERIAL2_RX=PD_6
  183. -DPIN_SERIAL2_TX=PD_5
  184. #
  185. # BigTreeTech BTT002 V1.x with 512k of flash (STM32F407VET6 ARM Cortex-M4)
  186. #
  187. [env:BIGTREE_BTT002_VET6]
  188. extends = env:BIGTREE_BTT002
  189. board = marlin_BigTree_BTT002_VET6
  190. #
  191. # BigTreeTech SKR V2.0 (STM32F407VGT6 ARM Cortex-M4) with USB Flash Drive Support
  192. #
  193. [env:BIGTREE_SKR_2]
  194. extends = stm32_variant
  195. platform_packages = ${stm_flash_drive.platform_packages}
  196. board = marlin_STM32F407VGT6_CCM
  197. board_build.variant = MARLIN_F4x7Vx
  198. board_build.offset = 0x8000
  199. board_upload.offset_address = 0x08008000
  200. build_flags = ${stm_flash_drive.build_flags}
  201. -DUSE_USBHOST_HS -DUSE_USB_HS_IN_FS
  202. -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6
  203. -DHSE_VALUE=8000000U -DHAL_SD_MODULE_ENABLED
  204. -DPIN_SERIAL3_RX=PD_9 -DPIN_SERIAL3_TX=PD_8
  205. upload_protocol = stlink
  206. #
  207. # BigTreeTech SKR V2.0 (STM32F407VGT6 ARM Cortex-M4) with USB Media Share Support
  208. #
  209. [env:BIGTREE_SKR_2_USB]
  210. extends = env:BIGTREE_SKR_2
  211. build_flags = ${env:BIGTREE_SKR_2.build_flags} -DUSBD_USE_CDC_MSC
  212. build_unflags = ${env:BIGTREE_SKR_2.build_unflags} -DUSBD_USE_CDC
  213. [env:BIGTREE_SKR_2_USB_debug]
  214. extends = env:BIGTREE_SKR_2_USB
  215. build_flags = ${env:BIGTREE_SKR_2_USB.build_flags} -O0
  216. build_unflags = ${env:BIGTREE_SKR_2_USB.build_unflags} -Os -NDEBUG
  217. #
  218. # Bigtreetech SKR V2.0 F429 (STM32F429VGT6 ARM Cortex-M4) with USB Flash Drive Support
  219. #
  220. [env:BIGTREE_SKR_2_F429]
  221. extends = env:BIGTREE_SKR_2
  222. board = marlin_STM32F429VGT6
  223. #
  224. # BigTreeTech SKR V2.0 F429 (STM32F429VGT6 ARM Cortex-M4) with USB Media Share Support
  225. #
  226. [env:BIGTREE_SKR_2_F429_USB]
  227. extends = env:BIGTREE_SKR_2_F429
  228. build_flags = ${env:BIGTREE_SKR_2_F429.build_flags} -DUSBD_USE_CDC_MSC
  229. build_unflags = ${env:BIGTREE_SKR_2_F429.build_unflags} -DUSBD_USE_CDC
  230. [env:BIGTREE_SKR_2_F429_USB_debug]
  231. extends = env:BIGTREE_SKR_2_F429_USB
  232. build_flags = ${env:BIGTREE_SKR_2_F429_USB.build_flags} -O0
  233. build_unflags = ${env:BIGTREE_SKR_2_F429_USB.build_unflags} -Os -NDEBUG
  234. #
  235. # BigTreeTech Octopus V1.0/1.1 / Octopus Pro V1.0 (STM32F446ZET6 ARM Cortex-M4)
  236. #
  237. [env:BIGTREE_OCTOPUS_V1]
  238. extends = stm32_variant
  239. board = marlin_BigTree_Octopus_v1
  240. board_build.offset = 0x8000
  241. board_upload.offset_address = 0x08008000
  242. debug_tool = stlink
  243. upload_protocol = stlink
  244. build_flags = ${stm32_variant.build_flags}
  245. -DSTM32F446_5VX -DUSE_USB_HS_IN_FS
  246. #
  247. # BigTreeTech Octopus V1.0/1.1 / Octopus Pro V1.0 (STM32F446ZET6 ARM Cortex-M4) with USB Flash Drive Support
  248. #
  249. [env:BIGTREE_OCTOPUS_V1_USB]
  250. extends = env:BIGTREE_OCTOPUS_V1
  251. platform_packages = ${stm_flash_drive.platform_packages}
  252. build_unflags = -DUSBD_USE_CDC
  253. build_flags = ${stm_flash_drive.build_flags}
  254. -DSTM32F446_5VX -DUSE_USB_HS_IN_FS
  255. -DUSE_USBHOST_HS -DUSBD_IRQ_PRIO=5
  256. -DUSBD_IRQ_SUBPRIO=6
  257. -DUSBD_USE_CDC_MSC
  258. #
  259. # BigTreeTech Octopus Pro V1.0 (STM32F429ZGT6 ARM Cortex-M4)
  260. #
  261. [env:BIGTREE_OCTOPUS_PRO_V1_F429]
  262. extends = stm32_variant
  263. board = marlin_BigTree_Octopus_Pro_v1_F429
  264. board_build.offset = 0x8000
  265. board_upload.offset_address = 0x08008000
  266. debug_tool = stlink
  267. upload_protocol = stlink
  268. build_flags = ${stm32_variant.build_flags}
  269. -DUSE_USB_HS_IN_FS
  270. #
  271. # BigTreeTech Octopus Pro V1.0 (STM32F429ZGT6 ARM Cortex-M4) with USB Flash Drive Support
  272. #
  273. [env:BIGTREE_OCTOPUS_PRO_V1_F429_USB]
  274. extends = env:BIGTREE_OCTOPUS_PRO_V1_F429
  275. platform_packages = ${stm_flash_drive.platform_packages}
  276. build_unflags = -DUSBD_USE_CDC
  277. build_flags = ${stm_flash_drive.build_flags}
  278. -DUSE_USB_HS_IN_FS -DUSE_USBHOST_HS
  279. -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6
  280. -DUSBD_USE_CDC_MSC
  281. #
  282. # Lerdge base
  283. #
  284. [lerdge_common]
  285. extends = stm32_variant
  286. board = marlin_STM32F407ZGT6
  287. board_build.variant = MARLIN_LERDGE
  288. board_build.crypt_lerdge = firmware.bin
  289. board_build.offset = 0x10000
  290. build_flags = ${stm32_variant.build_flags}
  291. -DSTM32F4 -DSTM32F4xx -DTARGET_STM32F4
  292. -DDISABLE_GENERIC_SERIALUSB -DARDUINO_ARCH_STM32 -DLERDGE_TFT35
  293. build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC -DUSBD_VID=0x0483
  294. extra_scripts = ${stm32_variant.extra_scripts}
  295. buildroot/share/PlatformIO/scripts/lerdge.py
  296. #
  297. # Lerdge X (STM32F407VE)
  298. #
  299. [env:LERDGEX]
  300. extends = lerdge_common
  301. board_build.crypt_lerdge = Lerdge_X_firmware_force.bin
  302. #
  303. # Lerdge X with USB Flash Drive Support
  304. #
  305. [env:LERDGEX_usb_flash_drive]
  306. extends = env:LERDGEX
  307. platform_packages = ${stm_flash_drive.platform_packages}
  308. build_flags = ${stm_flash_drive.build_flags} ${lerdge_common.build_flags}
  309. #
  310. # Lerdge S (STM32F407ZG)
  311. #
  312. [env:LERDGES]
  313. extends = lerdge_common
  314. board_build.crypt_lerdge = Lerdge_firmware_force.bin
  315. #
  316. # Lerdge S with USB Flash Drive Support
  317. #
  318. [env:LERDGES_usb_flash_drive]
  319. extends = env:LERDGES
  320. platform_packages = ${stm_flash_drive.platform_packages}
  321. build_flags = ${stm_flash_drive.build_flags} ${lerdge_common.build_flags}
  322. #
  323. # Lerdge K (STM32F407ZG)
  324. #
  325. [env:LERDGEK]
  326. extends = lerdge_common
  327. board_build.crypt_lerdge = Lerdge_K_firmware_force.bin
  328. build_flags = ${lerdge_common.build_flags} -DLERDGEK
  329. #
  330. # Lerdge K with USB Flash Drive Support
  331. #
  332. [env:LERDGEK_usb_flash_drive]
  333. extends = env:LERDGEK
  334. platform_packages = ${stm_flash_drive.platform_packages}
  335. build_flags = ${stm_flash_drive.build_flags} ${lerdge_common.build_flags}
  336. #
  337. # RUMBA32
  338. #
  339. [env:rumba32]
  340. extends = stm32_variant
  341. board = rumba32_f446ve
  342. board_build.variant = MARLIN_F446VE
  343. board_build.offset = 0x0000
  344. build_flags = ${stm32_variant.build_flags}
  345. -Os -DHAL_PCD_MODULE_ENABLED
  346. -DDISABLE_GENERIC_SERIALUSB
  347. -DHAL_UART_MODULE_ENABLED
  348. -DTIMER_SERIAL=TIM9
  349. monitor_speed = 500000
  350. upload_protocol = dfu
  351. #
  352. # MKS Robin Pro V2
  353. #
  354. [env:mks_robin_pro2]
  355. extends = stm32_variant
  356. platform_packages = ${stm_flash_drive.platform_packages}
  357. board = genericSTM32F407VET6
  358. board_build.variant = MARLIN_F4x7Vx
  359. board_build.offset = 0x0000
  360. board_upload.offset_address = 0x08000000
  361. build_flags = ${stm_flash_drive.build_flags}
  362. build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC
  363. debug_tool = jlink
  364. upload_protocol = jlink
  365. #
  366. # This I2C1(PB6:I2C1_SCL PB7:I2C1_SDA) is used by Robin Nano V3
  367. #
  368. [stm32f4_I2C1]
  369. build_flags = -DPIN_WIRE_SCL=PB6 -DPIN_WIRE_SDA=PB7
  370. #
  371. # MKS Robin Nano V3
  372. #
  373. [env:mks_robin_nano_v3]
  374. extends = stm32_variant
  375. board = marlin_STM32F407VGT6_CCM
  376. board_build.variant = MARLIN_F4x7Vx
  377. board_build.offset = 0xC000
  378. board_upload.offset_address = 0x0800C000
  379. board_build.rename = Robin_nano_v3.bin
  380. build_flags = ${stm32_variant.build_flags} ${stm32f4_I2C1.build_flags}
  381. -DHAL_PCD_MODULE_ENABLED
  382. debug_tool = jlink
  383. upload_protocol = jlink
  384. #
  385. # MKS Robin Nano V3 with USB Flash Drive Support
  386. # Currently, using a STM32duino fork, until USB Host get merged
  387. #
  388. [env:mks_robin_nano_v3_usb_flash_drive]
  389. extends = env:mks_robin_nano_v3
  390. platform_packages = ${stm_flash_drive.platform_packages}
  391. build_flags = ${stm_flash_drive.build_flags} ${stm32f4_I2C1.build_flags}
  392. -DUSE_USBHOST_HS
  393. -DUSBD_IRQ_PRIO=5
  394. -DUSBD_IRQ_SUBPRIO=6
  395. -DUSE_USB_HS_IN_FS
  396. #
  397. # MKS Robin Nano V3 with USB Flash Drive Support and Shared Media
  398. # Currently, using a STM32duino fork, until USB Host and USB Device MSC get merged
  399. #
  400. [env:mks_robin_nano_v3_usb_flash_drive_msc]
  401. extends = env:mks_robin_nano_v3_usb_flash_drive
  402. build_flags = ${env:mks_robin_nano_v3_usb_flash_drive.build_flags}
  403. -DUSBD_USE_CDC_MSC
  404. build_unflags = -DUSBD_USE_CDC
  405. #
  406. # MKS Robin Nano V3_1
  407. #
  408. [env:mks_robin_nano_v3_1]
  409. extends = env:mks_robin_nano_v3
  410. board = marlin_STM32F407VET6_CCM
  411. #
  412. # MKS Robin Nano V3.1 with USB Flash Drive Support
  413. # Currently, using a STM32duino fork, until USB Host get merged
  414. #
  415. [env:mks_robin_nano_v3_1_usb_flash_drive]
  416. extends = env:mks_robin_nano_v3_usb_flash_drive
  417. board = marlin_STM32F407VET6_CCM
  418. #
  419. # MKS Robin Nano V3.1 with USB Flash Drive Support and Shared Media
  420. # Currently, using a STM32duino fork, until USB Host and USB Device MSC get merged
  421. #
  422. [env:mks_robin_nano_v3_1_usb_flash_drive_msc]
  423. extends = env:mks_robin_nano_v3_usb_flash_drive_msc
  424. board = marlin_STM32F407VET6_CCM
  425. #
  426. # MKS Eagle
  427. # 5 TMC2209 uart mode on board
  428. #
  429. [env:mks_eagle]
  430. extends = stm32_variant
  431. board = marlin_STM32F407VGT6_CCM
  432. board_build.variant = MARLIN_F4x7Vx
  433. board_build.offset = 0xC000
  434. board_upload.offset_address = 0x0800C000
  435. board_build.rename = mks_eagle.bin
  436. build_flags = ${stm32_variant.build_flags} ${stm32f4_I2C1.build_flags}
  437. -DHAL_PCD_MODULE_ENABLED
  438. -DSTM32_FLASH_SIZE=512
  439. debug_tool = jlink
  440. upload_protocol = jlink
  441. #
  442. # MKS Eagle with USB Flash Drive Support
  443. # Currently, using a STM32duino fork, until USB Host get merged
  444. #
  445. [env:mks_eagle_usb_flash_drive]
  446. extends = env:mks_eagle
  447. platform_packages = ${stm_flash_drive.platform_packages}
  448. build_flags = ${stm_flash_drive.build_flags} ${stm32f4_I2C1.build_flags}
  449. -DUSE_USBHOST_HS
  450. -DUSBD_IRQ_PRIO=5
  451. -DUSBD_IRQ_SUBPRIO=6
  452. -DUSE_USB_HS_IN_FS
  453. #
  454. # MKS Eagle with USB Flash Drive Support and Shared Media
  455. # Currently, using a STM32duino fork, until USB Host and USB Device MSC get merged
  456. #
  457. [env:mks_eagle_usb_flash_drive_msc]
  458. extends = env:mks_eagle_usb_flash_drive
  459. build_flags = ${env:mks_eagle_usb_flash_drive.build_flags}
  460. -DUSBD_USE_CDC_MSC
  461. build_unflags = -DUSBD_USE_CDC
  462. #
  463. # This I2C1(PB8:I2C1_SCL PB9:I2C1_SDA) is used by MKS Monster8
  464. #
  465. [stm32f4_I2C1_CAN]
  466. build_flags = -DPIN_WIRE_SCL=PB8 -DPIN_WIRE_SDA=PB9
  467. #
  468. # MKS Monster8 V1 / V2 (STM32F407VET6 ARM Cortex-M4)
  469. #
  470. [env:mks_monster8]
  471. extends = stm32_variant
  472. board = marlin_STM32F407VGT6_CCM
  473. board_build.variant = MARLIN_F4x7Vx
  474. board_build.offset = 0xC000
  475. board_upload.offset_address = 0x0800C000
  476. board_build.rename = mks_monster8.bin
  477. build_flags = ${stm32_variant.build_flags} ${stm32f4_I2C1_CAN.build_flags}
  478. -DHAL_PCD_MODULE_ENABLED -DTIMER_SERIAL=TIM4
  479. -DSTM32_FLASH_SIZE=512
  480. debug_tool = jlink
  481. upload_protocol = jlink
  482. #
  483. # MKS Monster8 V1 / V2 (STM32F407VET6 ARM Cortex-M4) with USB Flash Drive Support
  484. # Currently, using a STM32duino fork, until USB Host get merged
  485. #
  486. [env:mks_monster8_usb_flash_drive]
  487. extends = env:mks_monster8
  488. platform_packages = ${stm_flash_drive.platform_packages}
  489. build_flags = ${stm_flash_drive.build_flags} ${stm32f4_I2C1_CAN.build_flags}
  490. -DUSE_USBHOST_HS
  491. -DUSBD_IRQ_PRIO=5
  492. -DUSBD_IRQ_SUBPRIO=6
  493. -DUSE_USB_HS_IN_FS
  494. #
  495. # MKS Monster8 V1 / V2 (STM32F407VET6 ARM Cortex-M4) with USB Flash Drive Support and Shared Media
  496. # Currently, using a STM32duino fork, until USB Host and USB Device MSC get merged
  497. #
  498. [env:mks_monster8_usb_flash_drive_msc]
  499. extends = env:mks_monster8_usb_flash_drive
  500. build_flags = ${env:mks_monster8_usb_flash_drive.build_flags}
  501. -DUSBD_USE_CDC_MSC
  502. build_unflags = -DUSBD_USE_CDC
  503. #
  504. # TH3D EZBoard v2.0 (STM32F405RGT6 ARM Cortex-M4)
  505. #
  506. [TH3D_EZBoard_V2]
  507. extends = stm32_variant
  508. board = genericSTM32F405RG
  509. board_build.variant = MARLIN_TH3D_EZBOARD_V2
  510. build_flags = ${stm32_variant.build_flags} -DHSE_VALUE=12000000U -O0
  511. #
  512. # TH3D EZBoard v2.0 directly flashed via ST-Link
  513. #
  514. [env:TH3D_EZBoard_V2_no_bootloader]
  515. extends = TH3D_EZBoard_V2
  516. debug_tool = stlink
  517. upload_protocol = stlink
  518. #
  519. # TH3D EZBoard v2.0 with OpenBLT from https://github.com/rhapsodyv/OpenBLT-STM32
  520. #
  521. [env:TH3D_EZBoard_V2_OpenBLT]
  522. extends = TH3D_EZBoard_V2
  523. board_build.encode = firmware.bin
  524. board_build.offset = 0xC000
  525. board_upload.offset_address = 0x0800C000
  526. extra_scripts = ${stm32_variant.extra_scripts}
  527. buildroot/share/PlatformIO/scripts/openblt.py
  528. #
  529. # BOARD_MKS_ROBIN_NANO_V1_3_F4
  530. # - MKS Robin Nano V1.3 (STM32F407VET6) 5 Pololu Plug
  531. # - MKS Robin Nano-S V1.3 (STM32F407VET6) 4 TMC2225 + 1 Pololu Plug
  532. #
  533. [env:mks_robin_nano_v1_3_f4]
  534. extends = stm32_variant
  535. board = marlin_STM32F407VGT6_CCM
  536. board_build.variant = MARLIN_F4x7Vx
  537. board_build.offset = 0x8000
  538. board_upload.offset_address = 0x08008000
  539. board_build.rename = Robin_nano35.bin
  540. build_flags = ${stm32_variant.build_flags}
  541. -DMCU_STM32F407VE -DSS_TIMER=4 -DENABLE_HWSERIAL3
  542. -DSTM32_FLASH_SIZE=512
  543. -DTIMER_TONE=TIM3 -DTIMER_SERVO=TIM2
  544. -DHAL_SD_MODULE_ENABLED
  545. -DHAL_SRAM_MODULE_ENABLED
  546. build_unflags = ${stm32_variant.build_unflags}
  547. -DUSBCON -DUSBD_USE_CDC
  548. debug_tool = jlink
  549. upload_protocol = jlink
  550. #
  551. # Artillery Ruby
  552. #
  553. [env:Artillery_Ruby]
  554. extends = common_stm32
  555. board = marlin_Artillery_Ruby
  556. build_flags = ${common_stm32.build_flags}
  557. -DSTM32F401xC -DTARGET_STM32F4 -DDISABLE_GENERIC_SERIALUSB -DARDUINO_ARCH_STM32
  558. -DUSBD_USE_CDC_COMPOSITE -DUSE_USB_FS
  559. -DUSB_PRODUCT=\"Artillery_3D_Printer\"
  560. -DFLASH_DATA_SECTOR=1U -DFLASH_BASE_ADDRESS=0x08004000
  561. extra_scripts = ${common_stm32.extra_scripts}
  562. pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py
  563. #
  564. # Ender-3 S1 STM32F401RC_creality
  565. #
  566. [env:STM32F401RC_creality]
  567. extends = stm32_variant
  568. board = genericSTM32F401RC
  569. board_build.variant = MARLIN_CREALITY_STM32F401RC
  570. board_build.offset = 0x10000
  571. board_upload.offset_address = 0x08010000
  572. build_flags = ${stm32_variant.build_flags} -DMCU_STM32F401RC -DSTM32F4
  573. -DSS_TIMER=4 -DTIMER_SERVO=TIM5
  574. -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8
  575. build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC
  576. extra_scripts = ${stm32_variant.extra_scripts}
  577. pre:buildroot/share/PlatformIO/scripts/random-bin.py
  578. monitor_speed = 115200
  579. [env:STM32F401RC_creality_jlink]
  580. extends = env:STM32F401RC_creality
  581. debug_tool = jlink
  582. upload_protocol = jlink
  583. [env:STM32F401RC_creality_stlink]
  584. extends = env:STM32F401RC_creality
  585. debug_tool = stlink
  586. upload_protocol = stlink