diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 64cc425ca..68438b7c0 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -294,7 +294,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - chunk: [0, 1] + chunk: [0, 1, 2, 3] steps: - uses: actions/checkout@v4 with: @@ -335,7 +335,7 @@ jobs: cnt=0 for b in $(cut -f1 -d. /home/runner/work/arduino-pico/arduino-pico/boards.txt | sed 's/#.*//' | sed 's/^menu$//' | sort -u); do cnt=$((cnt + 1)) - rem=$((cnt % 2)) + rem=$((cnt % 4)) if [ $rem == ${{ matrix.chunk }} ]; then pio ci --board=$b -O "platform_packages=framework-arduinopico@symlink:///home/runner/work/arduino-pico/arduino-pico" libraries/rp2040/examples/Bootsel/Bootsel.ino fi diff --git a/README.md b/README.md index 5f4e6cab6..6ff892bb9 100644 --- a/README.md +++ b/README.md @@ -117,6 +117,8 @@ Read the [Contributing Guide](https://github.com/earlephilhower/arduino-pico/blo * Waveshare RP2040 LCD 1.28 * Waveshare RP2040 Matrix * Waveshare RP2040 PiZero +* Waveshare RP2350 Zero +* Waveshare RP2350 PiZero * Waveshare RP2350 Plus * Waveshare RP2350 LCD 0.96 * WIZnet W5100S-EVB-Pico diff --git a/boards.txt b/boards.txt index 9ccd6ed34..a5be93749 100644 --- a/boards.txt +++ b/boards.txt @@ -36203,6 +36203,357 @@ waveshare_rp2350_zero.menu.uploadmethod.picoprobe_cmsis_dap.upload.maximum_data_ waveshare_rp2350_zero.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool=picoprobe_cmsis_dap waveshare_rp2350_zero.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool.default=picoprobe_cmsis_dap +# ----------------------------------- +# Waveshare RP2350 PiZero +# ----------------------------------- +waveshare_rp2350_pizero.name=Waveshare RP2350 PiZero +waveshare_rp2350_pizero.vid.0=0x2e8a +waveshare_rp2350_pizero.pid.0=0x000f +waveshare_rp2350_pizero.vid.1=0x2e8a +waveshare_rp2350_pizero.pid.1=0x010f +waveshare_rp2350_pizero.vid.2=0x2e8a +waveshare_rp2350_pizero.pid.2=0x400f +waveshare_rp2350_pizero.vid.3=0x2e8a +waveshare_rp2350_pizero.pid.3=0x410f +waveshare_rp2350_pizero.vid.4=0x2e8a +waveshare_rp2350_pizero.pid.4=0x800f +waveshare_rp2350_pizero.vid.5=0x2e8a +waveshare_rp2350_pizero.pid.5=0x810f +waveshare_rp2350_pizero.vid.6=0x2e8a +waveshare_rp2350_pizero.pid.6=0xc00f +waveshare_rp2350_pizero.vid.7=0x2e8a +waveshare_rp2350_pizero.pid.7=0xc10f +waveshare_rp2350_pizero.upload_port.0.vid=0x2e8a +waveshare_rp2350_pizero.upload_port.0.pid=0x000f +waveshare_rp2350_pizero.upload_port.1.vid=0x2e8a +waveshare_rp2350_pizero.upload_port.1.pid=0x010f +waveshare_rp2350_pizero.upload_port.2.vid=0x2e8a +waveshare_rp2350_pizero.upload_port.2.pid=0x400f +waveshare_rp2350_pizero.upload_port.3.vid=0x2e8a +waveshare_rp2350_pizero.upload_port.3.pid=0x410f +waveshare_rp2350_pizero.upload_port.4.vid=0x2e8a +waveshare_rp2350_pizero.upload_port.4.pid=0x800f +waveshare_rp2350_pizero.upload_port.5.vid=0x2e8a +waveshare_rp2350_pizero.upload_port.5.pid=0x810f +waveshare_rp2350_pizero.upload_port.6.vid=0x2e8a +waveshare_rp2350_pizero.upload_port.6.pid=0xc00f +waveshare_rp2350_pizero.upload_port.7.vid=0x2e8a +waveshare_rp2350_pizero.upload_port.7.pid=0xc10f +waveshare_rp2350_pizero.build.usbvid=-DUSBD_VID=0x2e8a +waveshare_rp2350_pizero.build.usbpid=-DUSBD_PID=0x000f +waveshare_rp2350_pizero.build.usbpwr=-DUSBD_MAX_POWER_MA=500 +waveshare_rp2350_pizero.build.board=WAVESHARE_RP2350_PIZERO +waveshare_rp2350_pizero.build.variant=waveshare_rp2350_pizero +waveshare_rp2350_pizero.upload.maximum_size=16777216 +waveshare_rp2350_pizero.upload.wait_for_upload_port=true +waveshare_rp2350_pizero.upload.erase_cmd= +waveshare_rp2350_pizero.serial.disableDTR=false +waveshare_rp2350_pizero.serial.disableRTS=false +waveshare_rp2350_pizero.build.f_cpu=125000000 +waveshare_rp2350_pizero.build.led= +waveshare_rp2350_pizero.build.core=rp2040 +waveshare_rp2350_pizero.build.ldscript=memmap_default.ld +waveshare_rp2350_pizero.build.boot2=none +waveshare_rp2350_pizero.build.usb_manufacturer="Waveshare" +waveshare_rp2350_pizero.build.usb_product="RP2350 PiZero" +waveshare_rp2350_pizero.build.psram_length=0x000000 +waveshare_rp2350_pizero.menu.flash.16777216_0=16MB (no FS) +waveshare_rp2350_pizero.menu.flash.16777216_0.upload.maximum_size=16769024 +waveshare_rp2350_pizero.menu.flash.16777216_0.build.flash_total=16777216 +waveshare_rp2350_pizero.menu.flash.16777216_0.build.flash_length=16769024 +waveshare_rp2350_pizero.menu.flash.16777216_0.build.eeprom_start=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_0.build.fs_start=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_0.build.fs_end=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_65536=16MB (Sketch: 16320KB, FS: 64KB) +waveshare_rp2350_pizero.menu.flash.16777216_65536.upload.maximum_size=16703488 +waveshare_rp2350_pizero.menu.flash.16777216_65536.build.flash_total=16777216 +waveshare_rp2350_pizero.menu.flash.16777216_65536.build.flash_length=16703488 +waveshare_rp2350_pizero.menu.flash.16777216_65536.build.eeprom_start=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_65536.build.fs_start=285138944 +waveshare_rp2350_pizero.menu.flash.16777216_65536.build.fs_end=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_131072=16MB (Sketch: 16256KB, FS: 128KB) +waveshare_rp2350_pizero.menu.flash.16777216_131072.upload.maximum_size=16637952 +waveshare_rp2350_pizero.menu.flash.16777216_131072.build.flash_total=16777216 +waveshare_rp2350_pizero.menu.flash.16777216_131072.build.flash_length=16637952 +waveshare_rp2350_pizero.menu.flash.16777216_131072.build.eeprom_start=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_131072.build.fs_start=285073408 +waveshare_rp2350_pizero.menu.flash.16777216_131072.build.fs_end=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_262144=16MB (Sketch: 16128KB, FS: 256KB) +waveshare_rp2350_pizero.menu.flash.16777216_262144.upload.maximum_size=16506880 +waveshare_rp2350_pizero.menu.flash.16777216_262144.build.flash_total=16777216 +waveshare_rp2350_pizero.menu.flash.16777216_262144.build.flash_length=16506880 +waveshare_rp2350_pizero.menu.flash.16777216_262144.build.eeprom_start=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_262144.build.fs_start=284942336 +waveshare_rp2350_pizero.menu.flash.16777216_262144.build.fs_end=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_524288=16MB (Sketch: 15872KB, FS: 512KB) +waveshare_rp2350_pizero.menu.flash.16777216_524288.upload.maximum_size=16244736 +waveshare_rp2350_pizero.menu.flash.16777216_524288.build.flash_total=16777216 +waveshare_rp2350_pizero.menu.flash.16777216_524288.build.flash_length=16244736 +waveshare_rp2350_pizero.menu.flash.16777216_524288.build.eeprom_start=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_524288.build.fs_start=284680192 +waveshare_rp2350_pizero.menu.flash.16777216_524288.build.fs_end=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_1048576=16MB (Sketch: 15MB, FS: 1MB) +waveshare_rp2350_pizero.menu.flash.16777216_1048576.upload.maximum_size=15720448 +waveshare_rp2350_pizero.menu.flash.16777216_1048576.build.flash_total=16777216 +waveshare_rp2350_pizero.menu.flash.16777216_1048576.build.flash_length=15720448 +waveshare_rp2350_pizero.menu.flash.16777216_1048576.build.eeprom_start=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_1048576.build.fs_start=284155904 +waveshare_rp2350_pizero.menu.flash.16777216_1048576.build.fs_end=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_2097152=16MB (Sketch: 14MB, FS: 2MB) +waveshare_rp2350_pizero.menu.flash.16777216_2097152.upload.maximum_size=14671872 +waveshare_rp2350_pizero.menu.flash.16777216_2097152.build.flash_total=16777216 +waveshare_rp2350_pizero.menu.flash.16777216_2097152.build.flash_length=14671872 +waveshare_rp2350_pizero.menu.flash.16777216_2097152.build.eeprom_start=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_2097152.build.fs_start=283107328 +waveshare_rp2350_pizero.menu.flash.16777216_2097152.build.fs_end=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_3145728=16MB (Sketch: 13MB, FS: 3MB) +waveshare_rp2350_pizero.menu.flash.16777216_3145728.upload.maximum_size=13623296 +waveshare_rp2350_pizero.menu.flash.16777216_3145728.build.flash_total=16777216 +waveshare_rp2350_pizero.menu.flash.16777216_3145728.build.flash_length=13623296 +waveshare_rp2350_pizero.menu.flash.16777216_3145728.build.eeprom_start=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_3145728.build.fs_start=282058752 +waveshare_rp2350_pizero.menu.flash.16777216_3145728.build.fs_end=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_4194304=16MB (Sketch: 12MB, FS: 4MB) +waveshare_rp2350_pizero.menu.flash.16777216_4194304.upload.maximum_size=12574720 +waveshare_rp2350_pizero.menu.flash.16777216_4194304.build.flash_total=16777216 +waveshare_rp2350_pizero.menu.flash.16777216_4194304.build.flash_length=12574720 +waveshare_rp2350_pizero.menu.flash.16777216_4194304.build.eeprom_start=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_4194304.build.fs_start=281010176 +waveshare_rp2350_pizero.menu.flash.16777216_4194304.build.fs_end=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_5242880=16MB (Sketch: 11MB, FS: 5MB) +waveshare_rp2350_pizero.menu.flash.16777216_5242880.upload.maximum_size=11526144 +waveshare_rp2350_pizero.menu.flash.16777216_5242880.build.flash_total=16777216 +waveshare_rp2350_pizero.menu.flash.16777216_5242880.build.flash_length=11526144 +waveshare_rp2350_pizero.menu.flash.16777216_5242880.build.eeprom_start=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_5242880.build.fs_start=279961600 +waveshare_rp2350_pizero.menu.flash.16777216_5242880.build.fs_end=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_6291456=16MB (Sketch: 10MB, FS: 6MB) +waveshare_rp2350_pizero.menu.flash.16777216_6291456.upload.maximum_size=10477568 +waveshare_rp2350_pizero.menu.flash.16777216_6291456.build.flash_total=16777216 +waveshare_rp2350_pizero.menu.flash.16777216_6291456.build.flash_length=10477568 +waveshare_rp2350_pizero.menu.flash.16777216_6291456.build.eeprom_start=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_6291456.build.fs_start=278913024 +waveshare_rp2350_pizero.menu.flash.16777216_6291456.build.fs_end=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_7340032=16MB (Sketch: 9MB, FS: 7MB) +waveshare_rp2350_pizero.menu.flash.16777216_7340032.upload.maximum_size=9428992 +waveshare_rp2350_pizero.menu.flash.16777216_7340032.build.flash_total=16777216 +waveshare_rp2350_pizero.menu.flash.16777216_7340032.build.flash_length=9428992 +waveshare_rp2350_pizero.menu.flash.16777216_7340032.build.eeprom_start=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_7340032.build.fs_start=277864448 +waveshare_rp2350_pizero.menu.flash.16777216_7340032.build.fs_end=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_8388608=16MB (Sketch: 8MB, FS: 8MB) +waveshare_rp2350_pizero.menu.flash.16777216_8388608.upload.maximum_size=8380416 +waveshare_rp2350_pizero.menu.flash.16777216_8388608.build.flash_total=16777216 +waveshare_rp2350_pizero.menu.flash.16777216_8388608.build.flash_length=8380416 +waveshare_rp2350_pizero.menu.flash.16777216_8388608.build.eeprom_start=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_8388608.build.fs_start=276815872 +waveshare_rp2350_pizero.menu.flash.16777216_8388608.build.fs_end=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_9437184=16MB (Sketch: 7MB, FS: 9MB) +waveshare_rp2350_pizero.menu.flash.16777216_9437184.upload.maximum_size=7331840 +waveshare_rp2350_pizero.menu.flash.16777216_9437184.build.flash_total=16777216 +waveshare_rp2350_pizero.menu.flash.16777216_9437184.build.flash_length=7331840 +waveshare_rp2350_pizero.menu.flash.16777216_9437184.build.eeprom_start=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_9437184.build.fs_start=275767296 +waveshare_rp2350_pizero.menu.flash.16777216_9437184.build.fs_end=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_10485760=16MB (Sketch: 6MB, FS: 10MB) +waveshare_rp2350_pizero.menu.flash.16777216_10485760.upload.maximum_size=6283264 +waveshare_rp2350_pizero.menu.flash.16777216_10485760.build.flash_total=16777216 +waveshare_rp2350_pizero.menu.flash.16777216_10485760.build.flash_length=6283264 +waveshare_rp2350_pizero.menu.flash.16777216_10485760.build.eeprom_start=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_10485760.build.fs_start=274718720 +waveshare_rp2350_pizero.menu.flash.16777216_10485760.build.fs_end=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_11534336=16MB (Sketch: 5MB, FS: 11MB) +waveshare_rp2350_pizero.menu.flash.16777216_11534336.upload.maximum_size=5234688 +waveshare_rp2350_pizero.menu.flash.16777216_11534336.build.flash_total=16777216 +waveshare_rp2350_pizero.menu.flash.16777216_11534336.build.flash_length=5234688 +waveshare_rp2350_pizero.menu.flash.16777216_11534336.build.eeprom_start=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_11534336.build.fs_start=273670144 +waveshare_rp2350_pizero.menu.flash.16777216_11534336.build.fs_end=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_12582912=16MB (Sketch: 4MB, FS: 12MB) +waveshare_rp2350_pizero.menu.flash.16777216_12582912.upload.maximum_size=4186112 +waveshare_rp2350_pizero.menu.flash.16777216_12582912.build.flash_total=16777216 +waveshare_rp2350_pizero.menu.flash.16777216_12582912.build.flash_length=4186112 +waveshare_rp2350_pizero.menu.flash.16777216_12582912.build.eeprom_start=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_12582912.build.fs_start=272621568 +waveshare_rp2350_pizero.menu.flash.16777216_12582912.build.fs_end=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_13631488=16MB (Sketch: 3MB, FS: 13MB) +waveshare_rp2350_pizero.menu.flash.16777216_13631488.upload.maximum_size=3137536 +waveshare_rp2350_pizero.menu.flash.16777216_13631488.build.flash_total=16777216 +waveshare_rp2350_pizero.menu.flash.16777216_13631488.build.flash_length=3137536 +waveshare_rp2350_pizero.menu.flash.16777216_13631488.build.eeprom_start=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_13631488.build.fs_start=271572992 +waveshare_rp2350_pizero.menu.flash.16777216_13631488.build.fs_end=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_14680064=16MB (Sketch: 2MB, FS: 14MB) +waveshare_rp2350_pizero.menu.flash.16777216_14680064.upload.maximum_size=2088960 +waveshare_rp2350_pizero.menu.flash.16777216_14680064.build.flash_total=16777216 +waveshare_rp2350_pizero.menu.flash.16777216_14680064.build.flash_length=2088960 +waveshare_rp2350_pizero.menu.flash.16777216_14680064.build.eeprom_start=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_14680064.build.fs_start=270524416 +waveshare_rp2350_pizero.menu.flash.16777216_14680064.build.fs_end=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_15728640=16MB (Sketch: 1MB, FS: 15MB) +waveshare_rp2350_pizero.menu.flash.16777216_15728640.upload.maximum_size=1040384 +waveshare_rp2350_pizero.menu.flash.16777216_15728640.build.flash_total=16777216 +waveshare_rp2350_pizero.menu.flash.16777216_15728640.build.flash_length=1040384 +waveshare_rp2350_pizero.menu.flash.16777216_15728640.build.eeprom_start=285204480 +waveshare_rp2350_pizero.menu.flash.16777216_15728640.build.fs_start=269475840 +waveshare_rp2350_pizero.menu.flash.16777216_15728640.build.fs_end=285204480 +waveshare_rp2350_pizero.menu.arch.arm=ARM +waveshare_rp2350_pizero.menu.arch.arm.build.chip=rp2350 +waveshare_rp2350_pizero.menu.arch.arm.build.toolchain=arm-none-eabi +waveshare_rp2350_pizero.menu.arch.arm.build.toolchainpkg=pqt-gcc +waveshare_rp2350_pizero.menu.arch.arm.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse +waveshare_rp2350_pizero.menu.arch.arm.build.uf2family=--family rp2350-arm-s --abs-block +waveshare_rp2350_pizero.menu.arch.arm.build.mcu=cortex-m33 +waveshare_rp2350_pizero.menu.arch.riscv=RISC-V +waveshare_rp2350_pizero.menu.arch.riscv.build.chip=rp2350-riscv +waveshare_rp2350_pizero.menu.arch.riscv.build.toolchain=riscv32-unknown-elf +waveshare_rp2350_pizero.menu.arch.riscv.build.toolchainpkg=pqt-gcc-riscv +waveshare_rp2350_pizero.menu.arch.riscv.build.toolchainopts=-march=rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb -mabi=ilp32 +waveshare_rp2350_pizero.menu.arch.riscv.build.uf2family=--family rp2350-riscv --abs-block +waveshare_rp2350_pizero.menu.arch.riscv.build.mcu=rv32imac +waveshare_rp2350_pizero.menu.freq.150=150 MHz +waveshare_rp2350_pizero.menu.freq.150.build.f_cpu=150000000L +waveshare_rp2350_pizero.menu.freq.50=50 MHz +waveshare_rp2350_pizero.menu.freq.50.build.f_cpu=50000000L +waveshare_rp2350_pizero.menu.freq.100=100 MHz +waveshare_rp2350_pizero.menu.freq.100.build.f_cpu=100000000L +waveshare_rp2350_pizero.menu.freq.120=120 MHz +waveshare_rp2350_pizero.menu.freq.120.build.f_cpu=120000000L +waveshare_rp2350_pizero.menu.freq.125=125 MHz +waveshare_rp2350_pizero.menu.freq.125.build.f_cpu=125000000L +waveshare_rp2350_pizero.menu.freq.128=128 MHz +waveshare_rp2350_pizero.menu.freq.128.build.f_cpu=128000000L +waveshare_rp2350_pizero.menu.freq.133=133 MHz +waveshare_rp2350_pizero.menu.freq.133.build.f_cpu=133000000L +waveshare_rp2350_pizero.menu.freq.176=176 MHz (Overclock) +waveshare_rp2350_pizero.menu.freq.176.build.f_cpu=176000000L +waveshare_rp2350_pizero.menu.freq.200=200 MHz (Overclock) +waveshare_rp2350_pizero.menu.freq.200.build.f_cpu=200000000L +waveshare_rp2350_pizero.menu.freq.225=225 MHz (Overclock) +waveshare_rp2350_pizero.menu.freq.225.build.f_cpu=225000000L +waveshare_rp2350_pizero.menu.freq.240=240 MHz (Overclock) +waveshare_rp2350_pizero.menu.freq.240.build.f_cpu=240000000L +waveshare_rp2350_pizero.menu.freq.250=250 MHz (Overclock) +waveshare_rp2350_pizero.menu.freq.250.build.f_cpu=250000000L +waveshare_rp2350_pizero.menu.freq.276=276 MHz (Overclock) +waveshare_rp2350_pizero.menu.freq.276.build.f_cpu=276000000L +waveshare_rp2350_pizero.menu.freq.300=300 MHz (Overclock) +waveshare_rp2350_pizero.menu.freq.300.build.f_cpu=300000000L +waveshare_rp2350_pizero.menu.opt.Small=Small (-Os) (standard) +waveshare_rp2350_pizero.menu.opt.Small.build.flags.optimize=-Os +waveshare_rp2350_pizero.menu.opt.Optimize=Optimize (-O) +waveshare_rp2350_pizero.menu.opt.Optimize.build.flags.optimize=-O +waveshare_rp2350_pizero.menu.opt.Optimize2=Optimize More (-O2) +waveshare_rp2350_pizero.menu.opt.Optimize2.build.flags.optimize=-O2 +waveshare_rp2350_pizero.menu.opt.Optimize3=Optimize Even More (-O3) +waveshare_rp2350_pizero.menu.opt.Optimize3.build.flags.optimize=-O3 +waveshare_rp2350_pizero.menu.opt.Fast=Fast (-Ofast) (maybe slower) +waveshare_rp2350_pizero.menu.opt.Fast.build.flags.optimize=-Ofast +waveshare_rp2350_pizero.menu.opt.Debug=Debug (-Og) +waveshare_rp2350_pizero.menu.opt.Debug.build.flags.optimize=-Og +waveshare_rp2350_pizero.menu.opt.Disabled=Disabled (-O0) +waveshare_rp2350_pizero.menu.opt.Disabled.build.flags.optimize=-O0 +waveshare_rp2350_pizero.menu.os.none=None +waveshare_rp2350_pizero.menu.os.none.build.os= +waveshare_rp2350_pizero.menu.os.freertos=FreeRTOS SMP +waveshare_rp2350_pizero.menu.os.freertos.build.os=-D__FREERTOS +waveshare_rp2350_pizero.menu.profile.Disabled=Disabled +waveshare_rp2350_pizero.menu.profile.Disabled.build.flags.profile= +waveshare_rp2350_pizero.menu.profile.Enabled=Enabled +waveshare_rp2350_pizero.menu.profile.Enabled.build.flags.profile=-pg -D__PROFILE +waveshare_rp2350_pizero.menu.rtti.Disabled=Disabled +waveshare_rp2350_pizero.menu.rtti.Disabled.build.flags.rtti=-fno-rtti +waveshare_rp2350_pizero.menu.rtti.Enabled=Enabled +waveshare_rp2350_pizero.menu.rtti.Enabled.build.flags.rtti= +waveshare_rp2350_pizero.menu.stackprotect.Disabled=Disabled +waveshare_rp2350_pizero.menu.stackprotect.Disabled.build.flags.stackprotect= +waveshare_rp2350_pizero.menu.stackprotect.Enabled=Enabled +waveshare_rp2350_pizero.menu.stackprotect.Enabled.build.flags.stackprotect=-fstack-protector-all +waveshare_rp2350_pizero.menu.exceptions.Disabled=Disabled +waveshare_rp2350_pizero.menu.exceptions.Disabled.build.flags.exceptions=-fno-exceptions +waveshare_rp2350_pizero.menu.exceptions.Disabled.build.flags.libstdcpp=-lstdc++ +waveshare_rp2350_pizero.menu.exceptions.Enabled=Enabled +waveshare_rp2350_pizero.menu.exceptions.Enabled.build.flags.exceptions=-fexceptions +waveshare_rp2350_pizero.menu.exceptions.Enabled.build.flags.libstdcpp=-lstdc++-exc +waveshare_rp2350_pizero.menu.dbgport.Disabled=Disabled +waveshare_rp2350_pizero.menu.dbgport.Disabled.build.debug_port= +waveshare_rp2350_pizero.menu.dbgport.Serial=Serial +waveshare_rp2350_pizero.menu.dbgport.Serial.build.debug_port=-DDEBUG_RP2040_PORT=Serial +waveshare_rp2350_pizero.menu.dbgport.Serial1=Serial1 +waveshare_rp2350_pizero.menu.dbgport.Serial1.build.debug_port=-DDEBUG_RP2040_PORT=Serial1 +waveshare_rp2350_pizero.menu.dbgport.Serial2=Serial2 +waveshare_rp2350_pizero.menu.dbgport.Serial2.build.debug_port=-DDEBUG_RP2040_PORT=Serial2 +waveshare_rp2350_pizero.menu.dbgport.SerialSemi=SerialSemi +waveshare_rp2350_pizero.menu.dbgport.SerialSemi.build.debug_port=-DDEBUG_RP2040_PORT=SerialSemi +waveshare_rp2350_pizero.menu.dbglvl.None=None +waveshare_rp2350_pizero.menu.dbglvl.None.build.debug_level= +waveshare_rp2350_pizero.menu.dbglvl.Core=Core +waveshare_rp2350_pizero.menu.dbglvl.Core.build.debug_level=-DDEBUG_RP2040_CORE +waveshare_rp2350_pizero.menu.dbglvl.SPI=SPI +waveshare_rp2350_pizero.menu.dbglvl.SPI.build.debug_level=-DDEBUG_RP2040_SPI +waveshare_rp2350_pizero.menu.dbglvl.Wire=Wire +waveshare_rp2350_pizero.menu.dbglvl.Wire.build.debug_level=-DDEBUG_RP2040_WIRE +waveshare_rp2350_pizero.menu.dbglvl.Bluetooth=Bluetooth +waveshare_rp2350_pizero.menu.dbglvl.Bluetooth.build.debug_level=-DDEBUG_RP2040_BLUETOOTH +waveshare_rp2350_pizero.menu.dbglvl.LWIP=LWIP +waveshare_rp2350_pizero.menu.dbglvl.LWIP.build.debug_level=-DLWIP_DEBUG=1 +waveshare_rp2350_pizero.menu.dbglvl.All=All +waveshare_rp2350_pizero.menu.dbglvl.All.build.debug_level=-DDEBUG_RP2040_WIRE -DDEBUG_RP2040_SPI -DDEBUG_RP2040_CORE -DDEBUG_RP2040_BLUETOOTH -DLWIP_DEBUG=1 +waveshare_rp2350_pizero.menu.dbglvl.NDEBUG=NDEBUG +waveshare_rp2350_pizero.menu.dbglvl.NDEBUG.build.debug_level=-DNDEBUG +waveshare_rp2350_pizero.menu.usbstack.picosdk=Pico SDK +waveshare_rp2350_pizero.menu.usbstack.picosdk.build.usbstack_flags= +waveshare_rp2350_pizero.menu.usbstack.tinyusb=Adafruit TinyUSB +waveshare_rp2350_pizero.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino" +waveshare_rp2350_pizero.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host (native) +waveshare_rp2350_pizero.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino" +waveshare_rp2350_pizero.menu.usbstack.nousb=No USB +waveshare_rp2350_pizero.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico" +waveshare_rp2350_pizero.menu.ipbtstack.ipv4only=IPv4 Only +waveshare_rp2350_pizero.menu.ipbtstack.ipv4only.build.libpicow=liblwip.a +waveshare_rp2350_pizero.menu.ipbtstack.ipv4only.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1 +waveshare_rp2350_pizero.menu.ipbtstack.ipv4ipv6=IPv4 + IPv6 +waveshare_rp2350_pizero.menu.ipbtstack.ipv4ipv6.build.libpicow=liblwip.a +waveshare_rp2350_pizero.menu.ipbtstack.ipv4ipv6.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1 +waveshare_rp2350_pizero.menu.ipbtstack.ipv4btcble=IPv4 + Bluetooth +waveshare_rp2350_pizero.menu.ipbtstack.ipv4btcble.build.libpicow=liblwip-bt.a +waveshare_rp2350_pizero.menu.ipbtstack.ipv4btcble.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1 -DCYW43_ENABLE_BLUETOOTH=1 +waveshare_rp2350_pizero.menu.ipbtstack.ipv4ipv6btcble=IPv4 + IPv6 + Bluetooth +waveshare_rp2350_pizero.menu.ipbtstack.ipv4ipv6btcble.build.libpicow=liblwip-bt.a +waveshare_rp2350_pizero.menu.ipbtstack.ipv4ipv6btcble.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1 -DCYW43_ENABLE_BLUETOOTH=1 +waveshare_rp2350_pizero.menu.ipbtstack.ipv4onlybig=IPv4 Only - 32K +waveshare_rp2350_pizero.menu.ipbtstack.ipv4onlybig.build.libpicow=liblwip.a +waveshare_rp2350_pizero.menu.ipbtstack.ipv4onlybig.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1 -D__LWIP_MEMMULT=2 +waveshare_rp2350_pizero.menu.ipbtstack.ipv4ipv6big=IPv4 + IPv6 - 32K +waveshare_rp2350_pizero.menu.ipbtstack.ipv4ipv6big.build.libpicow=liblwip.a +waveshare_rp2350_pizero.menu.ipbtstack.ipv4ipv6big.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1 -D__LWIP_MEMMULT=2 +waveshare_rp2350_pizero.menu.ipbtstack.ipv4btcblebig=IPv4 + Bluetooth - 32K +waveshare_rp2350_pizero.menu.ipbtstack.ipv4btcblebig.build.libpicow=liblwip-bt.a +waveshare_rp2350_pizero.menu.ipbtstack.ipv4btcblebig.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1 -DCYW43_ENABLE_BLUETOOTH=1 -D__LWIP_MEMMULT=2 +waveshare_rp2350_pizero.menu.ipbtstack.ipv4ipv6btcblebig=IPv4 + IPv6 + Bluetooth - 32K +waveshare_rp2350_pizero.menu.ipbtstack.ipv4ipv6btcblebig.build.libpicow=liblwip-bt.a +waveshare_rp2350_pizero.menu.ipbtstack.ipv4ipv6btcblebig.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1 -DCYW43_ENABLE_BLUETOOTH=1 -D__LWIP_MEMMULT=2 +waveshare_rp2350_pizero.menu.uploadmethod.default=Default (UF2) +waveshare_rp2350_pizero.menu.uploadmethod.default.build.ram_length=512k +waveshare_rp2350_pizero.menu.uploadmethod.default.build.debugscript=picoprobe_cmsis_dap.tcl +waveshare_rp2350_pizero.menu.uploadmethod.default.upload.maximum_data_size=524288 +waveshare_rp2350_pizero.menu.uploadmethod.default.upload.tool=uf2conv +waveshare_rp2350_pizero.menu.uploadmethod.default.upload.tool.default=uf2conv +waveshare_rp2350_pizero.menu.uploadmethod.default.upload.tool.network=uf2conv-network +waveshare_rp2350_pizero.menu.uploadmethod.picotool=Picotool +waveshare_rp2350_pizero.menu.uploadmethod.picotool.build.ram_length=512k +waveshare_rp2350_pizero.menu.uploadmethod.picotool.build.debugscript=picoprobe.tcl +waveshare_rp2350_pizero.menu.uploadmethod.picotool.build.picodebugflags=-DENABLE_PICOTOOL_USB +waveshare_rp2350_pizero.menu.uploadmethod.picotool.upload.maximum_data_size=524288 +waveshare_rp2350_pizero.menu.uploadmethod.picotool.upload.tool=picotool +waveshare_rp2350_pizero.menu.uploadmethod.picotool.upload.tool.default=picotool +waveshare_rp2350_pizero.menu.uploadmethod.picoprobe_cmsis_dap=Picoprobe/Debugprobe (CMSIS-DAP) +waveshare_rp2350_pizero.menu.uploadmethod.picoprobe_cmsis_dap.build.ram_length=512k +waveshare_rp2350_pizero.menu.uploadmethod.picoprobe_cmsis_dap.build.debugscript=picoprobe_cmsis_dap.tcl +waveshare_rp2350_pizero.menu.uploadmethod.picoprobe_cmsis_dap.upload.maximum_data_size=524288 +waveshare_rp2350_pizero.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool=picoprobe_cmsis_dap +waveshare_rp2350_pizero.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool.default=picoprobe_cmsis_dap + # ----------------------------------- # Waveshare RP2350 Plus # ----------------------------------- diff --git a/package/package_pico_index.template.json b/package/package_pico_index.template.json index 9f40c6f83..343e0c180 100644 --- a/package/package_pico_index.template.json +++ b/package/package_pico_index.template.json @@ -383,6 +383,9 @@ { "name": "Waveshare RP2350 Zero" }, + { + "name": "Waveshare RP2350 PiZero" + }, { "name": "Waveshare RP2350 Plus" }, diff --git a/tools/json/waveshare_rp2350_pizero.json b/tools/json/waveshare_rp2350_pizero.json new file mode 100644 index 000000000..a4463f860 --- /dev/null +++ b/tools/json/waveshare_rp2350_pizero.json @@ -0,0 +1,56 @@ +{ + "build": { + "arduino": { + "earlephilhower": { + "boot2_source": "none.S", + "usb_vid": "0x2E8A", + "usb_pid": "0x000F" + } + }, + "core": "earlephilhower", + "cpu": "cortex-m33", + "extra_flags": "-DARDUINO_WAVESHARE_RP2350_PIZERO -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500 ", + "f_cpu": "150000000L", + "hwids": [ + [ + "0x2E8A", + "0x00C0" + ], + [ + "0x2E8A", + "0x000F" + ] + ], + "mcu": "rp2350", + "variant": "waveshare_rp2350_pizero" + }, + "debug": { + "jlink_device": "RP2350_M33_0", + "openocd_target": "rp2350.cfg", + "svd_path": "rp2350.svd" + }, + "frameworks": [ + "arduino", + "picosdk" + ], + "name": "RP2350 PiZero", + "upload": { + "maximum_ram_size": 524288, + "maximum_size": 16777216, + "require_upload_port": true, + "native_usb": true, + "use_1200bps_touch": true, + "wait_for_upload_port": false, + "protocol": "picotool", + "protocols": [ + "blackmagic", + "cmsis-dap", + "jlink", + "raspberrypi-swd", + "picotool", + "picoprobe" + ] + }, + "url": "https://www.raspberrypi.org/products/raspberry-pi-pico/", + "vendor": "Waveshare" +} \ No newline at end of file diff --git a/tools/makeboards.py b/tools/makeboards.py index e2e46e6a6..56e614c03 100755 --- a/tools/makeboards.py +++ b/tools/makeboards.py @@ -714,6 +714,7 @@ def MakeBoardJSON(name, chip, vendor_name, product_name, vid, pid, pwr, boarddef MakeBoard("waveshare_rp2040_lcd_0_96", "rp2040", "Waveshare", "RP2040 LCD 0.96", "0x2e8a", "0x1021", 500, "WAVESHARE_RP2040_LCD_0_96", 2, 0, "boot2_w25q16jvxq_4_padded_checksum") MakeBoard("waveshare_rp2040_lcd_1_28", "rp2040", "Waveshare", "RP2040 LCD 1.28", "0x2e8a", "0x1039", 500, "WAVESHARE_RP2040_LCD_1_28", 2, 0, "boot2_w25q16jvxq_4_padded_checksum") MakeBoard("waveshare_rp2350_zero", "rp2350", "Waveshare", "RP2350 Zero", "0x2e8a", "0x10B0", 500, "WAVESHARE_RP2350_ZERO", 4, 0, "none") +MakeBoard("waveshare_rp2350_pizero", "rp2350", "Waveshare", "RP2350 PiZero", "0x2e8a", "0x000F", 500, "WAVESHARE_RP2350_PIZERO", 16, 0, "none") MakeBoard("waveshare_rp2350_plus", "rp2350", "Waveshare", "RP2350 Plus", "0x2e8a", "0x10B1", 500, "WAVESHARE_RP2350_PLUS", 4, 0, "none") MakeBoard("waveshare_rp2350_lcd_0_96", "rp2350", "Waveshare", "RP2350 LCD 0.96", "0x2e8a", "0x10B7", 500, "WAVESHARE_RP2350_LCD_0_96", 4, 0, "none") diff --git a/variants/waveshare_rp2350_pizero/pins_arduino.h b/variants/waveshare_rp2350_pizero/pins_arduino.h new file mode 100644 index 000000000..416e613ff --- /dev/null +++ b/variants/waveshare_rp2350_pizero/pins_arduino.h @@ -0,0 +1,38 @@ +#pragma once + +// Waveshare RP2350 PiZero +// https://www.waveshare.com/wiki/RP2350-PiZero +// https://files.waveshare.com/wiki/RP2350-PiZero/RP2350-PiZero.pdf + +#define PICO_RP2350A 1 + +// Serial +#define PIN_SERIAL1_TX (0u) +#define PIN_SERIAL1_RX (1u) + +#define PIN_SERIAL2_TX (8u) +#define PIN_SERIAL2_RX (9u) + +// SPI +#define PIN_SPI0_MISO (16u) +#define PIN_SPI0_MOSI (19u) +#define PIN_SPI0_SCK (18u) +#define PIN_SPI0_SS (17u) + +#define PIN_SPI1_MISO (12u) +#define PIN_SPI1_MOSI (15u) +#define PIN_SPI1_SCK (14u) +#define PIN_SPI1_SS (13u) + +// Wire +#define PIN_WIRE0_SDA (4u) +#define PIN_WIRE0_SCL (5u) + +#define PIN_WIRE1_SDA (26u) +#define PIN_WIRE1_SCL (27u) + +#define SERIAL_HOWMANY (3u) +#define SPI_HOWMANY (2u) +#define WIRE_HOWMANY (2u) + +#include "../generic/common.h"