Skip to content

Commit

Permalink
Update to SDK 2.1.0, add Pico 2W (#2629)
Browse files Browse the repository at this point in the history
Update to Pico SDK 2.1.0, remove XIP and PSRAM workarounds.

Add Pico2W board.
  • Loading branch information
earlephilhower authored Nov 25, 2024
1 parent 9cea470 commit 4068601
Show file tree
Hide file tree
Showing 41 changed files with 396 additions and 109 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ Read the [Contributing Guide](https://github.com/earlephilhower/arduino-pico/blo
* Raspberry Pi Pico
* Raspberry Pi Pico W
* Raspberry Pi Pico 2
* Raspberry Pi Pico 2W
* 0xCB Helios
* Adafruit Feather RP2040
* Adafruit Feather RP2040 SCORPIO
Expand Down
228 changes: 228 additions & 0 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -813,6 +813,234 @@ rpipico2.menu.uploadmethod.picoprobe_cmsis_dap.upload.maximum_data_size=524288
rpipico2.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool=picoprobe_cmsis_dap
rpipico2.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool.default=picoprobe_cmsis_dap

# -----------------------------------
# Raspberry Pi Pico 2W
# -----------------------------------
rpipico2w.name=Raspberry Pi Pico 2W
rpipico2w.vid.0=0x2e8a
rpipico2w.pid.0=0xf00f
rpipico2w.vid.1=0x2e8a
rpipico2w.pid.1=0xf10f
rpipico2w.upload_port.0.vid=0x2e8a
rpipico2w.upload_port.0.pid=0xf00f
rpipico2w.upload_port.1.vid=0x2e8a
rpipico2w.upload_port.1.pid=0xf10f
rpipico2w.build.usbvid=-DUSBD_VID=0x2e8a
rpipico2w.build.usbpid=-DUSBD_PID=0xf00f
rpipico2w.build.usbpwr=-DUSBD_MAX_POWER_MA=250
rpipico2w.build.board=RASPBERRY_PI_PICO_2W
rpipico2w.build.variant=rpipico2w
rpipico2w.upload.maximum_size=4194304
rpipico2w.upload.wait_for_upload_port=true
rpipico2w.upload.erase_cmd=
rpipico2w.serial.disableDTR=false
rpipico2w.serial.disableRTS=false
rpipico2w.build.f_cpu=125000000
rpipico2w.build.led=
rpipico2w.build.core=rp2040
rpipico2w.build.ldscript=memmap_default.ld
rpipico2w.build.boot2=none
rpipico2w.build.usb_manufacturer="Raspberry Pi"
rpipico2w.build.usb_product="Pico 2W"
rpipico2w.build.psram_length=0x000000
rpipico2w.build.extra_flags=-DPICO_CYW43_SUPPORTED=1 -DCYW43_PIN_WL_DYNAMIC=1
rpipico2w.menu.flash.4194304_0=4MB (no FS)
rpipico2w.menu.flash.4194304_0.upload.maximum_size=4186112
rpipico2w.menu.flash.4194304_0.build.flash_total=4194304
rpipico2w.menu.flash.4194304_0.build.flash_length=4186112
rpipico2w.menu.flash.4194304_0.build.eeprom_start=272621568
rpipico2w.menu.flash.4194304_0.build.fs_start=272621568
rpipico2w.menu.flash.4194304_0.build.fs_end=272621568
rpipico2w.menu.flash.4194304_65536=4MB (Sketch: 4032KB, FS: 64KB)
rpipico2w.menu.flash.4194304_65536.upload.maximum_size=4120576
rpipico2w.menu.flash.4194304_65536.build.flash_total=4194304
rpipico2w.menu.flash.4194304_65536.build.flash_length=4120576
rpipico2w.menu.flash.4194304_65536.build.eeprom_start=272621568
rpipico2w.menu.flash.4194304_65536.build.fs_start=272556032
rpipico2w.menu.flash.4194304_65536.build.fs_end=272621568
rpipico2w.menu.flash.4194304_131072=4MB (Sketch: 3968KB, FS: 128KB)
rpipico2w.menu.flash.4194304_131072.upload.maximum_size=4055040
rpipico2w.menu.flash.4194304_131072.build.flash_total=4194304
rpipico2w.menu.flash.4194304_131072.build.flash_length=4055040
rpipico2w.menu.flash.4194304_131072.build.eeprom_start=272621568
rpipico2w.menu.flash.4194304_131072.build.fs_start=272490496
rpipico2w.menu.flash.4194304_131072.build.fs_end=272621568
rpipico2w.menu.flash.4194304_262144=4MB (Sketch: 3840KB, FS: 256KB)
rpipico2w.menu.flash.4194304_262144.upload.maximum_size=3923968
rpipico2w.menu.flash.4194304_262144.build.flash_total=4194304
rpipico2w.menu.flash.4194304_262144.build.flash_length=3923968
rpipico2w.menu.flash.4194304_262144.build.eeprom_start=272621568
rpipico2w.menu.flash.4194304_262144.build.fs_start=272359424
rpipico2w.menu.flash.4194304_262144.build.fs_end=272621568
rpipico2w.menu.flash.4194304_524288=4MB (Sketch: 3584KB, FS: 512KB)
rpipico2w.menu.flash.4194304_524288.upload.maximum_size=3661824
rpipico2w.menu.flash.4194304_524288.build.flash_total=4194304
rpipico2w.menu.flash.4194304_524288.build.flash_length=3661824
rpipico2w.menu.flash.4194304_524288.build.eeprom_start=272621568
rpipico2w.menu.flash.4194304_524288.build.fs_start=272097280
rpipico2w.menu.flash.4194304_524288.build.fs_end=272621568
rpipico2w.menu.flash.4194304_1048576=4MB (Sketch: 3MB, FS: 1MB)
rpipico2w.menu.flash.4194304_1048576.upload.maximum_size=3137536
rpipico2w.menu.flash.4194304_1048576.build.flash_total=4194304
rpipico2w.menu.flash.4194304_1048576.build.flash_length=3137536
rpipico2w.menu.flash.4194304_1048576.build.eeprom_start=272621568
rpipico2w.menu.flash.4194304_1048576.build.fs_start=271572992
rpipico2w.menu.flash.4194304_1048576.build.fs_end=272621568
rpipico2w.menu.flash.4194304_2097152=4MB (Sketch: 2MB, FS: 2MB)
rpipico2w.menu.flash.4194304_2097152.upload.maximum_size=2088960
rpipico2w.menu.flash.4194304_2097152.build.flash_total=4194304
rpipico2w.menu.flash.4194304_2097152.build.flash_length=2088960
rpipico2w.menu.flash.4194304_2097152.build.eeprom_start=272621568
rpipico2w.menu.flash.4194304_2097152.build.fs_start=270524416
rpipico2w.menu.flash.4194304_2097152.build.fs_end=272621568
rpipico2w.menu.flash.4194304_3145728=4MB (Sketch: 1MB, FS: 3MB)
rpipico2w.menu.flash.4194304_3145728.upload.maximum_size=1040384
rpipico2w.menu.flash.4194304_3145728.build.flash_total=4194304
rpipico2w.menu.flash.4194304_3145728.build.flash_length=1040384
rpipico2w.menu.flash.4194304_3145728.build.eeprom_start=272621568
rpipico2w.menu.flash.4194304_3145728.build.fs_start=269475840
rpipico2w.menu.flash.4194304_3145728.build.fs_end=272621568
rpipico2w.menu.arch.arm=ARM
rpipico2w.menu.arch.arm.build.chip=rp2350
rpipico2w.menu.arch.arm.build.toolchain=arm-none-eabi
rpipico2w.menu.arch.arm.build.toolchainpkg=pqt-gcc
rpipico2w.menu.arch.arm.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
rpipico2w.menu.arch.arm.build.uf2family=--family rp2350-arm-s --abs-block
rpipico2w.menu.arch.riscv=RISC-V
rpipico2w.menu.arch.riscv.build.chip=rp2350-riscv
rpipico2w.menu.arch.riscv.build.toolchain=riscv32-unknown-elf
rpipico2w.menu.arch.riscv.build.toolchainpkg=pqt-gcc-riscv
rpipico2w.menu.arch.riscv.build.toolchainopts=-march=rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb -mabi=ilp32
rpipico2w.menu.arch.riscv.build.uf2family=--family rp2350-riscv --abs-block
rpipico2w.menu.freq.150=150 MHz
rpipico2w.menu.freq.150.build.f_cpu=150000000L
rpipico2w.menu.freq.50=50 MHz
rpipico2w.menu.freq.50.build.f_cpu=50000000L
rpipico2w.menu.freq.100=100 MHz
rpipico2w.menu.freq.100.build.f_cpu=100000000L
rpipico2w.menu.freq.120=120 MHz
rpipico2w.menu.freq.120.build.f_cpu=120000000L
rpipico2w.menu.freq.125=125 MHz
rpipico2w.menu.freq.125.build.f_cpu=125000000L
rpipico2w.menu.freq.128=128 MHz
rpipico2w.menu.freq.128.build.f_cpu=128000000L
rpipico2w.menu.freq.133=133 MHz
rpipico2w.menu.freq.133.build.f_cpu=133000000L
rpipico2w.menu.freq.175=175 MHz (Overclock)
rpipico2w.menu.freq.175.build.f_cpu=175000000L
rpipico2w.menu.freq.200=200 MHz (Overclock)
rpipico2w.menu.freq.200.build.f_cpu=200000000L
rpipico2w.menu.freq.225=225 MHz (Overclock)
rpipico2w.menu.freq.225.build.f_cpu=225000000L
rpipico2w.menu.freq.240=240 MHz (Overclock)
rpipico2w.menu.freq.240.build.f_cpu=240000000L
rpipico2w.menu.freq.250=250 MHz (Overclock)
rpipico2w.menu.freq.250.build.f_cpu=250000000L
rpipico2w.menu.freq.275=275 MHz (Overclock)
rpipico2w.menu.freq.275.build.f_cpu=275000000L
rpipico2w.menu.freq.300=300 MHz (Overclock)
rpipico2w.menu.freq.300.build.f_cpu=300000000L
rpipico2w.menu.opt.Small=Small (-Os) (standard)
rpipico2w.menu.opt.Small.build.flags.optimize=-Os
rpipico2w.menu.opt.Optimize=Optimize (-O)
rpipico2w.menu.opt.Optimize.build.flags.optimize=-O
rpipico2w.menu.opt.Optimize2=Optimize More (-O2)
rpipico2w.menu.opt.Optimize2.build.flags.optimize=-O2
rpipico2w.menu.opt.Optimize3=Optimize Even More (-O3)
rpipico2w.menu.opt.Optimize3.build.flags.optimize=-O3
rpipico2w.menu.opt.Fast=Fast (-Ofast) (maybe slower)
rpipico2w.menu.opt.Fast.build.flags.optimize=-Ofast
rpipico2w.menu.opt.Debug=Debug (-Og)
rpipico2w.menu.opt.Debug.build.flags.optimize=-Og
rpipico2w.menu.rtti.Disabled=Disabled
rpipico2w.menu.rtti.Disabled.build.flags.rtti=-fno-rtti
rpipico2w.menu.rtti.Enabled=Enabled
rpipico2w.menu.rtti.Enabled.build.flags.rtti=
rpipico2w.menu.stackprotect.Disabled=Disabled
rpipico2w.menu.stackprotect.Disabled.build.flags.stackprotect=
rpipico2w.menu.stackprotect.Enabled=Enabled
rpipico2w.menu.stackprotect.Enabled.build.flags.stackprotect=-fstack-protector
rpipico2w.menu.exceptions.Disabled=Disabled
rpipico2w.menu.exceptions.Disabled.build.flags.exceptions=-fno-exceptions
rpipico2w.menu.exceptions.Disabled.build.flags.libstdcpp=-lstdc++
rpipico2w.menu.exceptions.Enabled=Enabled
rpipico2w.menu.exceptions.Enabled.build.flags.exceptions=-fexceptions
rpipico2w.menu.exceptions.Enabled.build.flags.libstdcpp=-lstdc++-exc
rpipico2w.menu.dbgport.Disabled=Disabled
rpipico2w.menu.dbgport.Disabled.build.debug_port=
rpipico2w.menu.dbgport.Serial=Serial
rpipico2w.menu.dbgport.Serial.build.debug_port=-DDEBUG_RP2040_PORT=Serial
rpipico2w.menu.dbgport.Serial1=Serial1
rpipico2w.menu.dbgport.Serial1.build.debug_port=-DDEBUG_RP2040_PORT=Serial1
rpipico2w.menu.dbgport.Serial2=Serial2
rpipico2w.menu.dbgport.Serial2.build.debug_port=-DDEBUG_RP2040_PORT=Serial2
rpipico2w.menu.dbglvl.None=None
rpipico2w.menu.dbglvl.None.build.debug_level=
rpipico2w.menu.dbglvl.Core=Core
rpipico2w.menu.dbglvl.Core.build.debug_level=-DDEBUG_RP2040_CORE
rpipico2w.menu.dbglvl.SPI=SPI
rpipico2w.menu.dbglvl.SPI.build.debug_level=-DDEBUG_RP2040_SPI
rpipico2w.menu.dbglvl.Wire=Wire
rpipico2w.menu.dbglvl.Wire.build.debug_level=-DDEBUG_RP2040_WIRE
rpipico2w.menu.dbglvl.Bluetooth=Bluetooth
rpipico2w.menu.dbglvl.Bluetooth.build.debug_level=-DDEBUG_RP2040_BLUETOOTH
rpipico2w.menu.dbglvl.All=All
rpipico2w.menu.dbglvl.All.build.debug_level=-DDEBUG_RP2040_WIRE -DDEBUG_RP2040_SPI -DDEBUG_RP2040_CORE -DDEBUG_RP2040_BLUETOOTH
rpipico2w.menu.dbglvl.NDEBUG=NDEBUG
rpipico2w.menu.dbglvl.NDEBUG.build.debug_level=-DNDEBUG
rpipico2w.menu.usbstack.picosdk=Pico SDK
rpipico2w.menu.usbstack.picosdk.build.usbstack_flags=
rpipico2w.menu.usbstack.tinyusb=Adafruit TinyUSB
rpipico2w.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
rpipico2w.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host (native)
rpipico2w.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
rpipico2w.menu.usbstack.nousb=No USB
rpipico2w.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
rpipico2w.menu.ipbtstack.ipv4only=IPv4 Only
rpipico2w.menu.ipbtstack.ipv4only.build.libpicow=libipv4.a
rpipico2w.menu.ipbtstack.ipv4only.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1
rpipico2w.menu.ipbtstack.ipv4ipv6=IPv4 + IPv6
rpipico2w.menu.ipbtstack.ipv4ipv6.build.libpicow=libipv4-ipv6.a
rpipico2w.menu.ipbtstack.ipv4ipv6.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1
rpipico2w.menu.ipbtstack.ipv4btcble=IPv4 + Bluetooth
rpipico2w.menu.ipbtstack.ipv4btcble.build.libpicow=libipv4-bt.a
rpipico2w.menu.ipbtstack.ipv4btcble.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1
rpipico2w.menu.ipbtstack.ipv4ipv6btcble=IPv4 + IPv6 + Bluetooth
rpipico2w.menu.ipbtstack.ipv4ipv6btcble.build.libpicow=libipv4-ipv6-bt.a
rpipico2w.menu.ipbtstack.ipv4ipv6btcble.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1
rpipico2w.menu.ipbtstack.ipv4onlybig=IPv4 Only - 32K
rpipico2w.menu.ipbtstack.ipv4onlybig.build.libpicow=libipv4-big.a
rpipico2w.menu.ipbtstack.ipv4onlybig.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1 -D__LWIP_MEMMULT=2
rpipico2w.menu.ipbtstack.ipv4ipv6big=IPv4 + IPv6 - 32K
rpipico2w.menu.ipbtstack.ipv4ipv6big.build.libpicow=libipv4-ipv6-big.a
rpipico2w.menu.ipbtstack.ipv4ipv6big.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1 -D__LWIP_MEMMULT=2
rpipico2w.menu.ipbtstack.ipv4btcblebig=IPv4 + Bluetooth - 32K
rpipico2w.menu.ipbtstack.ipv4btcblebig.build.libpicow=libipv4-bt-big.a
rpipico2w.menu.ipbtstack.ipv4btcblebig.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1 -D__LWIP_MEMMULT=2
rpipico2w.menu.ipbtstack.ipv4ipv6btcblebig=IPv4 + IPv6 + Bluetooth - 32K
rpipico2w.menu.ipbtstack.ipv4ipv6btcblebig.build.libpicow=libipv4-ipv6-bt-big.a
rpipico2w.menu.ipbtstack.ipv4ipv6btcblebig.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1 -D__LWIP_MEMMULT=2
rpipico2w.menu.uploadmethod.default=Default (UF2)
rpipico2w.menu.uploadmethod.default.build.ram_length=512k
rpipico2w.menu.uploadmethod.default.build.debugscript=picoprobe_cmsis_dap.tcl
rpipico2w.menu.uploadmethod.default.upload.maximum_data_size=524288
rpipico2w.menu.uploadmethod.default.upload.tool=uf2conv
rpipico2w.menu.uploadmethod.default.upload.tool.default=uf2conv
rpipico2w.menu.uploadmethod.default.upload.tool.network=uf2conv-network
rpipico2w.menu.uploadmethod.picotool=Picotool
rpipico2w.menu.uploadmethod.picotool.build.ram_length=512k
rpipico2w.menu.uploadmethod.picotool.build.debugscript=picoprobe.tcl
rpipico2w.menu.uploadmethod.picotool.build.picodebugflags=-DENABLE_PICOTOOL_USB
rpipico2w.menu.uploadmethod.picotool.upload.maximum_data_size=524288
rpipico2w.menu.uploadmethod.picotool.upload.tool=picotool
rpipico2w.menu.uploadmethod.picotool.upload.tool.default=picotool
rpipico2w.menu.uploadmethod.picoprobe_cmsis_dap=Picoprobe/Debugprobe (CMSIS-DAP)
rpipico2w.menu.uploadmethod.picoprobe_cmsis_dap.build.ram_length=512k
rpipico2w.menu.uploadmethod.picoprobe_cmsis_dap.build.debugscript=picoprobe_cmsis_dap.tcl
rpipico2w.menu.uploadmethod.picoprobe_cmsis_dap.upload.maximum_data_size=524288
rpipico2w.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool=picoprobe_cmsis_dap
rpipico2w.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool.default=picoprobe_cmsis_dap

# -----------------------------------
# 0xCB Helios
# -----------------------------------
Expand Down
95 changes: 0 additions & 95 deletions cores/rp2040/flash_wrapper.cpp

This file was deleted.

6 changes: 3 additions & 3 deletions include/rp2040/pico_base/pico/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
#define _PICO_VERSION_H

#define PICO_SDK_VERSION_MAJOR 2
#define PICO_SDK_VERSION_MINOR 0
#define PICO_SDK_VERSION_REVISION 1
#define PICO_SDK_VERSION_STRING "2.0.1-develop"
#define PICO_SDK_VERSION_MINOR 1
#define PICO_SDK_VERSION_REVISION 0
#define PICO_SDK_VERSION_STRING "2.1.0"

#endif
6 changes: 3 additions & 3 deletions include/rp2350/pico_base/pico/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
#define _PICO_VERSION_H

#define PICO_SDK_VERSION_MAJOR 2
#define PICO_SDK_VERSION_MINOR 0
#define PICO_SDK_VERSION_REVISION 1
#define PICO_SDK_VERSION_STRING "2.0.1-develop"
#define PICO_SDK_VERSION_MINOR 1
#define PICO_SDK_VERSION_REVISION 0
#define PICO_SDK_VERSION_STRING "2.1.0"

#endif
5 changes: 0 additions & 5 deletions lib/core_wrap.txt
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,3 @@
-Wl,--wrap=cyw43_tcpip_link_status
-Wl,--wrap=cyw43_cb_tcpip_init
-Wl,--wrap=cyw43_cb_tcpip_deinit

-Wl,--wrap=flash_range_erase
-Wl,--wrap=flash_range_program
-Wl,--wrap=flash_get_unique_id
-Wl,--wrap=flash_do_cmd
Loading

0 comments on commit 4068601

Please sign in to comment.