platformio.ini 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. ; PlatformIO Project Configuration File https://docs.platformio.org/page/projectconf.html
  2. [platformio]
  3. default_envs = ZuluSCSIv1_0, ZuluSCSIv1_0_mini, ZuluSCSIv1_1_plus, ZuluSCSI_RP2040, ZuluSCSI_RP2040_Audio, ZuluSCSI_Pico, ZuluSCSI_Pico_DaynaPORT, ZuluSCSI_BS2
  4. ; Example platform to serve as a base for porting efforts
  5. [env:template]
  6. platform = ststm32
  7. framework = arduino
  8. board = bluepill_f103c8
  9. build_flags =
  10. -Os -Isrc
  11. -DLOGBUFSIZE=512
  12. -DPREFETCH_BUFFER_SIZE=0
  13. -DMAX_SECTOR_SIZE=2048
  14. -DSCSI2SD_BUFFER_SIZE=4096
  15. -DINI_CACHE_SIZE=0
  16. -DUSE_ARDUINO=1
  17. lib_deps =
  18. SdFat=https://github.com/rabbitholecomputing/SdFat#2.2.0-gpt
  19. minIni
  20. ZuluSCSI_platform_template
  21. SCSI2SD
  22. CUEParser
  23. ; ZuluSCSI V1.0 hardware platform with GD32F205 CPU.
  24. [env:ZuluSCSIv1_0]
  25. platform = https://github.com/CommunityGD32Cores/platform-gd32.git
  26. board = genericGD32F205VC
  27. board_build.mcu = gd32f205vct6
  28. board_build.core = gd32
  29. board_build.ldscript = lib/ZuluSCSI_platform_GD32F205/zuluscsi_gd32f205.ld
  30. ldscript_bootloader = lib/ZuluSCSI_platform_GD32F205/zuluscsi_gd32f205_btldr.ld
  31. framework = spl
  32. lib_compat_mode = off
  33. lib_deps =
  34. SdFat_NoArduino
  35. minIni
  36. ZuluSCSI_platform_GD32F205
  37. SCSI2SD
  38. CUEParser
  39. GD32F20x_usbfs_library
  40. upload_protocol = stlink
  41. platform_packages = platformio/toolchain-gccarmnoneeabi@1.100301.220327
  42. framework-spl-gd32@https://github.com/CommunityGD32Cores/gd32-pio-spl-package.git
  43. debug_tool = cmsis-dap
  44. extra_scripts = src/build_bootloader.py
  45. debug_build_flags =
  46. -Os -Wall -Wno-sign-compare -ggdb -g3
  47. build_flags =
  48. -Os -Wall -Wno-sign-compare -ggdb -g3 -Isrc
  49. -D__SYSTEM_CLOCK_120M_PLL_IRC8M=120000000
  50. -DSPI_DRIVER_SELECT=3
  51. -DSD_CHIP_SELECT_MODE=2
  52. -DENABLE_DEDICATED_SPI=1
  53. -DPIO_USBFS_DEVICE_CDC
  54. -DZULUSCSI_V1_0
  55. ; ZuluSCSI V1.0 mini hardware platform with GD32F205 CPU.
  56. [env:ZuluSCSIv1_0_mini]
  57. extends = env:ZuluSCSIv1_0
  58. build_flags =
  59. -Os -Wall -Wno-sign-compare -ggdb -g3 -Isrc
  60. -D__SYSTEM_CLOCK_120M_PLL_IRC8M=120000000
  61. -DSPI_DRIVER_SELECT=3
  62. -DSD_CHIP_SELECT_MODE=2
  63. -DENABLE_DEDICATED_SPI=1
  64. -DPIO_USBFS_DEVICE_CDC
  65. -DZULUSCSI_V1_0
  66. -DZULUSCSI_V1_0_mini
  67. ; ZuluSCSI V1.1+ hardware platforms, this support v1.1, v1.1 ODE, and vl.2
  68. [env:ZuluSCSIv1_1_plus]
  69. extends = env:ZuluSCSIv1_0
  70. build_flags =
  71. -Os -Wall -Wno-sign-compare -ggdb -g3 -Isrc
  72. -D__SYSTEM_CLOCK_120M_PLL_IRC8M=120000000
  73. -DSPI_DRIVER_SELECT=3
  74. -DSD_CHIP_SELECT_MODE=2
  75. -DENABLE_DEDICATED_SPI=1
  76. -DPIO_USBFS_DEVICE_CDC
  77. -DHAS_SDIO_CLASS
  78. -DENABLE_AUDIO_OUTPUT
  79. -DZULUSCSI_V1_1_plus
  80. ; ZuluSCSI RP2040 hardware platform, based on the Raspberry Pi foundation RP2040 microcontroller
  81. [env:ZuluSCSI_RP2040]
  82. platform = raspberrypi@1.9.0
  83. framework = arduino
  84. board = ZuluSCSI_RP2040
  85. extra_scripts = src/build_bootloader.py
  86. platform_packages = platformio/toolchain-gccarmnoneeabi@1.100301.220327
  87. board_build.ldscript = lib/ZuluSCSI_platform_RP2040/rp2040.ld
  88. ldscript_bootloader = lib/ZuluSCSI_platform_RP2040/rp2040_btldr.ld
  89. lib_deps =
  90. SdFat=https://github.com/rabbitholecomputing/SdFat#2.2.0-gpt
  91. minIni
  92. ZuluSCSI_platform_RP2040
  93. SCSI2SD
  94. CUEParser
  95. debug_build_flags =
  96. -O2 -ggdb -g3
  97. ; The values can be adjusted down to get a debug build to fit in to SRAM
  98. -DLOGBUFSIZE=4096
  99. ; -DPREFETCH_BUFFER_SIZE=2048
  100. build_flags =
  101. -O2 -Isrc -ggdb -g3
  102. -Wall -Wno-sign-compare -Wno-ignored-qualifiers
  103. -DSPI_DRIVER_SELECT=3
  104. -DSD_CHIP_SELECT_MODE=2
  105. -DENABLE_DEDICATED_SPI=1
  106. -DHAS_SDIO_CLASS
  107. -DUSE_ARDUINO=1
  108. -DZULUSCSI_V2_0
  109. ; ZuluSCSI RP2040 hardware platform, as above, but with audio output support enabled
  110. [env:ZuluSCSI_RP2040_Audio]
  111. extends = env:ZuluSCSI_RP2040
  112. build_flags =
  113. ${env:ZuluSCSI_RP2040.build_flags}
  114. -DENABLE_AUDIO_OUTPUT
  115. -DLOGBUFSIZE=8192
  116. ; Variant of RP2040 platform, based on Raspberry Pico board and a carrier PCB
  117. ; Part of the ZuluSCSI_RP2040 platform, but with different pins.
  118. [env:ZuluSCSI_Pico]
  119. extends = env:ZuluSCSI_RP2040
  120. build_flags =
  121. -O2 -Isrc -ggdb -g3
  122. -Wall -Wno-sign-compare -Wno-ignored-qualifiers
  123. -DSPI_DRIVER_SELECT=3
  124. -DSD_CHIP_SELECT_MODE=2
  125. -DENABLE_DEDICATED_SPI=1
  126. -DHAS_SDIO_CLASS
  127. -DUSE_ARDUINO=1
  128. -DZULUSCSI_PICO
  129. ; Build for the ZuluSCSI Pico carrier board with a Pico-W
  130. ; for SCSI DaynaPORT emulation
  131. [env:ZuluSCSI_Pico_DaynaPORT]
  132. platform = https://github.com/maxgerhardt/platform-raspberrypi.git
  133. platform_packages =
  134. framework-arduinopico@https://github.com/rabbitholecomputing/arduino-pico.git#v3.6.0-DaynaPORT
  135. framework = arduino
  136. board = rpipicow
  137. board_build.core = earlephilhower
  138. extra_scripts = src/build_bootloader.py
  139. ldscript_bootloader = lib/ZuluSCSI_platform_RP2040/rp2040_btldr.ld
  140. board_build.ldscript = lib/ZuluSCSI_platform_RP2040/rp2040-daynaport.ld
  141. debug_tool = cmsis-dap
  142. debug_build_flags =
  143. -O2 -ggdb -g3
  144. -DLOGBUFSIZE=4096
  145. -DPREFETCH_BUFFER_SIZE=0
  146. -DSCSI2SD_BUFFER_SIZE=57344
  147. ; This controls the depth of 2 x NETWORK_PACKET_MAX_SIZE (1520 bytes)
  148. ; For example a queue size of 10 would be 10 x 2 x 1520 = 30400 bytes
  149. -DNETWORK_PACKET_QUEUE_SIZE=10
  150. lib_deps =
  151. SdFat=https://github.com/rabbitholecomputing/SdFat#2.2.0-gpt
  152. minIni
  153. ZuluSCSI_platform_RP2040
  154. SCSI2SD
  155. CUEParser
  156. build_flags =
  157. -O2 -Isrc
  158. -Wall -Wno-sign-compare -Wno-ignored-qualifiers
  159. -DSPI_DRIVER_SELECT=3
  160. -DSD_CHIP_SELECT_MODE=2
  161. -DENABLE_DEDICATED_SPI=1
  162. -DHAS_SDIO_CLASS
  163. -DUSE_ARDUINO=1
  164. -DZULUSCSI_PICO
  165. -DZULUSCSI_NETWORK
  166. -DZULUSCSI_DAYNAPORT
  167. ; These take a large portion of the SRAM and can be adjusted
  168. -DLOGBUFSIZE=8192
  169. -DPREFETCH_BUFFER_SIZE=6144
  170. -DSCSI2SD_BUFFER_SIZE=57344
  171. ; This controls the depth of 2 x NETWORK_PACKET_MAX_SIZE (1520 bytes)
  172. ; For example a queue size of 10 would be 10 x 2 x 1520 = 30400 bytes
  173. -DNETWORK_PACKET_QUEUE_SIZE=18
  174. ; build flags mirroring the framework-arduinopico#v3.6.0-DaynaPORT static library build
  175. -DPICO_CYW43_ARCH_POLL=1
  176. -DCYW43_LWIP=0
  177. -DCYW43_USE_OTP_MAC=0
  178. -DPIO_FRAMEWORK_ARDUINO_NO_USB
  179. ; Variant of RP2040 platform, based on Raspberry Pico board and a carrier PCB
  180. ; Differs in pinout from ZuluSCSI_RP2040 platform, but shares most of the code.
  181. [env:ZuluSCSI_BS2]
  182. extends = env:ZuluSCSI_RP2040
  183. build_flags =
  184. -O2 -Isrc -ggdb -g3
  185. -Wall -Wno-sign-compare -Wno-ignored-qualifiers
  186. -DSPI_DRIVER_SELECT=3
  187. -DSD_CHIP_SELECT_MODE=2
  188. -DENABLE_DEDICATED_SPI=1
  189. -DHAS_SDIO_CLASS
  190. -DUSE_ARDUINO=1
  191. -DZULUSCSI_BS2
  192. ; ZuluSCSI F4 hardware platform with GD32F450ZET6 CPU.
  193. [env:ZuluSCSIv1_4]
  194. platform = https://github.com/CommunityGD32Cores/platform-gd32.git
  195. board = genericGD32F450ZE
  196. board_build.mcu = gd32f450zet6
  197. board_build.core = gd32
  198. board_build.ldscript = lib/ZuluSCSI_platform_GD32F450/zuluscsi_gd32f450.ld
  199. ldscript_bootloader = lib/ZuluSCSI_platform_GD32F450/zuluscsi_gd32f450_btldr.ld
  200. framework = spl
  201. lib_compat_mode = off
  202. lib_deps =
  203. GD32F4xx_usbfs_library
  204. SdFat_NoArduino
  205. minIni
  206. ZuluSCSI_platform_GD32F450
  207. SCSI2SD
  208. CUEParser
  209. upload_protocol = stlink
  210. platform_packages =
  211. toolchain-gccarmnoneeabi@1.90201.191206
  212. framework-spl-gd32@https://github.com/CommunityGD32Cores/gd32-pio-spl-package.git
  213. extra_scripts = src/build_bootloader.py
  214. debug_tool = cmsis-dap
  215. debug_build_flags = -Os -ggdb -g3
  216. build_flags =
  217. -Os -Wall -Wno-sign-compare -ggdb -g3 -Isrc
  218. -D__SYSTEM_CLOCK_200M_PLL_IRC16M=200000000
  219. -DSPI_DRIVER_SELECT=3
  220. -DSD_CHIP_SELECT_MODE=2
  221. -DENABLE_DEDICATED_SPI=1
  222. -DHAS_SDIO_CLASS
  223. -DPIO_USBFS_DEVICE_CDC
  224. -DZULUSCSI_V1_4