diff --git a/boards.txt b/boards.txt index 65b1a3e..f6c0dd1 100644 --- a/boards.txt +++ b/boards.txt @@ -5604,6 +5604,385 @@ flyboard2040_corepicodebug.menu.dbglvl.NDEBUG.build.debug_level=-DNDEBUG flyboard2040_corepicodebug.menu.usbstack.nousb=No USB flyboard2040_corepicodebug.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico" +# ----------------------------------- +# DFRobot Beetle RP2040 +# ----------------------------------- +dfrobot_beetle_rp2040.name=DFRobot Beetle RP2040 +dfrobot_beetle_rp2040.vid.0=0x3343 +dfrobot_beetle_rp2040.pid.0=0x4253 +dfrobot_beetle_rp2040.build.usbpid=-DSERIALUSB_PID=0x4253 +dfrobot_beetle_rp2040.build.usbpwr=-DUSBD_MAX_POWER_MA=250 +dfrobot_beetle_rp2040.build.board=DFROBOT_BEETLE_RP2040 +dfrobot_beetle_rp2040.build.mcu=cortex-m0plus +dfrobot_beetle_rp2040.build.variant=dfrobot_beetle_rp2040 +dfrobot_beetle_rp2040.upload.tool=uf2conv +dfrobot_beetle_rp2040.upload.maximum_size=2097152 +dfrobot_beetle_rp2040.upload.maximum_data_size=262144 +dfrobot_beetle_rp2040.upload.wait_for_upload_port=true +dfrobot_beetle_rp2040.upload.erase_cmd= +dfrobot_beetle_rp2040.serial.disableDTR=false +dfrobot_beetle_rp2040.serial.disableRTS=false +dfrobot_beetle_rp2040.build.f_cpu=125000000 +dfrobot_beetle_rp2040.build.led= +dfrobot_beetle_rp2040.build.core=rp2040 +dfrobot_beetle_rp2040.build.ldscript=memmap_default.ld +dfrobot_beetle_rp2040.build.ram_length=256k +dfrobot_beetle_rp2040.build.boot2=boot2_w25q080_2_padded_checksum +dfrobot_beetle_rp2040.build.vid=0x3343 +dfrobot_beetle_rp2040.build.pid=0x4253 +dfrobot_beetle_rp2040.build.usb_manufacturer="DFRobot" +dfrobot_beetle_rp2040.build.usb_product="Beetle RP2040" +dfrobot_beetle_rp2040.menu.flash.2097152_0=2MB (no FS) +dfrobot_beetle_rp2040.menu.flash.2097152_0.upload.maximum_size=2093056 +dfrobot_beetle_rp2040.menu.flash.2097152_0.build.flash_length=2093056 +dfrobot_beetle_rp2040.menu.flash.2097152_0.build.eeprom_start=270528512 +dfrobot_beetle_rp2040.menu.flash.2097152_0.build.fs_start=270528512 +dfrobot_beetle_rp2040.menu.flash.2097152_0.build.fs_end=270528512 +dfrobot_beetle_rp2040.menu.flash.2097152_65536=2MB (Sketch: 1984KB, FS: 64KB) +dfrobot_beetle_rp2040.menu.flash.2097152_65536.upload.maximum_size=2027520 +dfrobot_beetle_rp2040.menu.flash.2097152_65536.build.flash_length=2027520 +dfrobot_beetle_rp2040.menu.flash.2097152_65536.build.eeprom_start=270528512 +dfrobot_beetle_rp2040.menu.flash.2097152_65536.build.fs_start=270462976 +dfrobot_beetle_rp2040.menu.flash.2097152_65536.build.fs_end=270528512 +dfrobot_beetle_rp2040.menu.flash.2097152_131072=2MB (Sketch: 1920KB, FS: 128KB) +dfrobot_beetle_rp2040.menu.flash.2097152_131072.upload.maximum_size=1961984 +dfrobot_beetle_rp2040.menu.flash.2097152_131072.build.flash_length=1961984 +dfrobot_beetle_rp2040.menu.flash.2097152_131072.build.eeprom_start=270528512 +dfrobot_beetle_rp2040.menu.flash.2097152_131072.build.fs_start=270397440 +dfrobot_beetle_rp2040.menu.flash.2097152_131072.build.fs_end=270528512 +dfrobot_beetle_rp2040.menu.flash.2097152_262144=2MB (Sketch: 1792KB, FS: 256KB) +dfrobot_beetle_rp2040.menu.flash.2097152_262144.upload.maximum_size=1830912 +dfrobot_beetle_rp2040.menu.flash.2097152_262144.build.flash_length=1830912 +dfrobot_beetle_rp2040.menu.flash.2097152_262144.build.eeprom_start=270528512 +dfrobot_beetle_rp2040.menu.flash.2097152_262144.build.fs_start=270266368 +dfrobot_beetle_rp2040.menu.flash.2097152_262144.build.fs_end=270528512 +dfrobot_beetle_rp2040.menu.flash.2097152_524288=2MB (Sketch: 1536KB, FS: 512KB) +dfrobot_beetle_rp2040.menu.flash.2097152_524288.upload.maximum_size=1568768 +dfrobot_beetle_rp2040.menu.flash.2097152_524288.build.flash_length=1568768 +dfrobot_beetle_rp2040.menu.flash.2097152_524288.build.eeprom_start=270528512 +dfrobot_beetle_rp2040.menu.flash.2097152_524288.build.fs_start=270004224 +dfrobot_beetle_rp2040.menu.flash.2097152_524288.build.fs_end=270528512 +dfrobot_beetle_rp2040.menu.flash.2097152_1048576=2MB (Sketch: 1MB, FS: 1MB) +dfrobot_beetle_rp2040.menu.flash.2097152_1048576.upload.maximum_size=1044480 +dfrobot_beetle_rp2040.menu.flash.2097152_1048576.build.flash_length=1044480 +dfrobot_beetle_rp2040.menu.flash.2097152_1048576.build.eeprom_start=270528512 +dfrobot_beetle_rp2040.menu.flash.2097152_1048576.build.fs_start=269479936 +dfrobot_beetle_rp2040.menu.flash.2097152_1048576.build.fs_end=270528512 +dfrobot_beetle_rp2040.menu.freq.125=125 MHz +dfrobot_beetle_rp2040.menu.freq.125.build.f_cpu=125000000L +dfrobot_beetle_rp2040.menu.freq.50=50 MHz +dfrobot_beetle_rp2040.menu.freq.50.build.f_cpu=50000000L +dfrobot_beetle_rp2040.menu.freq.100=100 MHz +dfrobot_beetle_rp2040.menu.freq.100.build.f_cpu=100000000L +dfrobot_beetle_rp2040.menu.freq.133=133 MHz +dfrobot_beetle_rp2040.menu.freq.133.build.f_cpu=133000000L +dfrobot_beetle_rp2040.menu.freq.150=150 MHz (Overclock) +dfrobot_beetle_rp2040.menu.freq.150.build.f_cpu=150000000L +dfrobot_beetle_rp2040.menu.freq.175=175 MHz (Overclock) +dfrobot_beetle_rp2040.menu.freq.175.build.f_cpu=175000000L +dfrobot_beetle_rp2040.menu.freq.200=200 MHz (Overclock) +dfrobot_beetle_rp2040.menu.freq.200.build.f_cpu=200000000L +dfrobot_beetle_rp2040.menu.freq.225=225 MHz (Overclock) +dfrobot_beetle_rp2040.menu.freq.225.build.f_cpu=225000000L +dfrobot_beetle_rp2040.menu.freq.250=250 MHz (Overclock) +dfrobot_beetle_rp2040.menu.freq.250.build.f_cpu=250000000L +dfrobot_beetle_rp2040.menu.freq.275=275 MHz (Overclock) +dfrobot_beetle_rp2040.menu.freq.275.build.f_cpu=275000000L +dfrobot_beetle_rp2040.menu.freq.300=300 MHz (Overclock) +dfrobot_beetle_rp2040.menu.freq.300.build.f_cpu=300000000L +dfrobot_beetle_rp2040.menu.opt.Small=Small (-Os) (standard) +dfrobot_beetle_rp2040.menu.opt.Small.build.flags.optimize=-Os +dfrobot_beetle_rp2040.menu.opt.Optimize=Optimize (-O) +dfrobot_beetle_rp2040.menu.opt.Optimize.build.flags.optimize=-O +dfrobot_beetle_rp2040.menu.opt.Optimize2=Optimize More (-O2) +dfrobot_beetle_rp2040.menu.opt.Optimize2.build.flags.optimize=-O2 +dfrobot_beetle_rp2040.menu.opt.Optimize3=Optimize Even More (-O3) +dfrobot_beetle_rp2040.menu.opt.Optimize3.build.flags.optimize=-O3 +dfrobot_beetle_rp2040.menu.opt.Fast=Fast (-Ofast) (maybe slower) +dfrobot_beetle_rp2040.menu.opt.Fast.build.flags.optimize=-Ofast +dfrobot_beetle_rp2040.menu.opt.Debug=Debug (-Og) +dfrobot_beetle_rp2040.menu.opt.Debug.build.flags.optimize=-Og +dfrobot_beetle_rp2040.menu.rtti.Disabled=Disabled +dfrobot_beetle_rp2040.menu.rtti.Disabled.build.flags.rtti=-fno-rtti +dfrobot_beetle_rp2040.menu.rtti.Enabled=Enabled +dfrobot_beetle_rp2040.menu.rtti.Enabled.build.flags.rtti= +dfrobot_beetle_rp2040.menu.dbgport.Disabled=Disabled +dfrobot_beetle_rp2040.menu.dbgport.Disabled.build.debug_port= +dfrobot_beetle_rp2040.menu.dbgport.Serial=Serial +dfrobot_beetle_rp2040.menu.dbgport.Serial.build.debug_port=-DDEBUG_RP2040_PORT=Serial +dfrobot_beetle_rp2040.menu.dbgport.Serial1=Serial1 +dfrobot_beetle_rp2040.menu.dbgport.Serial1.build.debug_port=-DDEBUG_RP2040_PORT=Serial1 +dfrobot_beetle_rp2040.menu.dbgport.Serial2=Serial2 +dfrobot_beetle_rp2040.menu.dbgport.Serial2.build.debug_port=-DDEBUG_RP2040_PORT=Serial2 +dfrobot_beetle_rp2040.menu.dbglvl.None=None +dfrobot_beetle_rp2040.menu.dbglvl.None.build.debug_level= +dfrobot_beetle_rp2040.menu.dbglvl.Core=Core +dfrobot_beetle_rp2040.menu.dbglvl.Core.build.debug_level=-DDEBUG_RP2040_CORE +dfrobot_beetle_rp2040.menu.dbglvl.SPI=SPI +dfrobot_beetle_rp2040.menu.dbglvl.SPI.build.debug_level=-DDEBUG_RP2040_SPI +dfrobot_beetle_rp2040.menu.dbglvl.Wire=Wire +dfrobot_beetle_rp2040.menu.dbglvl.Wire.build.debug_level=-DDEBUG_RP2040_WIRE +dfrobot_beetle_rp2040.menu.dbglvl.All=All +dfrobot_beetle_rp2040.menu.dbglvl.All.build.debug_level=-DDEBUG_RP2040_WIRE -DDEBUG_RP2040_SPI -DDEBUG_RP2040_CORE +dfrobot_beetle_rp2040.menu.dbglvl.NDEBUG=NDEBUG +dfrobot_beetle_rp2040.menu.dbglvl.NDEBUG.build.debug_level=-DNDEBUG +dfrobot_beetle_rp2040.menu.usbstack.picosdk=Pico SDK +dfrobot_beetle_rp2040.menu.usbstack.picosdk.build.usbstack_flags="-I{runtime.platform.path}/tools/libpico" +dfrobot_beetle_rp2040.menu.usbstack.tinyusb=Adafruit TinyUSB +dfrobot_beetle_rp2040.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino" + +# ----------------------------------- +# DFRobot Beetle RP2040 (Picoprobe) +# ----------------------------------- +dfrobot_beetle_rp2040picoprobe.name=DFRobot Beetle RP2040 (Picoprobe) +dfrobot_beetle_rp2040picoprobe.vid.0=0x3343 +dfrobot_beetle_rp2040picoprobe.pid.0=0x0004 +dfrobot_beetle_rp2040picoprobe.build.usbpid=-DSERIALUSB_PID=0x4253 +dfrobot_beetle_rp2040picoprobe.build.usbpwr=-DUSBD_MAX_POWER_MA=250 +dfrobot_beetle_rp2040picoprobe.build.board=DFROBOT_BEETLE_RP2040 +dfrobot_beetle_rp2040picoprobe.build.mcu=cortex-m0plus +dfrobot_beetle_rp2040picoprobe.build.variant=dfrobot_beetle_rp2040 +dfrobot_beetle_rp2040picoprobe.upload.tool=picoprobe +dfrobot_beetle_rp2040picoprobe.upload.maximum_size=2097152 +dfrobot_beetle_rp2040picoprobe.upload.maximum_data_size=262144 +dfrobot_beetle_rp2040picoprobe.upload.wait_for_upload_port=true +dfrobot_beetle_rp2040picoprobe.upload.erase_cmd= +dfrobot_beetle_rp2040picoprobe.serial.disableDTR=false +dfrobot_beetle_rp2040picoprobe.serial.disableRTS=false +dfrobot_beetle_rp2040picoprobe.build.f_cpu=125000000 +dfrobot_beetle_rp2040picoprobe.build.led= +dfrobot_beetle_rp2040picoprobe.build.core=rp2040 +dfrobot_beetle_rp2040picoprobe.build.ldscript=memmap_default.ld +dfrobot_beetle_rp2040picoprobe.build.ram_length=256k +dfrobot_beetle_rp2040picoprobe.build.boot2=boot2_w25q080_2_padded_checksum +dfrobot_beetle_rp2040picoprobe.build.vid=0x3343 +dfrobot_beetle_rp2040picoprobe.build.pid=0x4253 +dfrobot_beetle_rp2040picoprobe.build.usb_manufacturer="DFRobot" +dfrobot_beetle_rp2040picoprobe.build.usb_product="Beetle RP2040 (Picoprobe)" +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_0=2MB (no FS) +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_0.upload.maximum_size=2093056 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_0.build.flash_length=2093056 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_0.build.eeprom_start=270528512 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_0.build.fs_start=270528512 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_0.build.fs_end=270528512 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_65536=2MB (Sketch: 1984KB, FS: 64KB) +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_65536.upload.maximum_size=2027520 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_65536.build.flash_length=2027520 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_65536.build.eeprom_start=270528512 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_65536.build.fs_start=270462976 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_65536.build.fs_end=270528512 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_131072=2MB (Sketch: 1920KB, FS: 128KB) +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_131072.upload.maximum_size=1961984 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_131072.build.flash_length=1961984 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_131072.build.eeprom_start=270528512 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_131072.build.fs_start=270397440 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_131072.build.fs_end=270528512 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_262144=2MB (Sketch: 1792KB, FS: 256KB) +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_262144.upload.maximum_size=1830912 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_262144.build.flash_length=1830912 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_262144.build.eeprom_start=270528512 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_262144.build.fs_start=270266368 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_262144.build.fs_end=270528512 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_524288=2MB (Sketch: 1536KB, FS: 512KB) +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_524288.upload.maximum_size=1568768 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_524288.build.flash_length=1568768 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_524288.build.eeprom_start=270528512 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_524288.build.fs_start=270004224 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_524288.build.fs_end=270528512 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_1048576=2MB (Sketch: 1MB, FS: 1MB) +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_1048576.upload.maximum_size=1044480 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_1048576.build.flash_length=1044480 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_1048576.build.eeprom_start=270528512 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_1048576.build.fs_start=269479936 +dfrobot_beetle_rp2040picoprobe.menu.flash.2097152_1048576.build.fs_end=270528512 +dfrobot_beetle_rp2040picoprobe.menu.freq.125=125 MHz +dfrobot_beetle_rp2040picoprobe.menu.freq.125.build.f_cpu=125000000L +dfrobot_beetle_rp2040picoprobe.menu.freq.50=50 MHz +dfrobot_beetle_rp2040picoprobe.menu.freq.50.build.f_cpu=50000000L +dfrobot_beetle_rp2040picoprobe.menu.freq.100=100 MHz +dfrobot_beetle_rp2040picoprobe.menu.freq.100.build.f_cpu=100000000L +dfrobot_beetle_rp2040picoprobe.menu.freq.133=133 MHz +dfrobot_beetle_rp2040picoprobe.menu.freq.133.build.f_cpu=133000000L +dfrobot_beetle_rp2040picoprobe.menu.freq.150=150 MHz (Overclock) +dfrobot_beetle_rp2040picoprobe.menu.freq.150.build.f_cpu=150000000L +dfrobot_beetle_rp2040picoprobe.menu.freq.175=175 MHz (Overclock) +dfrobot_beetle_rp2040picoprobe.menu.freq.175.build.f_cpu=175000000L +dfrobot_beetle_rp2040picoprobe.menu.freq.200=200 MHz (Overclock) +dfrobot_beetle_rp2040picoprobe.menu.freq.200.build.f_cpu=200000000L +dfrobot_beetle_rp2040picoprobe.menu.freq.225=225 MHz (Overclock) +dfrobot_beetle_rp2040picoprobe.menu.freq.225.build.f_cpu=225000000L +dfrobot_beetle_rp2040picoprobe.menu.freq.250=250 MHz (Overclock) +dfrobot_beetle_rp2040picoprobe.menu.freq.250.build.f_cpu=250000000L +dfrobot_beetle_rp2040picoprobe.menu.freq.275=275 MHz (Overclock) +dfrobot_beetle_rp2040picoprobe.menu.freq.275.build.f_cpu=275000000L +dfrobot_beetle_rp2040picoprobe.menu.freq.300=300 MHz (Overclock) +dfrobot_beetle_rp2040picoprobe.menu.freq.300.build.f_cpu=300000000L +dfrobot_beetle_rp2040picoprobe.menu.opt.Small=Small (-Os) (standard) +dfrobot_beetle_rp2040picoprobe.menu.opt.Small.build.flags.optimize=-Os +dfrobot_beetle_rp2040picoprobe.menu.opt.Optimize=Optimize (-O) +dfrobot_beetle_rp2040picoprobe.menu.opt.Optimize.build.flags.optimize=-O +dfrobot_beetle_rp2040picoprobe.menu.opt.Optimize2=Optimize More (-O2) +dfrobot_beetle_rp2040picoprobe.menu.opt.Optimize2.build.flags.optimize=-O2 +dfrobot_beetle_rp2040picoprobe.menu.opt.Optimize3=Optimize Even More (-O3) +dfrobot_beetle_rp2040picoprobe.menu.opt.Optimize3.build.flags.optimize=-O3 +dfrobot_beetle_rp2040picoprobe.menu.opt.Fast=Fast (-Ofast) (maybe slower) +dfrobot_beetle_rp2040picoprobe.menu.opt.Fast.build.flags.optimize=-Ofast +dfrobot_beetle_rp2040picoprobe.menu.opt.Debug=Debug (-Og) +dfrobot_beetle_rp2040picoprobe.menu.opt.Debug.build.flags.optimize=-Og +dfrobot_beetle_rp2040picoprobe.menu.rtti.Disabled=Disabled +dfrobot_beetle_rp2040picoprobe.menu.rtti.Disabled.build.flags.rtti=-fno-rtti +dfrobot_beetle_rp2040picoprobe.menu.rtti.Enabled=Enabled +dfrobot_beetle_rp2040picoprobe.menu.rtti.Enabled.build.flags.rtti= +dfrobot_beetle_rp2040picoprobe.menu.dbgport.Disabled=Disabled +dfrobot_beetle_rp2040picoprobe.menu.dbgport.Disabled.build.debug_port= +dfrobot_beetle_rp2040picoprobe.menu.dbgport.Serial=Serial +dfrobot_beetle_rp2040picoprobe.menu.dbgport.Serial.build.debug_port=-DDEBUG_RP2040_PORT=Serial +dfrobot_beetle_rp2040picoprobe.menu.dbgport.Serial1=Serial1 +dfrobot_beetle_rp2040picoprobe.menu.dbgport.Serial1.build.debug_port=-DDEBUG_RP2040_PORT=Serial1 +dfrobot_beetle_rp2040picoprobe.menu.dbgport.Serial2=Serial2 +dfrobot_beetle_rp2040picoprobe.menu.dbgport.Serial2.build.debug_port=-DDEBUG_RP2040_PORT=Serial2 +dfrobot_beetle_rp2040picoprobe.menu.dbglvl.None=None +dfrobot_beetle_rp2040picoprobe.menu.dbglvl.None.build.debug_level= +dfrobot_beetle_rp2040picoprobe.menu.dbglvl.Core=Core +dfrobot_beetle_rp2040picoprobe.menu.dbglvl.Core.build.debug_level=-DDEBUG_RP2040_CORE +dfrobot_beetle_rp2040picoprobe.menu.dbglvl.SPI=SPI +dfrobot_beetle_rp2040picoprobe.menu.dbglvl.SPI.build.debug_level=-DDEBUG_RP2040_SPI +dfrobot_beetle_rp2040picoprobe.menu.dbglvl.Wire=Wire +dfrobot_beetle_rp2040picoprobe.menu.dbglvl.Wire.build.debug_level=-DDEBUG_RP2040_WIRE +dfrobot_beetle_rp2040picoprobe.menu.dbglvl.All=All +dfrobot_beetle_rp2040picoprobe.menu.dbglvl.All.build.debug_level=-DDEBUG_RP2040_WIRE -DDEBUG_RP2040_SPI -DDEBUG_RP2040_CORE +dfrobot_beetle_rp2040picoprobe.menu.dbglvl.NDEBUG=NDEBUG +dfrobot_beetle_rp2040picoprobe.menu.dbglvl.NDEBUG.build.debug_level=-DNDEBUG +dfrobot_beetle_rp2040picoprobe.menu.usbstack.picosdk=Pico SDK +dfrobot_beetle_rp2040picoprobe.menu.usbstack.picosdk.build.usbstack_flags="-I{runtime.platform.path}/tools/libpico" +dfrobot_beetle_rp2040picoprobe.menu.usbstack.tinyusb=Adafruit TinyUSB +dfrobot_beetle_rp2040picoprobe.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino" + +# ----------------------------------- +# DFRobot Beetle RP2040 (pico-debug) +# ----------------------------------- +dfrobot_beetle_rp2040picodebug.name=DFRobot Beetle RP2040 (pico-debug) +dfrobot_beetle_rp2040picodebug.vid.0=0x1209 +dfrobot_beetle_rp2040picodebug.pid.0=0x2488 +dfrobot_beetle_rp2040picodebug.build.usbpid=-DSERIALUSB_PID=0x4253 +dfrobot_beetle_rp2040picodebug.build.usbpwr=-DUSBD_MAX_POWER_MA=250 +dfrobot_beetle_rp2040picodebug.build.board=DFROBOT_BEETLE_RP2040 +dfrobot_beetle_rp2040picodebug.build.mcu=cortex-m0plus +dfrobot_beetle_rp2040picodebug.build.variant=dfrobot_beetle_rp2040 +dfrobot_beetle_rp2040picodebug.upload.tool=picodebug +dfrobot_beetle_rp2040picodebug.upload.maximum_size=2097152 +dfrobot_beetle_rp2040picodebug.upload.maximum_data_size=245760 +dfrobot_beetle_rp2040picodebug.upload.wait_for_upload_port=true +dfrobot_beetle_rp2040picodebug.upload.erase_cmd= +dfrobot_beetle_rp2040picodebug.serial.disableDTR=false +dfrobot_beetle_rp2040picodebug.serial.disableRTS=false +dfrobot_beetle_rp2040picodebug.build.f_cpu=125000000 +dfrobot_beetle_rp2040picodebug.build.led= +dfrobot_beetle_rp2040picodebug.build.core=rp2040 +dfrobot_beetle_rp2040picodebug.build.ldscript=memmap_default.ld +dfrobot_beetle_rp2040picodebug.build.ram_length=240k +dfrobot_beetle_rp2040picodebug.build.boot2=boot2_w25q080_2_padded_checksum +dfrobot_beetle_rp2040picodebug.build.vid=0x3343 +dfrobot_beetle_rp2040picodebug.build.pid=0x4253 +dfrobot_beetle_rp2040picodebug.build.usb_manufacturer="DFRobot" +dfrobot_beetle_rp2040picodebug.build.usb_product="Beetle RP2040 (pico-debug)" +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_0=2MB (no FS) +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_0.upload.maximum_size=2093056 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_0.build.flash_length=2093056 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_0.build.eeprom_start=270528512 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_0.build.fs_start=270528512 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_0.build.fs_end=270528512 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_65536=2MB (Sketch: 1984KB, FS: 64KB) +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_65536.upload.maximum_size=2027520 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_65536.build.flash_length=2027520 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_65536.build.eeprom_start=270528512 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_65536.build.fs_start=270462976 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_65536.build.fs_end=270528512 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_131072=2MB (Sketch: 1920KB, FS: 128KB) +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_131072.upload.maximum_size=1961984 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_131072.build.flash_length=1961984 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_131072.build.eeprom_start=270528512 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_131072.build.fs_start=270397440 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_131072.build.fs_end=270528512 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_262144=2MB (Sketch: 1792KB, FS: 256KB) +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_262144.upload.maximum_size=1830912 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_262144.build.flash_length=1830912 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_262144.build.eeprom_start=270528512 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_262144.build.fs_start=270266368 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_262144.build.fs_end=270528512 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_524288=2MB (Sketch: 1536KB, FS: 512KB) +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_524288.upload.maximum_size=1568768 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_524288.build.flash_length=1568768 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_524288.build.eeprom_start=270528512 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_524288.build.fs_start=270004224 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_524288.build.fs_end=270528512 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_1048576=2MB (Sketch: 1MB, FS: 1MB) +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_1048576.upload.maximum_size=1044480 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_1048576.build.flash_length=1044480 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_1048576.build.eeprom_start=270528512 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_1048576.build.fs_start=269479936 +dfrobot_beetle_rp2040picodebug.menu.flash.2097152_1048576.build.fs_end=270528512 +dfrobot_beetle_rp2040picodebug.menu.freq.125=125 MHz +dfrobot_beetle_rp2040picodebug.menu.freq.125.build.f_cpu=125000000L +dfrobot_beetle_rp2040picodebug.menu.freq.50=50 MHz +dfrobot_beetle_rp2040picodebug.menu.freq.50.build.f_cpu=50000000L +dfrobot_beetle_rp2040picodebug.menu.freq.100=100 MHz +dfrobot_beetle_rp2040picodebug.menu.freq.100.build.f_cpu=100000000L +dfrobot_beetle_rp2040picodebug.menu.freq.133=133 MHz +dfrobot_beetle_rp2040picodebug.menu.freq.133.build.f_cpu=133000000L +dfrobot_beetle_rp2040picodebug.menu.freq.150=150 MHz (Overclock) +dfrobot_beetle_rp2040picodebug.menu.freq.150.build.f_cpu=150000000L +dfrobot_beetle_rp2040picodebug.menu.freq.175=175 MHz (Overclock) +dfrobot_beetle_rp2040picodebug.menu.freq.175.build.f_cpu=175000000L +dfrobot_beetle_rp2040picodebug.menu.freq.200=200 MHz (Overclock) +dfrobot_beetle_rp2040picodebug.menu.freq.200.build.f_cpu=200000000L +dfrobot_beetle_rp2040picodebug.menu.freq.225=225 MHz (Overclock) +dfrobot_beetle_rp2040picodebug.menu.freq.225.build.f_cpu=225000000L +dfrobot_beetle_rp2040picodebug.menu.freq.250=250 MHz (Overclock) +dfrobot_beetle_rp2040picodebug.menu.freq.250.build.f_cpu=250000000L +dfrobot_beetle_rp2040picodebug.menu.freq.275=275 MHz (Overclock) +dfrobot_beetle_rp2040picodebug.menu.freq.275.build.f_cpu=275000000L +dfrobot_beetle_rp2040picodebug.menu.freq.300=300 MHz (Overclock) +dfrobot_beetle_rp2040picodebug.menu.freq.300.build.f_cpu=300000000L +dfrobot_beetle_rp2040picodebug.menu.opt.Small=Small (-Os) (standard) +dfrobot_beetle_rp2040picodebug.menu.opt.Small.build.flags.optimize=-Os +dfrobot_beetle_rp2040picodebug.menu.opt.Optimize=Optimize (-O) +dfrobot_beetle_rp2040picodebug.menu.opt.Optimize.build.flags.optimize=-O +dfrobot_beetle_rp2040picodebug.menu.opt.Optimize2=Optimize More (-O2) +dfrobot_beetle_rp2040picodebug.menu.opt.Optimize2.build.flags.optimize=-O2 +dfrobot_beetle_rp2040picodebug.menu.opt.Optimize3=Optimize Even More (-O3) +dfrobot_beetle_rp2040picodebug.menu.opt.Optimize3.build.flags.optimize=-O3 +dfrobot_beetle_rp2040picodebug.menu.opt.Fast=Fast (-Ofast) (maybe slower) +dfrobot_beetle_rp2040picodebug.menu.opt.Fast.build.flags.optimize=-Ofast +dfrobot_beetle_rp2040picodebug.menu.opt.Debug=Debug (-Og) +dfrobot_beetle_rp2040picodebug.menu.opt.Debug.build.flags.optimize=-Og +dfrobot_beetle_rp2040picodebug.menu.rtti.Disabled=Disabled +dfrobot_beetle_rp2040picodebug.menu.rtti.Disabled.build.flags.rtti=-fno-rtti +dfrobot_beetle_rp2040picodebug.menu.rtti.Enabled=Enabled +dfrobot_beetle_rp2040picodebug.menu.rtti.Enabled.build.flags.rtti= +dfrobot_beetle_rp2040picodebug.menu.dbgport.Disabled=Disabled +dfrobot_beetle_rp2040picodebug.menu.dbgport.Disabled.build.debug_port= +dfrobot_beetle_rp2040picodebug.menu.dbgport.Serial=Serial +dfrobot_beetle_rp2040picodebug.menu.dbgport.Serial.build.debug_port=-DDEBUG_RP2040_PORT=Serial +dfrobot_beetle_rp2040picodebug.menu.dbgport.Serial1=Serial1 +dfrobot_beetle_rp2040picodebug.menu.dbgport.Serial1.build.debug_port=-DDEBUG_RP2040_PORT=Serial1 +dfrobot_beetle_rp2040picodebug.menu.dbgport.Serial2=Serial2 +dfrobot_beetle_rp2040picodebug.menu.dbgport.Serial2.build.debug_port=-DDEBUG_RP2040_PORT=Serial2 +dfrobot_beetle_rp2040picodebug.menu.dbglvl.None=None +dfrobot_beetle_rp2040picodebug.menu.dbglvl.None.build.debug_level= +dfrobot_beetle_rp2040picodebug.menu.dbglvl.Core=Core +dfrobot_beetle_rp2040picodebug.menu.dbglvl.Core.build.debug_level=-DDEBUG_RP2040_CORE +dfrobot_beetle_rp2040picodebug.menu.dbglvl.SPI=SPI +dfrobot_beetle_rp2040picodebug.menu.dbglvl.SPI.build.debug_level=-DDEBUG_RP2040_SPI +dfrobot_beetle_rp2040picodebug.menu.dbglvl.Wire=Wire +dfrobot_beetle_rp2040picodebug.menu.dbglvl.Wire.build.debug_level=-DDEBUG_RP2040_WIRE +dfrobot_beetle_rp2040picodebug.menu.dbglvl.All=All +dfrobot_beetle_rp2040picodebug.menu.dbglvl.All.build.debug_level=-DDEBUG_RP2040_WIRE -DDEBUG_RP2040_SPI -DDEBUG_RP2040_CORE +dfrobot_beetle_rp2040picodebug.menu.dbglvl.NDEBUG=NDEBUG +dfrobot_beetle_rp2040picodebug.menu.dbglvl.NDEBUG.build.debug_level=-DNDEBUG +dfrobot_beetle_rp2040picodebug.menu.usbstack.nousb=No USB +dfrobot_beetle_rp2040picodebug.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico" + # ----------------------------------- # iLabs Challenger 2040 LoRa # ----------------------------------- diff --git a/tools/json/dfrobot_beetle_rp2040.json b/tools/json/dfrobot_beetle_rp2040.json new file mode 100644 index 0000000..95df8f8 --- /dev/null +++ b/tools/json/dfrobot_beetle_rp2040.json @@ -0,0 +1,52 @@ +{ + "build": { + "core": "earlephilhower", + "cpu": "cortex-m0plus", + "extra_flags": "-D ARDUINO_DFROBOT_BEETLE_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250", + "f_cpu": "133000000L", + "hwids": [ + [ + "0x2E8A", + "0x00C0" + ] + ], + "mcu": "rp2040", + "arduino": { + "earlephilhower": { + "variant": "dfrobot_beetle_rp2040", + "boot2_source": "boot2_w25q080_2_padded_checksum.S", + "usb_vid": "0x3343", + "usb_pid": "0x4253", + "usb_manufacturer": "DFRobot", + "usb_product": "Beetle RP2040" + } + } + }, + "debug": { + "jlink_device": "RP2040_M0_0", + "openocd_target": "rp2040.cfg", + "svd_path": "rp2040.svd" + }, + "frameworks": [ + "arduino" + ], + "name": "Beetle RP2040", + "upload": { + "maximum_ram_size": 270336, + "maximum_size": 2097152, + "require_upload_port": true, + "native_usb": true, + "use_1200bps_touch": true, + "wait_for_upload_port": false, + "protocol": "picotool", + "protocols": [ + "cmsis-dap", + "jlink", + "raspberrypi-swd", + "picotool", + "picoprobe" + ] + }, + "url": "https://www.raspberrypi.org/products/raspberry-pi-pico/", + "vendor": "DFRobot" +} \ No newline at end of file diff --git a/tools/makeboards.py b/tools/makeboards.py index af379f3..a887e32 100755 --- a/tools/makeboards.py +++ b/tools/makeboards.py @@ -225,6 +225,7 @@ BuildGlobalMenuList() # Raspberry Pi MakeBoard("rpipico", "Raspberry Pi", "Pico", "0x2e8a", "0x000a", 250, "RASPBERRY_PI_PICO", 2, "boot2_w25q080_2_padded_checksum") + # Adafruit MakeBoard("adafruit_feather", "Adafruit", "Feather RP2040", "0x239a", "0x80f1", 250, "ADAFRUIT_FEATHER_RP2040", 8, "boot2_w25x10cl_4_padded_checksum") MakeBoard("adafruit_itsybitsy", "Adafruit", "ItsyBitsy RP2040", "0x239a", "0x80fd", 250, "ADAFRUIT_ITSYBITSY_RP2040", 8, "boot2_w25q080_2_padded_checksum") @@ -244,6 +245,9 @@ MakeBoard("cytron_maker_pi_rp2040", "Cytron", "Maker Pi RP2040", "0x2e8a", "0x10 # DeRuiLab MakeBoard("flyboard2040_core", "DeRuiLab", "FlyBoard2040Core", "0x2e8a", "0x008a", 500, "FLYBOARD2040_CORE", 4, "boot2_generic_03h_4_padded_checksum") +# DFRobot +MakeBoard("dfrobot_beetle_rp2040", "DFRobot", "Beetle RP2040", "0x3343", "0x4253", 250, "DFROBOT_BEETLE_RP2040", 2, "boot2_w25q080_2_padded_checksum") + # iLabs MakeBoard("challenger_2040_lora", "iLabs", "Challenger 2040 LoRa", "0x2e8a", "0x1023", 250, "CHALLENGER_2040_LORA_RP2040", 8, "boot2_w25q080_2_padded_checksum") MakeBoard("challenger_2040_wifi", "iLabs", "Challenger 2040 WiFi", "0x2e8a", "0x1006", 250, "CHALLENGER_2040_WIFI_RP2040", 8, "boot2_w25q080_2_padded_checksum") @@ -269,4 +273,6 @@ MakeBoard("wiznet_5100s_evb_pico", "WIZnet", "W5100S-EVB-Pico", "0x2e8a", "0x100 # Generic MakeBoard("generic", "Generic", "RP2040", "0x2e8a", "0xf00a", 250, "GENERIC_RP2040", 16, "boot2_generic_03h_4_padded_checksum") + + sys.stdout.close() diff --git a/variants/dfrobot_beetle_rp2040/pins_arduino.h b/variants/dfrobot_beetle_rp2040/pins_arduino.h new file mode 100644 index 0000000..543c26c --- /dev/null +++ b/variants/dfrobot_beetle_rp2040/pins_arduino.h @@ -0,0 +1,40 @@ +#pragma once + +// Pin definitions taken from: +// https://www.dfrobot.com + +// Not pinned out +#define PIN_LED (31u) + + +// Serial +#define PIN_SERIAL1_TX (0u) +#define PIN_SERIAL1_RX (1u) + +// Not pinned out +#define PIN_SERIAL2_TX (31u) +#define PIN_SERIAL2_RX (31u) + +// SPI +#define PIN_SPI0_MISO (0u) +#define PIN_SPI0_MOSI (3u) +#define PIN_SPI0_SCK (2u) +#define PIN_SPI0_SS (1u) + +// Not pinned out +#define PIN_SPI1_MISO (31u) +#define PIN_SPI1_MOSI (31u) +#define PIN_SPI1_SCK (31u) +#define PIN_SPI1_SS (31u) + +// Wire +#define PIN_WIRE0_SDA (31u) +#define PIN_WIRE0_SCL (31u) +#define PIN_WIRE1_SDA (26u) +#define PIN_WIRE1_SCL (27u) + +#define SERIAL_HOWMANY (2u) +#define SPI_HOWMANY (1u) +#define WIRE_HOWMANY (1u) + +#include "../generic/common.h"