Skip to content

Commit 4068601

Browse files
Update to SDK 2.1.0, add Pico 2W (earlephilhower#2629)
Update to Pico SDK 2.1.0, remove XIP and PSRAM workarounds. Add Pico2W board.
1 parent 9cea470 commit 4068601

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+396
-109
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ Read the [Contributing Guide](https://github.com/earlephilhower/arduino-pico/blo
1616
* Raspberry Pi Pico
1717
* Raspberry Pi Pico W
1818
* Raspberry Pi Pico 2
19+
* Raspberry Pi Pico 2W
1920
* 0xCB Helios
2021
* Adafruit Feather RP2040
2122
* Adafruit Feather RP2040 SCORPIO

boards.txt

Lines changed: 228 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -813,6 +813,234 @@ rpipico2.menu.uploadmethod.picoprobe_cmsis_dap.upload.maximum_data_size=524288
813813
rpipico2.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool=picoprobe_cmsis_dap
814814
rpipico2.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool.default=picoprobe_cmsis_dap
815815

816+
# -----------------------------------
817+
# Raspberry Pi Pico 2W
818+
# -----------------------------------
819+
rpipico2w.name=Raspberry Pi Pico 2W
820+
rpipico2w.vid.0=0x2e8a
821+
rpipico2w.pid.0=0xf00f
822+
rpipico2w.vid.1=0x2e8a
823+
rpipico2w.pid.1=0xf10f
824+
rpipico2w.upload_port.0.vid=0x2e8a
825+
rpipico2w.upload_port.0.pid=0xf00f
826+
rpipico2w.upload_port.1.vid=0x2e8a
827+
rpipico2w.upload_port.1.pid=0xf10f
828+
rpipico2w.build.usbvid=-DUSBD_VID=0x2e8a
829+
rpipico2w.build.usbpid=-DUSBD_PID=0xf00f
830+
rpipico2w.build.usbpwr=-DUSBD_MAX_POWER_MA=250
831+
rpipico2w.build.board=RASPBERRY_PI_PICO_2W
832+
rpipico2w.build.variant=rpipico2w
833+
rpipico2w.upload.maximum_size=4194304
834+
rpipico2w.upload.wait_for_upload_port=true
835+
rpipico2w.upload.erase_cmd=
836+
rpipico2w.serial.disableDTR=false
837+
rpipico2w.serial.disableRTS=false
838+
rpipico2w.build.f_cpu=125000000
839+
rpipico2w.build.led=
840+
rpipico2w.build.core=rp2040
841+
rpipico2w.build.ldscript=memmap_default.ld
842+
rpipico2w.build.boot2=none
843+
rpipico2w.build.usb_manufacturer="Raspberry Pi"
844+
rpipico2w.build.usb_product="Pico 2W"
845+
rpipico2w.build.psram_length=0x000000
846+
rpipico2w.build.extra_flags=-DPICO_CYW43_SUPPORTED=1 -DCYW43_PIN_WL_DYNAMIC=1
847+
rpipico2w.menu.flash.4194304_0=4MB (no FS)
848+
rpipico2w.menu.flash.4194304_0.upload.maximum_size=4186112
849+
rpipico2w.menu.flash.4194304_0.build.flash_total=4194304
850+
rpipico2w.menu.flash.4194304_0.build.flash_length=4186112
851+
rpipico2w.menu.flash.4194304_0.build.eeprom_start=272621568
852+
rpipico2w.menu.flash.4194304_0.build.fs_start=272621568
853+
rpipico2w.menu.flash.4194304_0.build.fs_end=272621568
854+
rpipico2w.menu.flash.4194304_65536=4MB (Sketch: 4032KB, FS: 64KB)
855+
rpipico2w.menu.flash.4194304_65536.upload.maximum_size=4120576
856+
rpipico2w.menu.flash.4194304_65536.build.flash_total=4194304
857+
rpipico2w.menu.flash.4194304_65536.build.flash_length=4120576
858+
rpipico2w.menu.flash.4194304_65536.build.eeprom_start=272621568
859+
rpipico2w.menu.flash.4194304_65536.build.fs_start=272556032
860+
rpipico2w.menu.flash.4194304_65536.build.fs_end=272621568
861+
rpipico2w.menu.flash.4194304_131072=4MB (Sketch: 3968KB, FS: 128KB)
862+
rpipico2w.menu.flash.4194304_131072.upload.maximum_size=4055040
863+
rpipico2w.menu.flash.4194304_131072.build.flash_total=4194304
864+
rpipico2w.menu.flash.4194304_131072.build.flash_length=4055040
865+
rpipico2w.menu.flash.4194304_131072.build.eeprom_start=272621568
866+
rpipico2w.menu.flash.4194304_131072.build.fs_start=272490496
867+
rpipico2w.menu.flash.4194304_131072.build.fs_end=272621568
868+
rpipico2w.menu.flash.4194304_262144=4MB (Sketch: 3840KB, FS: 256KB)
869+
rpipico2w.menu.flash.4194304_262144.upload.maximum_size=3923968
870+
rpipico2w.menu.flash.4194304_262144.build.flash_total=4194304
871+
rpipico2w.menu.flash.4194304_262144.build.flash_length=3923968
872+
rpipico2w.menu.flash.4194304_262144.build.eeprom_start=272621568
873+
rpipico2w.menu.flash.4194304_262144.build.fs_start=272359424
874+
rpipico2w.menu.flash.4194304_262144.build.fs_end=272621568
875+
rpipico2w.menu.flash.4194304_524288=4MB (Sketch: 3584KB, FS: 512KB)
876+
rpipico2w.menu.flash.4194304_524288.upload.maximum_size=3661824
877+
rpipico2w.menu.flash.4194304_524288.build.flash_total=4194304
878+
rpipico2w.menu.flash.4194304_524288.build.flash_length=3661824
879+
rpipico2w.menu.flash.4194304_524288.build.eeprom_start=272621568
880+
rpipico2w.menu.flash.4194304_524288.build.fs_start=272097280
881+
rpipico2w.menu.flash.4194304_524288.build.fs_end=272621568
882+
rpipico2w.menu.flash.4194304_1048576=4MB (Sketch: 3MB, FS: 1MB)
883+
rpipico2w.menu.flash.4194304_1048576.upload.maximum_size=3137536
884+
rpipico2w.menu.flash.4194304_1048576.build.flash_total=4194304
885+
rpipico2w.menu.flash.4194304_1048576.build.flash_length=3137536
886+
rpipico2w.menu.flash.4194304_1048576.build.eeprom_start=272621568
887+
rpipico2w.menu.flash.4194304_1048576.build.fs_start=271572992
888+
rpipico2w.menu.flash.4194304_1048576.build.fs_end=272621568
889+
rpipico2w.menu.flash.4194304_2097152=4MB (Sketch: 2MB, FS: 2MB)
890+
rpipico2w.menu.flash.4194304_2097152.upload.maximum_size=2088960
891+
rpipico2w.menu.flash.4194304_2097152.build.flash_total=4194304
892+
rpipico2w.menu.flash.4194304_2097152.build.flash_length=2088960
893+
rpipico2w.menu.flash.4194304_2097152.build.eeprom_start=272621568
894+
rpipico2w.menu.flash.4194304_2097152.build.fs_start=270524416
895+
rpipico2w.menu.flash.4194304_2097152.build.fs_end=272621568
896+
rpipico2w.menu.flash.4194304_3145728=4MB (Sketch: 1MB, FS: 3MB)
897+
rpipico2w.menu.flash.4194304_3145728.upload.maximum_size=1040384
898+
rpipico2w.menu.flash.4194304_3145728.build.flash_total=4194304
899+
rpipico2w.menu.flash.4194304_3145728.build.flash_length=1040384
900+
rpipico2w.menu.flash.4194304_3145728.build.eeprom_start=272621568
901+
rpipico2w.menu.flash.4194304_3145728.build.fs_start=269475840
902+
rpipico2w.menu.flash.4194304_3145728.build.fs_end=272621568
903+
rpipico2w.menu.arch.arm=ARM
904+
rpipico2w.menu.arch.arm.build.chip=rp2350
905+
rpipico2w.menu.arch.arm.build.toolchain=arm-none-eabi
906+
rpipico2w.menu.arch.arm.build.toolchainpkg=pqt-gcc
907+
rpipico2w.menu.arch.arm.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
908+
rpipico2w.menu.arch.arm.build.uf2family=--family rp2350-arm-s --abs-block
909+
rpipico2w.menu.arch.riscv=RISC-V
910+
rpipico2w.menu.arch.riscv.build.chip=rp2350-riscv
911+
rpipico2w.menu.arch.riscv.build.toolchain=riscv32-unknown-elf
912+
rpipico2w.menu.arch.riscv.build.toolchainpkg=pqt-gcc-riscv
913+
rpipico2w.menu.arch.riscv.build.toolchainopts=-march=rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb -mabi=ilp32
914+
rpipico2w.menu.arch.riscv.build.uf2family=--family rp2350-riscv --abs-block
915+
rpipico2w.menu.freq.150=150 MHz
916+
rpipico2w.menu.freq.150.build.f_cpu=150000000L
917+
rpipico2w.menu.freq.50=50 MHz
918+
rpipico2w.menu.freq.50.build.f_cpu=50000000L
919+
rpipico2w.menu.freq.100=100 MHz
920+
rpipico2w.menu.freq.100.build.f_cpu=100000000L
921+
rpipico2w.menu.freq.120=120 MHz
922+
rpipico2w.menu.freq.120.build.f_cpu=120000000L
923+
rpipico2w.menu.freq.125=125 MHz
924+
rpipico2w.menu.freq.125.build.f_cpu=125000000L
925+
rpipico2w.menu.freq.128=128 MHz
926+
rpipico2w.menu.freq.128.build.f_cpu=128000000L
927+
rpipico2w.menu.freq.133=133 MHz
928+
rpipico2w.menu.freq.133.build.f_cpu=133000000L
929+
rpipico2w.menu.freq.175=175 MHz (Overclock)
930+
rpipico2w.menu.freq.175.build.f_cpu=175000000L
931+
rpipico2w.menu.freq.200=200 MHz (Overclock)
932+
rpipico2w.menu.freq.200.build.f_cpu=200000000L
933+
rpipico2w.menu.freq.225=225 MHz (Overclock)
934+
rpipico2w.menu.freq.225.build.f_cpu=225000000L
935+
rpipico2w.menu.freq.240=240 MHz (Overclock)
936+
rpipico2w.menu.freq.240.build.f_cpu=240000000L
937+
rpipico2w.menu.freq.250=250 MHz (Overclock)
938+
rpipico2w.menu.freq.250.build.f_cpu=250000000L
939+
rpipico2w.menu.freq.275=275 MHz (Overclock)
940+
rpipico2w.menu.freq.275.build.f_cpu=275000000L
941+
rpipico2w.menu.freq.300=300 MHz (Overclock)
942+
rpipico2w.menu.freq.300.build.f_cpu=300000000L
943+
rpipico2w.menu.opt.Small=Small (-Os) (standard)
944+
rpipico2w.menu.opt.Small.build.flags.optimize=-Os
945+
rpipico2w.menu.opt.Optimize=Optimize (-O)
946+
rpipico2w.menu.opt.Optimize.build.flags.optimize=-O
947+
rpipico2w.menu.opt.Optimize2=Optimize More (-O2)
948+
rpipico2w.menu.opt.Optimize2.build.flags.optimize=-O2
949+
rpipico2w.menu.opt.Optimize3=Optimize Even More (-O3)
950+
rpipico2w.menu.opt.Optimize3.build.flags.optimize=-O3
951+
rpipico2w.menu.opt.Fast=Fast (-Ofast) (maybe slower)
952+
rpipico2w.menu.opt.Fast.build.flags.optimize=-Ofast
953+
rpipico2w.menu.opt.Debug=Debug (-Og)
954+
rpipico2w.menu.opt.Debug.build.flags.optimize=-Og
955+
rpipico2w.menu.rtti.Disabled=Disabled
956+
rpipico2w.menu.rtti.Disabled.build.flags.rtti=-fno-rtti
957+
rpipico2w.menu.rtti.Enabled=Enabled
958+
rpipico2w.menu.rtti.Enabled.build.flags.rtti=
959+
rpipico2w.menu.stackprotect.Disabled=Disabled
960+
rpipico2w.menu.stackprotect.Disabled.build.flags.stackprotect=
961+
rpipico2w.menu.stackprotect.Enabled=Enabled
962+
rpipico2w.menu.stackprotect.Enabled.build.flags.stackprotect=-fstack-protector
963+
rpipico2w.menu.exceptions.Disabled=Disabled
964+
rpipico2w.menu.exceptions.Disabled.build.flags.exceptions=-fno-exceptions
965+
rpipico2w.menu.exceptions.Disabled.build.flags.libstdcpp=-lstdc++
966+
rpipico2w.menu.exceptions.Enabled=Enabled
967+
rpipico2w.menu.exceptions.Enabled.build.flags.exceptions=-fexceptions
968+
rpipico2w.menu.exceptions.Enabled.build.flags.libstdcpp=-lstdc++-exc
969+
rpipico2w.menu.dbgport.Disabled=Disabled
970+
rpipico2w.menu.dbgport.Disabled.build.debug_port=
971+
rpipico2w.menu.dbgport.Serial=Serial
972+
rpipico2w.menu.dbgport.Serial.build.debug_port=-DDEBUG_RP2040_PORT=Serial
973+
rpipico2w.menu.dbgport.Serial1=Serial1
974+
rpipico2w.menu.dbgport.Serial1.build.debug_port=-DDEBUG_RP2040_PORT=Serial1
975+
rpipico2w.menu.dbgport.Serial2=Serial2
976+
rpipico2w.menu.dbgport.Serial2.build.debug_port=-DDEBUG_RP2040_PORT=Serial2
977+
rpipico2w.menu.dbglvl.None=None
978+
rpipico2w.menu.dbglvl.None.build.debug_level=
979+
rpipico2w.menu.dbglvl.Core=Core
980+
rpipico2w.menu.dbglvl.Core.build.debug_level=-DDEBUG_RP2040_CORE
981+
rpipico2w.menu.dbglvl.SPI=SPI
982+
rpipico2w.menu.dbglvl.SPI.build.debug_level=-DDEBUG_RP2040_SPI
983+
rpipico2w.menu.dbglvl.Wire=Wire
984+
rpipico2w.menu.dbglvl.Wire.build.debug_level=-DDEBUG_RP2040_WIRE
985+
rpipico2w.menu.dbglvl.Bluetooth=Bluetooth
986+
rpipico2w.menu.dbglvl.Bluetooth.build.debug_level=-DDEBUG_RP2040_BLUETOOTH
987+
rpipico2w.menu.dbglvl.All=All
988+
rpipico2w.menu.dbglvl.All.build.debug_level=-DDEBUG_RP2040_WIRE -DDEBUG_RP2040_SPI -DDEBUG_RP2040_CORE -DDEBUG_RP2040_BLUETOOTH
989+
rpipico2w.menu.dbglvl.NDEBUG=NDEBUG
990+
rpipico2w.menu.dbglvl.NDEBUG.build.debug_level=-DNDEBUG
991+
rpipico2w.menu.usbstack.picosdk=Pico SDK
992+
rpipico2w.menu.usbstack.picosdk.build.usbstack_flags=
993+
rpipico2w.menu.usbstack.tinyusb=Adafruit TinyUSB
994+
rpipico2w.menu.usbstack.tinyusb.build.usbstack_flags=-DUSE_TINYUSB "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
995+
rpipico2w.menu.usbstack.tinyusb_host=Adafruit TinyUSB Host (native)
996+
rpipico2w.menu.usbstack.tinyusb_host.build.usbstack_flags=-DUSE_TINYUSB -DUSE_TINYUSB_HOST "-I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
997+
rpipico2w.menu.usbstack.nousb=No USB
998+
rpipico2w.menu.usbstack.nousb.build.usbstack_flags="-DNO_USB -DDISABLE_USB_SERIAL -I{runtime.platform.path}/tools/libpico"
999+
rpipico2w.menu.ipbtstack.ipv4only=IPv4 Only
1000+
rpipico2w.menu.ipbtstack.ipv4only.build.libpicow=libipv4.a
1001+
rpipico2w.menu.ipbtstack.ipv4only.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1
1002+
rpipico2w.menu.ipbtstack.ipv4ipv6=IPv4 + IPv6
1003+
rpipico2w.menu.ipbtstack.ipv4ipv6.build.libpicow=libipv4-ipv6.a
1004+
rpipico2w.menu.ipbtstack.ipv4ipv6.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1
1005+
rpipico2w.menu.ipbtstack.ipv4btcble=IPv4 + Bluetooth
1006+
rpipico2w.menu.ipbtstack.ipv4btcble.build.libpicow=libipv4-bt.a
1007+
rpipico2w.menu.ipbtstack.ipv4btcble.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1
1008+
rpipico2w.menu.ipbtstack.ipv4ipv6btcble=IPv4 + IPv6 + Bluetooth
1009+
rpipico2w.menu.ipbtstack.ipv4ipv6btcble.build.libpicow=libipv4-ipv6-bt.a
1010+
rpipico2w.menu.ipbtstack.ipv4ipv6btcble.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1
1011+
rpipico2w.menu.ipbtstack.ipv4onlybig=IPv4 Only - 32K
1012+
rpipico2w.menu.ipbtstack.ipv4onlybig.build.libpicow=libipv4-big.a
1013+
rpipico2w.menu.ipbtstack.ipv4onlybig.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1 -D__LWIP_MEMMULT=2
1014+
rpipico2w.menu.ipbtstack.ipv4ipv6big=IPv4 + IPv6 - 32K
1015+
rpipico2w.menu.ipbtstack.ipv4ipv6big.build.libpicow=libipv4-ipv6-big.a
1016+
rpipico2w.menu.ipbtstack.ipv4ipv6big.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1 -D__LWIP_MEMMULT=2
1017+
rpipico2w.menu.ipbtstack.ipv4btcblebig=IPv4 + Bluetooth - 32K
1018+
rpipico2w.menu.ipbtstack.ipv4btcblebig.build.libpicow=libipv4-bt-big.a
1019+
rpipico2w.menu.ipbtstack.ipv4btcblebig.build.libpicowdefs=-DLWIP_IPV6=0 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1 -D__LWIP_MEMMULT=2
1020+
rpipico2w.menu.ipbtstack.ipv4ipv6btcblebig=IPv4 + IPv6 + Bluetooth - 32K
1021+
rpipico2w.menu.ipbtstack.ipv4ipv6btcblebig.build.libpicow=libipv4-ipv6-bt-big.a
1022+
rpipico2w.menu.ipbtstack.ipv4ipv6btcblebig.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1 -D__LWIP_MEMMULT=2
1023+
rpipico2w.menu.uploadmethod.default=Default (UF2)
1024+
rpipico2w.menu.uploadmethod.default.build.ram_length=512k
1025+
rpipico2w.menu.uploadmethod.default.build.debugscript=picoprobe_cmsis_dap.tcl
1026+
rpipico2w.menu.uploadmethod.default.upload.maximum_data_size=524288
1027+
rpipico2w.menu.uploadmethod.default.upload.tool=uf2conv
1028+
rpipico2w.menu.uploadmethod.default.upload.tool.default=uf2conv
1029+
rpipico2w.menu.uploadmethod.default.upload.tool.network=uf2conv-network
1030+
rpipico2w.menu.uploadmethod.picotool=Picotool
1031+
rpipico2w.menu.uploadmethod.picotool.build.ram_length=512k
1032+
rpipico2w.menu.uploadmethod.picotool.build.debugscript=picoprobe.tcl
1033+
rpipico2w.menu.uploadmethod.picotool.build.picodebugflags=-DENABLE_PICOTOOL_USB
1034+
rpipico2w.menu.uploadmethod.picotool.upload.maximum_data_size=524288
1035+
rpipico2w.menu.uploadmethod.picotool.upload.tool=picotool
1036+
rpipico2w.menu.uploadmethod.picotool.upload.tool.default=picotool
1037+
rpipico2w.menu.uploadmethod.picoprobe_cmsis_dap=Picoprobe/Debugprobe (CMSIS-DAP)
1038+
rpipico2w.menu.uploadmethod.picoprobe_cmsis_dap.build.ram_length=512k
1039+
rpipico2w.menu.uploadmethod.picoprobe_cmsis_dap.build.debugscript=picoprobe_cmsis_dap.tcl
1040+
rpipico2w.menu.uploadmethod.picoprobe_cmsis_dap.upload.maximum_data_size=524288
1041+
rpipico2w.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool=picoprobe_cmsis_dap
1042+
rpipico2w.menu.uploadmethod.picoprobe_cmsis_dap.upload.tool.default=picoprobe_cmsis_dap
1043+
8161044
# -----------------------------------
8171045
# 0xCB Helios
8181046
# -----------------------------------

cores/rp2040/flash_wrapper.cpp

Lines changed: 0 additions & 95 deletions
This file was deleted.

include/rp2040/pico_base/pico/version.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
#define _PICO_VERSION_H
1313

1414
#define PICO_SDK_VERSION_MAJOR 2
15-
#define PICO_SDK_VERSION_MINOR 0
16-
#define PICO_SDK_VERSION_REVISION 1
17-
#define PICO_SDK_VERSION_STRING "2.0.1-develop"
15+
#define PICO_SDK_VERSION_MINOR 1
16+
#define PICO_SDK_VERSION_REVISION 0
17+
#define PICO_SDK_VERSION_STRING "2.1.0"
1818

1919
#endif

include/rp2350/pico_base/pico/version.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
#define _PICO_VERSION_H
1313

1414
#define PICO_SDK_VERSION_MAJOR 2
15-
#define PICO_SDK_VERSION_MINOR 0
16-
#define PICO_SDK_VERSION_REVISION 1
17-
#define PICO_SDK_VERSION_STRING "2.0.1-develop"
15+
#define PICO_SDK_VERSION_MINOR 1
16+
#define PICO_SDK_VERSION_REVISION 0
17+
#define PICO_SDK_VERSION_STRING "2.1.0"
1818

1919
#endif

lib/core_wrap.txt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,3 @@
6767
-Wl,--wrap=cyw43_tcpip_link_status
6868
-Wl,--wrap=cyw43_cb_tcpip_init
6969
-Wl,--wrap=cyw43_cb_tcpip_deinit
70-
71-
-Wl,--wrap=flash_range_erase
72-
-Wl,--wrap=flash_range_program
73-
-Wl,--wrap=flash_get_unique_id
74-
-Wl,--wrap=flash_do_cmd

0 commit comments

Comments
 (0)