Skip to content

Commit

Permalink
Update to SDK 2.1.0, add Pico2W
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 committed Nov 25, 2024
1 parent 9cea470 commit b88c7e8
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 b88c7e8

Please sign in to comment.