Add RISC-V support, GCC 14 move (#2491)
* Adds RISC-V compilation option to the IDE and Platform.IO. * Build RP2350-RISCV libpico, libbearssl * Fix RP2350 BearSSL library (was copied from RP2040, now built for M33) * New GCC 14.2 toolchain is required (12.4 RISC-V support is borked) * Newlib locking fixed prototypes * Manually force all runtime init code into RP2350 binaries * Add RISC-V to CI * Remove RP2350 BOOT2.S files, binaries (not used) * Clean up minor GCC 14.x warnings * Add RP2350-RISCV OTA build, link * Add RISC-V FreeRTOS files (configuration still not running, but builds) * Add basic documentation
This commit is contained in:
parent
f49d058477
commit
f6973fc64d
89 changed files with 11240 additions and 457 deletions
33
.github/workflows/pull-request.yml
vendored
33
.github/workflows/pull-request.yml
vendored
|
|
@ -17,7 +17,7 @@ jobs:
|
||||||
with:
|
with:
|
||||||
submodules: false
|
submodules: false
|
||||||
- name: Run codespell
|
- name: Run codespell
|
||||||
uses: codespell-project/actions-codespell@master
|
uses: codespell-project/actions-codespell@v2
|
||||||
with:
|
with:
|
||||||
skip: ./ArduinoCore-API,./libraries/ESP8266SdFat,./libraries/Adafruit_TinyUSB_Arduino,./libraries/LittleFS/lib,./tools/pyserial,./pico-sdk,./.github,./docs/i2s.rst,./cores/rp2040/api,./libraries/FreeRTOS,./tools/libbearssl/bearssl,./include,./libraries/WiFi/examples/BearSSL_Server,./ota/uzlib,./libraries/http-parser/lib,./libraries/WebServer/examples/HelloServerBearSSL/HelloServerBearSSL.ino,./libraries/HTTPUpdateServer/examples/SecureBearSSLUpdater/SecureBearSSLUpdater.ino,./.git,./libraries/FatFS/lib/fatfs,./libraries/FatFS/src/diskio.h,./libraries/FatFS/src/ff.cpp,./libraries/FatFS/src/ffconf.h,./libraries/FatFS/src/ffsystem.cpp,./libraries/FatFS/src/ff.h,./libraries/lwIP_WINC1500/src/driver,./libraries/lwIP_WINC1500/src/common,./libraries/lwIP_WINC1500/src/bus_wrapper,./libraries/lwIP_WINC1500/src/spi_flash
|
skip: ./ArduinoCore-API,./libraries/ESP8266SdFat,./libraries/Adafruit_TinyUSB_Arduino,./libraries/LittleFS/lib,./tools/pyserial,./pico-sdk,./.github,./docs/i2s.rst,./cores/rp2040/api,./libraries/FreeRTOS,./tools/libbearssl/bearssl,./include,./libraries/WiFi/examples/BearSSL_Server,./ota/uzlib,./libraries/http-parser/lib,./libraries/WebServer/examples/HelloServerBearSSL/HelloServerBearSSL.ino,./libraries/HTTPUpdateServer/examples/SecureBearSSLUpdater/SecureBearSSLUpdater.ino,./.git,./libraries/FatFS/lib/fatfs,./libraries/FatFS/src/diskio.h,./libraries/FatFS/src/ff.cpp,./libraries/FatFS/src/ffconf.h,./libraries/FatFS/src/ffsystem.cpp,./libraries/FatFS/src/ff.h,./libraries/lwIP_WINC1500/src/driver,./libraries/lwIP_WINC1500/src/common,./libraries/lwIP_WINC1500/src/bus_wrapper,./libraries/lwIP_WINC1500/src/spi_flash
|
||||||
ignore_words_list: ser,dout,shiftIn,acount
|
ignore_words_list: ser,dout,shiftIn,acount
|
||||||
|
|
@ -101,6 +101,37 @@ jobs:
|
||||||
cd ..
|
cd ..
|
||||||
bash ./tests/build-rp2350.sh
|
bash ./tests/build-rp2350.sh
|
||||||
|
|
||||||
|
# Build all rp2350-riscv examples on linux (core and Arduino IDE)
|
||||||
|
build-rp2350-riscv-linux:
|
||||||
|
name: Build RP2350-RISCV ${{ matrix.chunk }}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
chunk: [0, 1, 2, 3, 4, 5]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
- uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: '3.x'
|
||||||
|
- name: Cache Linux toolchain
|
||||||
|
id: cache-linux
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: ./tools/dist
|
||||||
|
key: ${{ runner.os }}-${{ hashFiles('package/package_pico_index.template.json', 'tests/common.sh') }}
|
||||||
|
- name: Build Sketches
|
||||||
|
env:
|
||||||
|
BUILD_PARITY: custom
|
||||||
|
mod: 6
|
||||||
|
rem: ${{ matrix.chunk }}
|
||||||
|
run: |
|
||||||
|
cd pico-sdk
|
||||||
|
git submodule update --init
|
||||||
|
cd ..
|
||||||
|
bash ./tests/build-rp2350-riscv.sh
|
||||||
|
|
||||||
# Build TinyUSB examples, requires custom build command line
|
# Build TinyUSB examples, requires custom build command line
|
||||||
build-tinyusb:
|
build-tinyusb:
|
||||||
name: Build TinyUSB Examples
|
name: Build TinyUSB Examples
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
Raspberry Pi Pico Arduino core, for all RP2040 and RP2350 boards
|
Raspberry Pi Pico Arduino core, for all RP2040 and RP2350 boards
|
||||||
|
|
||||||
This is a port of Arduino to the RP2040 (Raspberry Pi Pico processor) and RP2350 (Raspberry Pi Pico 2 processor). It uses the bare Raspberry Pi Pico SDK and a custom GCC 12.3/Newlib 4.0 toolchain.
|
This is a port of Arduino to the RP2040 (Raspberry Pi Pico processor) and RP2350 (Raspberry Pi Pico 2 processor). It uses the bare Raspberry Pi Pico SDK and a custom GCC 14.2/Newlib 4.3 toolchain and supports ARM and RISC-V cores.
|
||||||
|
|
||||||
# Documentation
|
# Documentation
|
||||||
See https://arduino-pico.readthedocs.io/en/latest/ along with the examples for more detailed usage information.
|
See https://arduino-pico.readthedocs.io/en/latest/ along with the examples for more detailed usage information.
|
||||||
|
|
@ -126,6 +126,7 @@ Read the [Contributing Guide](https://github.com/earlephilhower/arduino-pico/blo
|
||||||
* Peripherals: SPI master/slave, Wire(I2C) master/slave, dual UART, emulated EEPROM, I2S audio input/output, Servo
|
* Peripherals: SPI master/slave, Wire(I2C) master/slave, dual UART, emulated EEPROM, I2S audio input/output, Servo
|
||||||
* printf (i.e. debug) output over USB serial
|
* printf (i.e. debug) output over USB serial
|
||||||
* Transparent use of PSRAM globals and heap (RP2350 only)
|
* Transparent use of PSRAM globals and heap (RP2350 only)
|
||||||
|
* ARM or RISC-V (Hazard3) support for The RP2350
|
||||||
|
|
||||||
The RP2040 PIO state machines (SMs) are used to generate jitter-free:
|
The RP2040 PIO state machines (SMs) are used to generate jitter-free:
|
||||||
* Servos
|
* Servos
|
||||||
|
|
|
||||||
229
boards.txt
229
boards.txt
|
|
@ -9,6 +9,7 @@ menu.psramcs=PSRAM CS
|
||||||
menu.psram=PSRAM Size
|
menu.psram=PSRAM Size
|
||||||
menu.psramfreq=PSRAM Speed
|
menu.psramfreq=PSRAM Speed
|
||||||
menu.freq=CPU Speed
|
menu.freq=CPU Speed
|
||||||
|
menu.arch=CPU Architecture
|
||||||
menu.opt=Optimize
|
menu.opt=Optimize
|
||||||
menu.rtti=RTTI
|
menu.rtti=RTTI
|
||||||
menu.stackprotect=Stack Protector
|
menu.stackprotect=Stack Protector
|
||||||
|
|
@ -598,10 +599,6 @@ rpipico2.build.usbvid=-DUSBD_VID=0x2e8a
|
||||||
rpipico2.build.usbpid=-DUSBD_PID=0x000f
|
rpipico2.build.usbpid=-DUSBD_PID=0x000f
|
||||||
rpipico2.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
rpipico2.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||||
rpipico2.build.board=RASPBERRY_PI_PICO_2
|
rpipico2.build.board=RASPBERRY_PI_PICO_2
|
||||||
rpipico2.build.chip=rp2350
|
|
||||||
rpipico2.build.toolchain=arm-none-eabi
|
|
||||||
rpipico2.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
|
||||||
rpipico2.build.uf2family=--family rp2350-arm-s --abs-block
|
|
||||||
rpipico2.build.variant=rpipico2
|
rpipico2.build.variant=rpipico2
|
||||||
rpipico2.upload.maximum_size=4194304
|
rpipico2.upload.maximum_size=4194304
|
||||||
rpipico2.upload.wait_for_upload_port=true
|
rpipico2.upload.wait_for_upload_port=true
|
||||||
|
|
@ -612,7 +609,7 @@ rpipico2.build.f_cpu=125000000
|
||||||
rpipico2.build.led=
|
rpipico2.build.led=
|
||||||
rpipico2.build.core=rp2040
|
rpipico2.build.core=rp2040
|
||||||
rpipico2.build.ldscript=memmap_default.ld
|
rpipico2.build.ldscript=memmap_default.ld
|
||||||
rpipico2.build.boot2=boot2_generic_03h_2_padded_checksum
|
rpipico2.build.boot2=none
|
||||||
rpipico2.build.usb_manufacturer="Raspberry Pi"
|
rpipico2.build.usb_manufacturer="Raspberry Pi"
|
||||||
rpipico2.build.usb_product="Pico 2"
|
rpipico2.build.usb_product="Pico 2"
|
||||||
rpipico2.build.psram_length=0x000000
|
rpipico2.build.psram_length=0x000000
|
||||||
|
|
@ -672,6 +669,16 @@ rpipico2.menu.flash.4194304_3145728.build.flash_length=1040384
|
||||||
rpipico2.menu.flash.4194304_3145728.build.eeprom_start=272621568
|
rpipico2.menu.flash.4194304_3145728.build.eeprom_start=272621568
|
||||||
rpipico2.menu.flash.4194304_3145728.build.fs_start=269475840
|
rpipico2.menu.flash.4194304_3145728.build.fs_start=269475840
|
||||||
rpipico2.menu.flash.4194304_3145728.build.fs_end=272621568
|
rpipico2.menu.flash.4194304_3145728.build.fs_end=272621568
|
||||||
|
rpipico2.menu.arch.arm=ARM
|
||||||
|
rpipico2.menu.arch.arm.build.chip=rp2350
|
||||||
|
rpipico2.menu.arch.arm.build.toolchain=arm-none-eabi
|
||||||
|
rpipico2.menu.arch.arm.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
||||||
|
rpipico2.menu.arch.arm.build.uf2family=--family rp2350-arm-s --abs-block
|
||||||
|
rpipico2.menu.arch.riscv=RISC-V
|
||||||
|
rpipico2.menu.arch.riscv.build.chip=rp2350-riscv
|
||||||
|
rpipico2.menu.arch.riscv.build.toolchain=riscv32-unknown-elf
|
||||||
|
rpipico2.menu.arch.riscv.build.toolchainopts=-march=rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb -mabi=ilp32
|
||||||
|
rpipico2.menu.arch.riscv.build.uf2family=--family rp2350-riscv --abs-block
|
||||||
rpipico2.menu.freq.150=150 MHz
|
rpipico2.menu.freq.150=150 MHz
|
||||||
rpipico2.menu.freq.150.build.f_cpu=150000000L
|
rpipico2.menu.freq.150.build.f_cpu=150000000L
|
||||||
rpipico2.menu.freq.50=50 MHz
|
rpipico2.menu.freq.50=50 MHz
|
||||||
|
|
@ -5199,10 +5206,6 @@ adafruit_feather_rp2350_hstx.build.usbvid=-DUSBD_VID=0x239a
|
||||||
adafruit_feather_rp2350_hstx.build.usbpid=-DUSBD_PID=0x814f
|
adafruit_feather_rp2350_hstx.build.usbpid=-DUSBD_PID=0x814f
|
||||||
adafruit_feather_rp2350_hstx.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
adafruit_feather_rp2350_hstx.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||||
adafruit_feather_rp2350_hstx.build.board=ADAFRUIT_FEATHER_RP2350_HSTX
|
adafruit_feather_rp2350_hstx.build.board=ADAFRUIT_FEATHER_RP2350_HSTX
|
||||||
adafruit_feather_rp2350_hstx.build.chip=rp2350
|
|
||||||
adafruit_feather_rp2350_hstx.build.toolchain=arm-none-eabi
|
|
||||||
adafruit_feather_rp2350_hstx.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
|
||||||
adafruit_feather_rp2350_hstx.build.uf2family=--family rp2350-arm-s --abs-block
|
|
||||||
adafruit_feather_rp2350_hstx.build.variant=adafruit_feather_rp2350_hstx
|
adafruit_feather_rp2350_hstx.build.variant=adafruit_feather_rp2350_hstx
|
||||||
adafruit_feather_rp2350_hstx.upload.maximum_size=8388608
|
adafruit_feather_rp2350_hstx.upload.maximum_size=8388608
|
||||||
adafruit_feather_rp2350_hstx.upload.wait_for_upload_port=true
|
adafruit_feather_rp2350_hstx.upload.wait_for_upload_port=true
|
||||||
|
|
@ -5213,7 +5216,7 @@ adafruit_feather_rp2350_hstx.build.f_cpu=125000000
|
||||||
adafruit_feather_rp2350_hstx.build.led=
|
adafruit_feather_rp2350_hstx.build.led=
|
||||||
adafruit_feather_rp2350_hstx.build.core=rp2040
|
adafruit_feather_rp2350_hstx.build.core=rp2040
|
||||||
adafruit_feather_rp2350_hstx.build.ldscript=memmap_default.ld
|
adafruit_feather_rp2350_hstx.build.ldscript=memmap_default.ld
|
||||||
adafruit_feather_rp2350_hstx.build.boot2=boot2_w25q080_2_padded_checksum
|
adafruit_feather_rp2350_hstx.build.boot2=none
|
||||||
adafruit_feather_rp2350_hstx.build.usb_manufacturer="Adafruit"
|
adafruit_feather_rp2350_hstx.build.usb_manufacturer="Adafruit"
|
||||||
adafruit_feather_rp2350_hstx.build.usb_product="Feather RP2350 HSTX"
|
adafruit_feather_rp2350_hstx.build.usb_product="Feather RP2350 HSTX"
|
||||||
adafruit_feather_rp2350_hstx.build.psram_length=0x000000
|
adafruit_feather_rp2350_hstx.build.psram_length=0x000000
|
||||||
|
|
@ -5301,6 +5304,16 @@ adafruit_feather_rp2350_hstx.menu.flash.8388608_7340032.build.flash_length=10403
|
||||||
adafruit_feather_rp2350_hstx.menu.flash.8388608_7340032.build.eeprom_start=276815872
|
adafruit_feather_rp2350_hstx.menu.flash.8388608_7340032.build.eeprom_start=276815872
|
||||||
adafruit_feather_rp2350_hstx.menu.flash.8388608_7340032.build.fs_start=269475840
|
adafruit_feather_rp2350_hstx.menu.flash.8388608_7340032.build.fs_start=269475840
|
||||||
adafruit_feather_rp2350_hstx.menu.flash.8388608_7340032.build.fs_end=276815872
|
adafruit_feather_rp2350_hstx.menu.flash.8388608_7340032.build.fs_end=276815872
|
||||||
|
adafruit_feather_rp2350_hstx.menu.arch.arm=ARM
|
||||||
|
adafruit_feather_rp2350_hstx.menu.arch.arm.build.chip=rp2350
|
||||||
|
adafruit_feather_rp2350_hstx.menu.arch.arm.build.toolchain=arm-none-eabi
|
||||||
|
adafruit_feather_rp2350_hstx.menu.arch.arm.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
||||||
|
adafruit_feather_rp2350_hstx.menu.arch.arm.build.uf2family=--family rp2350-arm-s --abs-block
|
||||||
|
adafruit_feather_rp2350_hstx.menu.arch.riscv=RISC-V
|
||||||
|
adafruit_feather_rp2350_hstx.menu.arch.riscv.build.chip=rp2350-riscv
|
||||||
|
adafruit_feather_rp2350_hstx.menu.arch.riscv.build.toolchain=riscv32-unknown-elf
|
||||||
|
adafruit_feather_rp2350_hstx.menu.arch.riscv.build.toolchainopts=-march=rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb -mabi=ilp32
|
||||||
|
adafruit_feather_rp2350_hstx.menu.arch.riscv.build.uf2family=--family rp2350-riscv --abs-block
|
||||||
adafruit_feather_rp2350_hstx.menu.freq.150=150 MHz
|
adafruit_feather_rp2350_hstx.menu.freq.150=150 MHz
|
||||||
adafruit_feather_rp2350_hstx.menu.freq.150.build.f_cpu=150000000L
|
adafruit_feather_rp2350_hstx.menu.freq.150.build.f_cpu=150000000L
|
||||||
adafruit_feather_rp2350_hstx.menu.freq.50=50 MHz
|
adafruit_feather_rp2350_hstx.menu.freq.50=50 MHz
|
||||||
|
|
@ -5409,10 +5422,6 @@ adafruit_feather_rp2350_hstx.menu.ipbtstack.ipv4btcblebig.build.libpicowdefs=-DL
|
||||||
adafruit_feather_rp2350_hstx.menu.ipbtstack.ipv4ipv6btcblebig=IPv4 + IPv6 + Bluetooth - 32K
|
adafruit_feather_rp2350_hstx.menu.ipbtstack.ipv4ipv6btcblebig=IPv4 + IPv6 + Bluetooth - 32K
|
||||||
adafruit_feather_rp2350_hstx.menu.ipbtstack.ipv4ipv6btcblebig.build.libpicow=libipv4-ipv6-bt-big.a
|
adafruit_feather_rp2350_hstx.menu.ipbtstack.ipv4ipv6btcblebig.build.libpicow=libipv4-ipv6-bt-big.a
|
||||||
adafruit_feather_rp2350_hstx.menu.ipbtstack.ipv4ipv6btcblebig.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1 -D__LWIP_MEMMULT=2
|
adafruit_feather_rp2350_hstx.menu.ipbtstack.ipv4ipv6btcblebig.build.libpicowdefs=-DLWIP_IPV6=1 -DLWIP_IPV4=1 -DENABLE_CLASSIC=1 -DENABLE_BLE=1 -D__LWIP_MEMMULT=2
|
||||||
adafruit_feather_rp2350_hstx.menu.boot2.boot2_w25q080_2_padded_checksum=W25Q080 QSPI /2
|
|
||||||
adafruit_feather_rp2350_hstx.menu.boot2.boot2_w25q080_2_padded_checksum.build.boot2=boot2_w25q080_2_padded_checksum
|
|
||||||
adafruit_feather_rp2350_hstx.menu.boot2.boot2_w25q080_4_padded_checksum=W25Q080 QSPI /4
|
|
||||||
adafruit_feather_rp2350_hstx.menu.boot2.boot2_w25q080_4_padded_checksum.build.boot2=boot2_w25q080_4_padded_checksum
|
|
||||||
adafruit_feather_rp2350_hstx.menu.uploadmethod.default=Default (UF2)
|
adafruit_feather_rp2350_hstx.menu.uploadmethod.default=Default (UF2)
|
||||||
adafruit_feather_rp2350_hstx.menu.uploadmethod.default.build.ram_length=512k
|
adafruit_feather_rp2350_hstx.menu.uploadmethod.default.build.ram_length=512k
|
||||||
adafruit_feather_rp2350_hstx.menu.uploadmethod.default.build.debugscript=picoprobe_cmsis_dap.tcl
|
adafruit_feather_rp2350_hstx.menu.uploadmethod.default.build.debugscript=picoprobe_cmsis_dap.tcl
|
||||||
|
|
@ -9060,10 +9069,6 @@ cytron_iriv_io_controller.build.usbvid=-DUSBD_VID=0x2e8a
|
||||||
cytron_iriv_io_controller.build.usbpid=-DUSBD_PID=0x1093
|
cytron_iriv_io_controller.build.usbpid=-DUSBD_PID=0x1093
|
||||||
cytron_iriv_io_controller.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
cytron_iriv_io_controller.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||||
cytron_iriv_io_controller.build.board=CYTRON_IRIV_IO_CONTROLLER
|
cytron_iriv_io_controller.build.board=CYTRON_IRIV_IO_CONTROLLER
|
||||||
cytron_iriv_io_controller.build.chip=rp2350
|
|
||||||
cytron_iriv_io_controller.build.toolchain=arm-none-eabi
|
|
||||||
cytron_iriv_io_controller.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
|
||||||
cytron_iriv_io_controller.build.uf2family=--family rp2350-arm-s --abs-block
|
|
||||||
cytron_iriv_io_controller.build.variant=cytron_iriv_io_controller
|
cytron_iriv_io_controller.build.variant=cytron_iriv_io_controller
|
||||||
cytron_iriv_io_controller.upload.maximum_size=2097152
|
cytron_iriv_io_controller.upload.maximum_size=2097152
|
||||||
cytron_iriv_io_controller.upload.wait_for_upload_port=true
|
cytron_iriv_io_controller.upload.wait_for_upload_port=true
|
||||||
|
|
@ -9074,7 +9079,7 @@ cytron_iriv_io_controller.build.f_cpu=125000000
|
||||||
cytron_iriv_io_controller.build.led=
|
cytron_iriv_io_controller.build.led=
|
||||||
cytron_iriv_io_controller.build.core=rp2040
|
cytron_iriv_io_controller.build.core=rp2040
|
||||||
cytron_iriv_io_controller.build.ldscript=memmap_default.ld
|
cytron_iriv_io_controller.build.ldscript=memmap_default.ld
|
||||||
cytron_iriv_io_controller.build.boot2=boot2_w25q080_2_padded_checksum
|
cytron_iriv_io_controller.build.boot2=none
|
||||||
cytron_iriv_io_controller.build.usb_manufacturer="Cytron"
|
cytron_iriv_io_controller.build.usb_manufacturer="Cytron"
|
||||||
cytron_iriv_io_controller.build.usb_product="IRIV IO Controller"
|
cytron_iriv_io_controller.build.usb_product="IRIV IO Controller"
|
||||||
cytron_iriv_io_controller.build.psram_length=0x000000
|
cytron_iriv_io_controller.build.psram_length=0x000000
|
||||||
|
|
@ -9120,6 +9125,16 @@ cytron_iriv_io_controller.menu.flash.2097152_1048576.build.flash_length=1040384
|
||||||
cytron_iriv_io_controller.menu.flash.2097152_1048576.build.eeprom_start=270524416
|
cytron_iriv_io_controller.menu.flash.2097152_1048576.build.eeprom_start=270524416
|
||||||
cytron_iriv_io_controller.menu.flash.2097152_1048576.build.fs_start=269475840
|
cytron_iriv_io_controller.menu.flash.2097152_1048576.build.fs_start=269475840
|
||||||
cytron_iriv_io_controller.menu.flash.2097152_1048576.build.fs_end=270524416
|
cytron_iriv_io_controller.menu.flash.2097152_1048576.build.fs_end=270524416
|
||||||
|
cytron_iriv_io_controller.menu.arch.arm=ARM
|
||||||
|
cytron_iriv_io_controller.menu.arch.arm.build.chip=rp2350
|
||||||
|
cytron_iriv_io_controller.menu.arch.arm.build.toolchain=arm-none-eabi
|
||||||
|
cytron_iriv_io_controller.menu.arch.arm.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
||||||
|
cytron_iriv_io_controller.menu.arch.arm.build.uf2family=--family rp2350-arm-s --abs-block
|
||||||
|
cytron_iriv_io_controller.menu.arch.riscv=RISC-V
|
||||||
|
cytron_iriv_io_controller.menu.arch.riscv.build.chip=rp2350-riscv
|
||||||
|
cytron_iriv_io_controller.menu.arch.riscv.build.toolchain=riscv32-unknown-elf
|
||||||
|
cytron_iriv_io_controller.menu.arch.riscv.build.toolchainopts=-march=rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb -mabi=ilp32
|
||||||
|
cytron_iriv_io_controller.menu.arch.riscv.build.uf2family=--family rp2350-riscv --abs-block
|
||||||
cytron_iriv_io_controller.menu.freq.150=150 MHz
|
cytron_iriv_io_controller.menu.freq.150=150 MHz
|
||||||
cytron_iriv_io_controller.menu.freq.150.build.f_cpu=150000000L
|
cytron_iriv_io_controller.menu.freq.150.build.f_cpu=150000000L
|
||||||
cytron_iriv_io_controller.menu.freq.50=50 MHz
|
cytron_iriv_io_controller.menu.freq.50=50 MHz
|
||||||
|
|
@ -9973,10 +9988,6 @@ cytron_motion_2350_pro.build.usbvid=-DUSBD_VID=0x2e8a
|
||||||
cytron_motion_2350_pro.build.usbpid=-DUSBD_PID=0x1096
|
cytron_motion_2350_pro.build.usbpid=-DUSBD_PID=0x1096
|
||||||
cytron_motion_2350_pro.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
cytron_motion_2350_pro.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||||
cytron_motion_2350_pro.build.board=CYTRON_MOTION_2350_PRO
|
cytron_motion_2350_pro.build.board=CYTRON_MOTION_2350_PRO
|
||||||
cytron_motion_2350_pro.build.chip=rp2350
|
|
||||||
cytron_motion_2350_pro.build.toolchain=arm-none-eabi
|
|
||||||
cytron_motion_2350_pro.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
|
||||||
cytron_motion_2350_pro.build.uf2family=--family rp2350-arm-s --abs-block
|
|
||||||
cytron_motion_2350_pro.build.variant=cytron_motion_2350_pro
|
cytron_motion_2350_pro.build.variant=cytron_motion_2350_pro
|
||||||
cytron_motion_2350_pro.upload.maximum_size=2097152
|
cytron_motion_2350_pro.upload.maximum_size=2097152
|
||||||
cytron_motion_2350_pro.upload.wait_for_upload_port=true
|
cytron_motion_2350_pro.upload.wait_for_upload_port=true
|
||||||
|
|
@ -9987,7 +9998,7 @@ cytron_motion_2350_pro.build.f_cpu=125000000
|
||||||
cytron_motion_2350_pro.build.led=
|
cytron_motion_2350_pro.build.led=
|
||||||
cytron_motion_2350_pro.build.core=rp2040
|
cytron_motion_2350_pro.build.core=rp2040
|
||||||
cytron_motion_2350_pro.build.ldscript=memmap_default.ld
|
cytron_motion_2350_pro.build.ldscript=memmap_default.ld
|
||||||
cytron_motion_2350_pro.build.boot2=boot2_generic_03h_2_padded_checksum
|
cytron_motion_2350_pro.build.boot2=none
|
||||||
cytron_motion_2350_pro.build.usb_manufacturer="Cytron"
|
cytron_motion_2350_pro.build.usb_manufacturer="Cytron"
|
||||||
cytron_motion_2350_pro.build.usb_product="Motion 2350 Pro"
|
cytron_motion_2350_pro.build.usb_product="Motion 2350 Pro"
|
||||||
cytron_motion_2350_pro.build.psram_length=0x000000
|
cytron_motion_2350_pro.build.psram_length=0x000000
|
||||||
|
|
@ -10033,6 +10044,16 @@ cytron_motion_2350_pro.menu.flash.2097152_1048576.build.flash_length=1040384
|
||||||
cytron_motion_2350_pro.menu.flash.2097152_1048576.build.eeprom_start=270524416
|
cytron_motion_2350_pro.menu.flash.2097152_1048576.build.eeprom_start=270524416
|
||||||
cytron_motion_2350_pro.menu.flash.2097152_1048576.build.fs_start=269475840
|
cytron_motion_2350_pro.menu.flash.2097152_1048576.build.fs_start=269475840
|
||||||
cytron_motion_2350_pro.menu.flash.2097152_1048576.build.fs_end=270524416
|
cytron_motion_2350_pro.menu.flash.2097152_1048576.build.fs_end=270524416
|
||||||
|
cytron_motion_2350_pro.menu.arch.arm=ARM
|
||||||
|
cytron_motion_2350_pro.menu.arch.arm.build.chip=rp2350
|
||||||
|
cytron_motion_2350_pro.menu.arch.arm.build.toolchain=arm-none-eabi
|
||||||
|
cytron_motion_2350_pro.menu.arch.arm.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
||||||
|
cytron_motion_2350_pro.menu.arch.arm.build.uf2family=--family rp2350-arm-s --abs-block
|
||||||
|
cytron_motion_2350_pro.menu.arch.riscv=RISC-V
|
||||||
|
cytron_motion_2350_pro.menu.arch.riscv.build.chip=rp2350-riscv
|
||||||
|
cytron_motion_2350_pro.menu.arch.riscv.build.toolchain=riscv32-unknown-elf
|
||||||
|
cytron_motion_2350_pro.menu.arch.riscv.build.toolchainopts=-march=rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb -mabi=ilp32
|
||||||
|
cytron_motion_2350_pro.menu.arch.riscv.build.uf2family=--family rp2350-riscv --abs-block
|
||||||
cytron_motion_2350_pro.menu.freq.150=150 MHz
|
cytron_motion_2350_pro.menu.freq.150=150 MHz
|
||||||
cytron_motion_2350_pro.menu.freq.150.build.f_cpu=150000000L
|
cytron_motion_2350_pro.menu.freq.150.build.f_cpu=150000000L
|
||||||
cytron_motion_2350_pro.menu.freq.50=50 MHz
|
cytron_motion_2350_pro.menu.freq.50=50 MHz
|
||||||
|
|
@ -10430,10 +10451,6 @@ datanoisetv_picoadk_v2.build.usbvid=-DUSBD_VID=0x2e8a
|
||||||
datanoisetv_picoadk_v2.build.usbpid=-DUSBD_PID=0x10ae
|
datanoisetv_picoadk_v2.build.usbpid=-DUSBD_PID=0x10ae
|
||||||
datanoisetv_picoadk_v2.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
datanoisetv_picoadk_v2.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||||
datanoisetv_picoadk_v2.build.board=DATANOISETV_PICOADK_V2
|
datanoisetv_picoadk_v2.build.board=DATANOISETV_PICOADK_V2
|
||||||
datanoisetv_picoadk_v2.build.chip=rp2350
|
|
||||||
datanoisetv_picoadk_v2.build.toolchain=arm-none-eabi
|
|
||||||
datanoisetv_picoadk_v2.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
|
||||||
datanoisetv_picoadk_v2.build.uf2family=--family rp2350-arm-s --abs-block
|
|
||||||
datanoisetv_picoadk_v2.build.variant=datanoisetv_picoadk_v2
|
datanoisetv_picoadk_v2.build.variant=datanoisetv_picoadk_v2
|
||||||
datanoisetv_picoadk_v2.upload.maximum_size=4194304
|
datanoisetv_picoadk_v2.upload.maximum_size=4194304
|
||||||
datanoisetv_picoadk_v2.upload.wait_for_upload_port=true
|
datanoisetv_picoadk_v2.upload.wait_for_upload_port=true
|
||||||
|
|
@ -10444,7 +10461,7 @@ datanoisetv_picoadk_v2.build.f_cpu=125000000
|
||||||
datanoisetv_picoadk_v2.build.led=
|
datanoisetv_picoadk_v2.build.led=
|
||||||
datanoisetv_picoadk_v2.build.core=rp2040
|
datanoisetv_picoadk_v2.build.core=rp2040
|
||||||
datanoisetv_picoadk_v2.build.ldscript=memmap_default.ld
|
datanoisetv_picoadk_v2.build.ldscript=memmap_default.ld
|
||||||
datanoisetv_picoadk_v2.build.boot2=boot2_w25q080_2_padded_checksum
|
datanoisetv_picoadk_v2.build.boot2=none
|
||||||
datanoisetv_picoadk_v2.build.usb_manufacturer="DatanoiseTV"
|
datanoisetv_picoadk_v2.build.usb_manufacturer="DatanoiseTV"
|
||||||
datanoisetv_picoadk_v2.build.usb_product="PicoADK v2"
|
datanoisetv_picoadk_v2.build.usb_product="PicoADK v2"
|
||||||
datanoisetv_picoadk_v2.build.psram_length=0x000000
|
datanoisetv_picoadk_v2.build.psram_length=0x000000
|
||||||
|
|
@ -10504,6 +10521,16 @@ datanoisetv_picoadk_v2.menu.flash.4194304_3145728.build.flash_length=1040384
|
||||||
datanoisetv_picoadk_v2.menu.flash.4194304_3145728.build.eeprom_start=272621568
|
datanoisetv_picoadk_v2.menu.flash.4194304_3145728.build.eeprom_start=272621568
|
||||||
datanoisetv_picoadk_v2.menu.flash.4194304_3145728.build.fs_start=269475840
|
datanoisetv_picoadk_v2.menu.flash.4194304_3145728.build.fs_start=269475840
|
||||||
datanoisetv_picoadk_v2.menu.flash.4194304_3145728.build.fs_end=272621568
|
datanoisetv_picoadk_v2.menu.flash.4194304_3145728.build.fs_end=272621568
|
||||||
|
datanoisetv_picoadk_v2.menu.arch.arm=ARM
|
||||||
|
datanoisetv_picoadk_v2.menu.arch.arm.build.chip=rp2350
|
||||||
|
datanoisetv_picoadk_v2.menu.arch.arm.build.toolchain=arm-none-eabi
|
||||||
|
datanoisetv_picoadk_v2.menu.arch.arm.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
||||||
|
datanoisetv_picoadk_v2.menu.arch.arm.build.uf2family=--family rp2350-arm-s --abs-block
|
||||||
|
datanoisetv_picoadk_v2.menu.arch.riscv=RISC-V
|
||||||
|
datanoisetv_picoadk_v2.menu.arch.riscv.build.chip=rp2350-riscv
|
||||||
|
datanoisetv_picoadk_v2.menu.arch.riscv.build.toolchain=riscv32-unknown-elf
|
||||||
|
datanoisetv_picoadk_v2.menu.arch.riscv.build.toolchainopts=-march=rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb -mabi=ilp32
|
||||||
|
datanoisetv_picoadk_v2.menu.arch.riscv.build.uf2family=--family rp2350-riscv --abs-block
|
||||||
datanoisetv_picoadk_v2.menu.freq.150=150 MHz
|
datanoisetv_picoadk_v2.menu.freq.150=150 MHz
|
||||||
datanoisetv_picoadk_v2.menu.freq.150.build.f_cpu=150000000L
|
datanoisetv_picoadk_v2.menu.freq.150.build.f_cpu=150000000L
|
||||||
datanoisetv_picoadk_v2.menu.freq.50=50 MHz
|
datanoisetv_picoadk_v2.menu.freq.50=50 MHz
|
||||||
|
|
@ -16021,10 +16048,6 @@ challenger_2350_wifi6_ble5.build.usbvid=-DUSBD_VID=0x2e8a
|
||||||
challenger_2350_wifi6_ble5.build.usbpid=-DUSBD_PID=0x109a
|
challenger_2350_wifi6_ble5.build.usbpid=-DUSBD_PID=0x109a
|
||||||
challenger_2350_wifi6_ble5.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
challenger_2350_wifi6_ble5.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
||||||
challenger_2350_wifi6_ble5.build.board=CHALLENGER_2350_WIFI_BLE_RP2350
|
challenger_2350_wifi6_ble5.build.board=CHALLENGER_2350_WIFI_BLE_RP2350
|
||||||
challenger_2350_wifi6_ble5.build.chip=rp2350
|
|
||||||
challenger_2350_wifi6_ble5.build.toolchain=arm-none-eabi
|
|
||||||
challenger_2350_wifi6_ble5.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
|
||||||
challenger_2350_wifi6_ble5.build.uf2family=--family rp2350-arm-s --abs-block
|
|
||||||
challenger_2350_wifi6_ble5.build.variant=challenger_2350_wifi6_ble5
|
challenger_2350_wifi6_ble5.build.variant=challenger_2350_wifi6_ble5
|
||||||
challenger_2350_wifi6_ble5.upload.maximum_size=8388608
|
challenger_2350_wifi6_ble5.upload.maximum_size=8388608
|
||||||
challenger_2350_wifi6_ble5.upload.wait_for_upload_port=true
|
challenger_2350_wifi6_ble5.upload.wait_for_upload_port=true
|
||||||
|
|
@ -16035,7 +16058,7 @@ challenger_2350_wifi6_ble5.build.f_cpu=125000000
|
||||||
challenger_2350_wifi6_ble5.build.led=
|
challenger_2350_wifi6_ble5.build.led=
|
||||||
challenger_2350_wifi6_ble5.build.core=rp2040
|
challenger_2350_wifi6_ble5.build.core=rp2040
|
||||||
challenger_2350_wifi6_ble5.build.ldscript=memmap_default.ld
|
challenger_2350_wifi6_ble5.build.ldscript=memmap_default.ld
|
||||||
challenger_2350_wifi6_ble5.build.boot2=boot2_generic_03h_2_padded_checksum
|
challenger_2350_wifi6_ble5.build.boot2=none
|
||||||
challenger_2350_wifi6_ble5.build.usb_manufacturer="iLabs"
|
challenger_2350_wifi6_ble5.build.usb_manufacturer="iLabs"
|
||||||
challenger_2350_wifi6_ble5.build.usb_product="Challenger 2350 WiFi/BLE"
|
challenger_2350_wifi6_ble5.build.usb_product="Challenger 2350 WiFi/BLE"
|
||||||
challenger_2350_wifi6_ble5.build.psram_length=0x800000
|
challenger_2350_wifi6_ble5.build.psram_length=0x800000
|
||||||
|
|
@ -16224,6 +16247,16 @@ challenger_2350_wifi6_ble5.menu.flash.16777216_2097152.build.flash_length=146718
|
||||||
challenger_2350_wifi6_ble5.menu.flash.16777216_2097152.build.eeprom_start=285204480
|
challenger_2350_wifi6_ble5.menu.flash.16777216_2097152.build.eeprom_start=285204480
|
||||||
challenger_2350_wifi6_ble5.menu.flash.16777216_2097152.build.fs_start=283107328
|
challenger_2350_wifi6_ble5.menu.flash.16777216_2097152.build.fs_start=283107328
|
||||||
challenger_2350_wifi6_ble5.menu.flash.16777216_2097152.build.fs_end=285204480
|
challenger_2350_wifi6_ble5.menu.flash.16777216_2097152.build.fs_end=285204480
|
||||||
|
challenger_2350_wifi6_ble5.menu.arch.arm=ARM
|
||||||
|
challenger_2350_wifi6_ble5.menu.arch.arm.build.chip=rp2350
|
||||||
|
challenger_2350_wifi6_ble5.menu.arch.arm.build.toolchain=arm-none-eabi
|
||||||
|
challenger_2350_wifi6_ble5.menu.arch.arm.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
||||||
|
challenger_2350_wifi6_ble5.menu.arch.arm.build.uf2family=--family rp2350-arm-s --abs-block
|
||||||
|
challenger_2350_wifi6_ble5.menu.arch.riscv=RISC-V
|
||||||
|
challenger_2350_wifi6_ble5.menu.arch.riscv.build.chip=rp2350-riscv
|
||||||
|
challenger_2350_wifi6_ble5.menu.arch.riscv.build.toolchain=riscv32-unknown-elf
|
||||||
|
challenger_2350_wifi6_ble5.menu.arch.riscv.build.toolchainopts=-march=rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb -mabi=ilp32
|
||||||
|
challenger_2350_wifi6_ble5.menu.arch.riscv.build.uf2family=--family rp2350-riscv --abs-block
|
||||||
challenger_2350_wifi6_ble5.menu.freq.150=150 MHz
|
challenger_2350_wifi6_ble5.menu.freq.150=150 MHz
|
||||||
challenger_2350_wifi6_ble5.menu.freq.150.build.f_cpu=150000000L
|
challenger_2350_wifi6_ble5.menu.freq.150.build.f_cpu=150000000L
|
||||||
challenger_2350_wifi6_ble5.menu.freq.50=50 MHz
|
challenger_2350_wifi6_ble5.menu.freq.50=50 MHz
|
||||||
|
|
@ -16393,10 +16426,6 @@ challenger_2350_bconnect.build.usbvid=-DUSBD_VID=0x2e8a
|
||||||
challenger_2350_bconnect.build.usbpid=-DUSBD_PID=0x109b
|
challenger_2350_bconnect.build.usbpid=-DUSBD_PID=0x109b
|
||||||
challenger_2350_bconnect.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
challenger_2350_bconnect.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
||||||
challenger_2350_bconnect.build.board=CHALLENGER_2350_BCONNECT_RP2350
|
challenger_2350_bconnect.build.board=CHALLENGER_2350_BCONNECT_RP2350
|
||||||
challenger_2350_bconnect.build.chip=rp2350
|
|
||||||
challenger_2350_bconnect.build.toolchain=arm-none-eabi
|
|
||||||
challenger_2350_bconnect.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
|
||||||
challenger_2350_bconnect.build.uf2family=--family rp2350-arm-s --abs-block
|
|
||||||
challenger_2350_bconnect.build.variant=challenger_2350_bconnect
|
challenger_2350_bconnect.build.variant=challenger_2350_bconnect
|
||||||
challenger_2350_bconnect.upload.maximum_size=8388608
|
challenger_2350_bconnect.upload.maximum_size=8388608
|
||||||
challenger_2350_bconnect.upload.wait_for_upload_port=true
|
challenger_2350_bconnect.upload.wait_for_upload_port=true
|
||||||
|
|
@ -16407,7 +16436,7 @@ challenger_2350_bconnect.build.f_cpu=125000000
|
||||||
challenger_2350_bconnect.build.led=
|
challenger_2350_bconnect.build.led=
|
||||||
challenger_2350_bconnect.build.core=rp2040
|
challenger_2350_bconnect.build.core=rp2040
|
||||||
challenger_2350_bconnect.build.ldscript=memmap_default.ld
|
challenger_2350_bconnect.build.ldscript=memmap_default.ld
|
||||||
challenger_2350_bconnect.build.boot2=boot2_generic_03h_2_padded_checksum
|
challenger_2350_bconnect.build.boot2=none
|
||||||
challenger_2350_bconnect.build.usb_manufacturer="iLabs"
|
challenger_2350_bconnect.build.usb_manufacturer="iLabs"
|
||||||
challenger_2350_bconnect.build.usb_product="Challenger 2350 BConnect"
|
challenger_2350_bconnect.build.usb_product="Challenger 2350 BConnect"
|
||||||
challenger_2350_bconnect.build.psram_length=0x800000
|
challenger_2350_bconnect.build.psram_length=0x800000
|
||||||
|
|
@ -16495,6 +16524,16 @@ challenger_2350_bconnect.menu.flash.8388608_7340032.build.flash_length=1040384
|
||||||
challenger_2350_bconnect.menu.flash.8388608_7340032.build.eeprom_start=276815872
|
challenger_2350_bconnect.menu.flash.8388608_7340032.build.eeprom_start=276815872
|
||||||
challenger_2350_bconnect.menu.flash.8388608_7340032.build.fs_start=269475840
|
challenger_2350_bconnect.menu.flash.8388608_7340032.build.fs_start=269475840
|
||||||
challenger_2350_bconnect.menu.flash.8388608_7340032.build.fs_end=276815872
|
challenger_2350_bconnect.menu.flash.8388608_7340032.build.fs_end=276815872
|
||||||
|
challenger_2350_bconnect.menu.arch.arm=ARM
|
||||||
|
challenger_2350_bconnect.menu.arch.arm.build.chip=rp2350
|
||||||
|
challenger_2350_bconnect.menu.arch.arm.build.toolchain=arm-none-eabi
|
||||||
|
challenger_2350_bconnect.menu.arch.arm.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
||||||
|
challenger_2350_bconnect.menu.arch.arm.build.uf2family=--family rp2350-arm-s --abs-block
|
||||||
|
challenger_2350_bconnect.menu.arch.riscv=RISC-V
|
||||||
|
challenger_2350_bconnect.menu.arch.riscv.build.chip=rp2350-riscv
|
||||||
|
challenger_2350_bconnect.menu.arch.riscv.build.toolchain=riscv32-unknown-elf
|
||||||
|
challenger_2350_bconnect.menu.arch.riscv.build.toolchainopts=-march=rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb -mabi=ilp32
|
||||||
|
challenger_2350_bconnect.menu.arch.riscv.build.uf2family=--family rp2350-riscv --abs-block
|
||||||
challenger_2350_bconnect.menu.freq.150=150 MHz
|
challenger_2350_bconnect.menu.freq.150=150 MHz
|
||||||
challenger_2350_bconnect.menu.freq.150.build.f_cpu=150000000L
|
challenger_2350_bconnect.menu.freq.150.build.f_cpu=150000000L
|
||||||
challenger_2350_bconnect.menu.freq.50=50 MHz
|
challenger_2350_bconnect.menu.freq.50=50 MHz
|
||||||
|
|
@ -19071,10 +19110,6 @@ pimoroni_pga2350.build.usbvid=-DUSBD_VID=0x2e8a
|
||||||
pimoroni_pga2350.build.usbpid=-DUSBD_PID=0x1018
|
pimoroni_pga2350.build.usbpid=-DUSBD_PID=0x1018
|
||||||
pimoroni_pga2350.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
pimoroni_pga2350.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||||
pimoroni_pga2350.build.board=PIMORONI_PGA2350
|
pimoroni_pga2350.build.board=PIMORONI_PGA2350
|
||||||
pimoroni_pga2350.build.chip=rp2350
|
|
||||||
pimoroni_pga2350.build.toolchain=arm-none-eabi
|
|
||||||
pimoroni_pga2350.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
|
||||||
pimoroni_pga2350.build.uf2family=--family rp2350-arm-s --abs-block
|
|
||||||
pimoroni_pga2350.build.variant=pimoroni_pga2350
|
pimoroni_pga2350.build.variant=pimoroni_pga2350
|
||||||
pimoroni_pga2350.upload.maximum_size=16777216
|
pimoroni_pga2350.upload.maximum_size=16777216
|
||||||
pimoroni_pga2350.upload.wait_for_upload_port=true
|
pimoroni_pga2350.upload.wait_for_upload_port=true
|
||||||
|
|
@ -19085,7 +19120,7 @@ pimoroni_pga2350.build.f_cpu=125000000
|
||||||
pimoroni_pga2350.build.led=
|
pimoroni_pga2350.build.led=
|
||||||
pimoroni_pga2350.build.core=rp2040
|
pimoroni_pga2350.build.core=rp2040
|
||||||
pimoroni_pga2350.build.ldscript=memmap_default.ld
|
pimoroni_pga2350.build.ldscript=memmap_default.ld
|
||||||
pimoroni_pga2350.build.boot2=boot2_w25q080_4_padded_checksum
|
pimoroni_pga2350.build.boot2=none
|
||||||
pimoroni_pga2350.build.usb_manufacturer="Pimoroni"
|
pimoroni_pga2350.build.usb_manufacturer="Pimoroni"
|
||||||
pimoroni_pga2350.build.usb_product="PGA2350"
|
pimoroni_pga2350.build.usb_product="PGA2350"
|
||||||
pimoroni_pga2350.build.psram_length=0x800000
|
pimoroni_pga2350.build.psram_length=0x800000
|
||||||
|
|
@ -19229,6 +19264,16 @@ pimoroni_pga2350.menu.flash.16777216_15728640.build.flash_length=1040384
|
||||||
pimoroni_pga2350.menu.flash.16777216_15728640.build.eeprom_start=285204480
|
pimoroni_pga2350.menu.flash.16777216_15728640.build.eeprom_start=285204480
|
||||||
pimoroni_pga2350.menu.flash.16777216_15728640.build.fs_start=269475840
|
pimoroni_pga2350.menu.flash.16777216_15728640.build.fs_start=269475840
|
||||||
pimoroni_pga2350.menu.flash.16777216_15728640.build.fs_end=285204480
|
pimoroni_pga2350.menu.flash.16777216_15728640.build.fs_end=285204480
|
||||||
|
pimoroni_pga2350.menu.arch.arm=ARM
|
||||||
|
pimoroni_pga2350.menu.arch.arm.build.chip=rp2350
|
||||||
|
pimoroni_pga2350.menu.arch.arm.build.toolchain=arm-none-eabi
|
||||||
|
pimoroni_pga2350.menu.arch.arm.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
||||||
|
pimoroni_pga2350.menu.arch.arm.build.uf2family=--family rp2350-arm-s --abs-block
|
||||||
|
pimoroni_pga2350.menu.arch.riscv=RISC-V
|
||||||
|
pimoroni_pga2350.menu.arch.riscv.build.chip=rp2350-riscv
|
||||||
|
pimoroni_pga2350.menu.arch.riscv.build.toolchain=riscv32-unknown-elf
|
||||||
|
pimoroni_pga2350.menu.arch.riscv.build.toolchainopts=-march=rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb -mabi=ilp32
|
||||||
|
pimoroni_pga2350.menu.arch.riscv.build.uf2family=--family rp2350-riscv --abs-block
|
||||||
pimoroni_pga2350.menu.freq.150=150 MHz
|
pimoroni_pga2350.menu.freq.150=150 MHz
|
||||||
pimoroni_pga2350.menu.freq.150.build.f_cpu=150000000L
|
pimoroni_pga2350.menu.freq.150.build.f_cpu=150000000L
|
||||||
pimoroni_pga2350.menu.freq.50=50 MHz
|
pimoroni_pga2350.menu.freq.50=50 MHz
|
||||||
|
|
@ -19398,10 +19443,6 @@ pimoroni_pico_plus_2.build.usbvid=-DUSBD_VID=0x2e8a
|
||||||
pimoroni_pico_plus_2.build.usbpid=-DUSBD_PID=0x100a
|
pimoroni_pico_plus_2.build.usbpid=-DUSBD_PID=0x100a
|
||||||
pimoroni_pico_plus_2.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
pimoroni_pico_plus_2.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
||||||
pimoroni_pico_plus_2.build.board=PIMORONI_PICO_PLUS_2
|
pimoroni_pico_plus_2.build.board=PIMORONI_PICO_PLUS_2
|
||||||
pimoroni_pico_plus_2.build.chip=rp2350
|
|
||||||
pimoroni_pico_plus_2.build.toolchain=arm-none-eabi
|
|
||||||
pimoroni_pico_plus_2.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
|
||||||
pimoroni_pico_plus_2.build.uf2family=--family rp2350-arm-s --abs-block
|
|
||||||
pimoroni_pico_plus_2.build.variant=pimoroni_pico_plus_2
|
pimoroni_pico_plus_2.build.variant=pimoroni_pico_plus_2
|
||||||
pimoroni_pico_plus_2.upload.maximum_size=16777216
|
pimoroni_pico_plus_2.upload.maximum_size=16777216
|
||||||
pimoroni_pico_plus_2.upload.wait_for_upload_port=true
|
pimoroni_pico_plus_2.upload.wait_for_upload_port=true
|
||||||
|
|
@ -19412,7 +19453,7 @@ pimoroni_pico_plus_2.build.f_cpu=125000000
|
||||||
pimoroni_pico_plus_2.build.led=
|
pimoroni_pico_plus_2.build.led=
|
||||||
pimoroni_pico_plus_2.build.core=rp2040
|
pimoroni_pico_plus_2.build.core=rp2040
|
||||||
pimoroni_pico_plus_2.build.ldscript=memmap_default.ld
|
pimoroni_pico_plus_2.build.ldscript=memmap_default.ld
|
||||||
pimoroni_pico_plus_2.build.boot2=boot2_generic_03h_4_padded_checksum
|
pimoroni_pico_plus_2.build.boot2=none
|
||||||
pimoroni_pico_plus_2.build.usb_manufacturer="Pimoroni"
|
pimoroni_pico_plus_2.build.usb_manufacturer="Pimoroni"
|
||||||
pimoroni_pico_plus_2.build.usb_product="PicoPlus2"
|
pimoroni_pico_plus_2.build.usb_product="PicoPlus2"
|
||||||
pimoroni_pico_plus_2.build.psram_length=0x800000
|
pimoroni_pico_plus_2.build.psram_length=0x800000
|
||||||
|
|
@ -19556,6 +19597,16 @@ pimoroni_pico_plus_2.menu.flash.16777216_15728640.build.flash_length=1040384
|
||||||
pimoroni_pico_plus_2.menu.flash.16777216_15728640.build.eeprom_start=285204480
|
pimoroni_pico_plus_2.menu.flash.16777216_15728640.build.eeprom_start=285204480
|
||||||
pimoroni_pico_plus_2.menu.flash.16777216_15728640.build.fs_start=269475840
|
pimoroni_pico_plus_2.menu.flash.16777216_15728640.build.fs_start=269475840
|
||||||
pimoroni_pico_plus_2.menu.flash.16777216_15728640.build.fs_end=285204480
|
pimoroni_pico_plus_2.menu.flash.16777216_15728640.build.fs_end=285204480
|
||||||
|
pimoroni_pico_plus_2.menu.arch.arm=ARM
|
||||||
|
pimoroni_pico_plus_2.menu.arch.arm.build.chip=rp2350
|
||||||
|
pimoroni_pico_plus_2.menu.arch.arm.build.toolchain=arm-none-eabi
|
||||||
|
pimoroni_pico_plus_2.menu.arch.arm.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
||||||
|
pimoroni_pico_plus_2.menu.arch.arm.build.uf2family=--family rp2350-arm-s --abs-block
|
||||||
|
pimoroni_pico_plus_2.menu.arch.riscv=RISC-V
|
||||||
|
pimoroni_pico_plus_2.menu.arch.riscv.build.chip=rp2350-riscv
|
||||||
|
pimoroni_pico_plus_2.menu.arch.riscv.build.toolchain=riscv32-unknown-elf
|
||||||
|
pimoroni_pico_plus_2.menu.arch.riscv.build.toolchainopts=-march=rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb -mabi=ilp32
|
||||||
|
pimoroni_pico_plus_2.menu.arch.riscv.build.uf2family=--family rp2350-riscv --abs-block
|
||||||
pimoroni_pico_plus_2.menu.freq.150=150 MHz
|
pimoroni_pico_plus_2.menu.freq.150=150 MHz
|
||||||
pimoroni_pico_plus_2.menu.freq.150.build.f_cpu=150000000L
|
pimoroni_pico_plus_2.menu.freq.150.build.f_cpu=150000000L
|
||||||
pimoroni_pico_plus_2.menu.freq.50=50 MHz
|
pimoroni_pico_plus_2.menu.freq.50=50 MHz
|
||||||
|
|
@ -20209,10 +20260,6 @@ pimoroni_tiny2350.build.usbvid=-DUSBD_VID=0x2e8a
|
||||||
pimoroni_tiny2350.build.usbpid=-DUSBD_PID=0x100b
|
pimoroni_tiny2350.build.usbpid=-DUSBD_PID=0x100b
|
||||||
pimoroni_tiny2350.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
pimoroni_tiny2350.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
||||||
pimoroni_tiny2350.build.board=PIMORONI_TINY2350
|
pimoroni_tiny2350.build.board=PIMORONI_TINY2350
|
||||||
pimoroni_tiny2350.build.chip=rp2350
|
|
||||||
pimoroni_tiny2350.build.toolchain=arm-none-eabi
|
|
||||||
pimoroni_tiny2350.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
|
||||||
pimoroni_tiny2350.build.uf2family=--family rp2350-arm-s --abs-block
|
|
||||||
pimoroni_tiny2350.build.variant=pimoroni_tiny2350
|
pimoroni_tiny2350.build.variant=pimoroni_tiny2350
|
||||||
pimoroni_tiny2350.upload.maximum_size=4194304
|
pimoroni_tiny2350.upload.maximum_size=4194304
|
||||||
pimoroni_tiny2350.upload.wait_for_upload_port=true
|
pimoroni_tiny2350.upload.wait_for_upload_port=true
|
||||||
|
|
@ -20223,7 +20270,7 @@ pimoroni_tiny2350.build.f_cpu=125000000
|
||||||
pimoroni_tiny2350.build.led=
|
pimoroni_tiny2350.build.led=
|
||||||
pimoroni_tiny2350.build.core=rp2040
|
pimoroni_tiny2350.build.core=rp2040
|
||||||
pimoroni_tiny2350.build.ldscript=memmap_default.ld
|
pimoroni_tiny2350.build.ldscript=memmap_default.ld
|
||||||
pimoroni_tiny2350.build.boot2=boot2_w25q080_4_padded_checksum
|
pimoroni_tiny2350.build.boot2=none
|
||||||
pimoroni_tiny2350.build.usb_manufacturer="Pimoroni"
|
pimoroni_tiny2350.build.usb_manufacturer="Pimoroni"
|
||||||
pimoroni_tiny2350.build.usb_product="Tiny2350"
|
pimoroni_tiny2350.build.usb_product="Tiny2350"
|
||||||
pimoroni_tiny2350.build.psram_length=0x000000
|
pimoroni_tiny2350.build.psram_length=0x000000
|
||||||
|
|
@ -20283,6 +20330,16 @@ pimoroni_tiny2350.menu.flash.4194304_3145728.build.flash_length=1040384
|
||||||
pimoroni_tiny2350.menu.flash.4194304_3145728.build.eeprom_start=272621568
|
pimoroni_tiny2350.menu.flash.4194304_3145728.build.eeprom_start=272621568
|
||||||
pimoroni_tiny2350.menu.flash.4194304_3145728.build.fs_start=269475840
|
pimoroni_tiny2350.menu.flash.4194304_3145728.build.fs_start=269475840
|
||||||
pimoroni_tiny2350.menu.flash.4194304_3145728.build.fs_end=272621568
|
pimoroni_tiny2350.menu.flash.4194304_3145728.build.fs_end=272621568
|
||||||
|
pimoroni_tiny2350.menu.arch.arm=ARM
|
||||||
|
pimoroni_tiny2350.menu.arch.arm.build.chip=rp2350
|
||||||
|
pimoroni_tiny2350.menu.arch.arm.build.toolchain=arm-none-eabi
|
||||||
|
pimoroni_tiny2350.menu.arch.arm.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
||||||
|
pimoroni_tiny2350.menu.arch.arm.build.uf2family=--family rp2350-arm-s --abs-block
|
||||||
|
pimoroni_tiny2350.menu.arch.riscv=RISC-V
|
||||||
|
pimoroni_tiny2350.menu.arch.riscv.build.chip=rp2350-riscv
|
||||||
|
pimoroni_tiny2350.menu.arch.riscv.build.toolchain=riscv32-unknown-elf
|
||||||
|
pimoroni_tiny2350.menu.arch.riscv.build.toolchainopts=-march=rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb -mabi=ilp32
|
||||||
|
pimoroni_tiny2350.menu.arch.riscv.build.uf2family=--family rp2350-riscv --abs-block
|
||||||
pimoroni_tiny2350.menu.freq.150=150 MHz
|
pimoroni_tiny2350.menu.freq.150=150 MHz
|
||||||
pimoroni_tiny2350.menu.freq.150.build.f_cpu=150000000L
|
pimoroni_tiny2350.menu.freq.150.build.f_cpu=150000000L
|
||||||
pimoroni_tiny2350.menu.freq.50=50 MHz
|
pimoroni_tiny2350.menu.freq.50=50 MHz
|
||||||
|
|
@ -22200,10 +22257,6 @@ solderparty_rp2350_stamp.build.usbvid=-DUSBD_VID=0x1209
|
||||||
solderparty_rp2350_stamp.build.usbpid=-DUSBD_PID=0xa183
|
solderparty_rp2350_stamp.build.usbpid=-DUSBD_PID=0xa183
|
||||||
solderparty_rp2350_stamp.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
solderparty_rp2350_stamp.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
||||||
solderparty_rp2350_stamp.build.board=SOLDERPARTY_RP2350_STAMP
|
solderparty_rp2350_stamp.build.board=SOLDERPARTY_RP2350_STAMP
|
||||||
solderparty_rp2350_stamp.build.chip=rp2350
|
|
||||||
solderparty_rp2350_stamp.build.toolchain=arm-none-eabi
|
|
||||||
solderparty_rp2350_stamp.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
|
||||||
solderparty_rp2350_stamp.build.uf2family=--family rp2350-arm-s --abs-block
|
|
||||||
solderparty_rp2350_stamp.build.variant=solderparty_rp2350_stamp
|
solderparty_rp2350_stamp.build.variant=solderparty_rp2350_stamp
|
||||||
solderparty_rp2350_stamp.upload.maximum_size=16777216
|
solderparty_rp2350_stamp.upload.maximum_size=16777216
|
||||||
solderparty_rp2350_stamp.upload.wait_for_upload_port=true
|
solderparty_rp2350_stamp.upload.wait_for_upload_port=true
|
||||||
|
|
@ -22214,7 +22267,7 @@ solderparty_rp2350_stamp.build.f_cpu=125000000
|
||||||
solderparty_rp2350_stamp.build.led=
|
solderparty_rp2350_stamp.build.led=
|
||||||
solderparty_rp2350_stamp.build.core=rp2040
|
solderparty_rp2350_stamp.build.core=rp2040
|
||||||
solderparty_rp2350_stamp.build.ldscript=memmap_default.ld
|
solderparty_rp2350_stamp.build.ldscript=memmap_default.ld
|
||||||
solderparty_rp2350_stamp.build.boot2=boot2_generic_03h_2_padded_checksum
|
solderparty_rp2350_stamp.build.boot2=none
|
||||||
solderparty_rp2350_stamp.build.usb_manufacturer="Solder Party"
|
solderparty_rp2350_stamp.build.usb_manufacturer="Solder Party"
|
||||||
solderparty_rp2350_stamp.build.usb_product="RP2350 Stamp"
|
solderparty_rp2350_stamp.build.usb_product="RP2350 Stamp"
|
||||||
solderparty_rp2350_stamp.build.psram_length=0x000000
|
solderparty_rp2350_stamp.build.psram_length=0x000000
|
||||||
|
|
@ -22358,6 +22411,16 @@ solderparty_rp2350_stamp.menu.flash.16777216_15728640.build.flash_length=1040384
|
||||||
solderparty_rp2350_stamp.menu.flash.16777216_15728640.build.eeprom_start=285204480
|
solderparty_rp2350_stamp.menu.flash.16777216_15728640.build.eeprom_start=285204480
|
||||||
solderparty_rp2350_stamp.menu.flash.16777216_15728640.build.fs_start=269475840
|
solderparty_rp2350_stamp.menu.flash.16777216_15728640.build.fs_start=269475840
|
||||||
solderparty_rp2350_stamp.menu.flash.16777216_15728640.build.fs_end=285204480
|
solderparty_rp2350_stamp.menu.flash.16777216_15728640.build.fs_end=285204480
|
||||||
|
solderparty_rp2350_stamp.menu.arch.arm=ARM
|
||||||
|
solderparty_rp2350_stamp.menu.arch.arm.build.chip=rp2350
|
||||||
|
solderparty_rp2350_stamp.menu.arch.arm.build.toolchain=arm-none-eabi
|
||||||
|
solderparty_rp2350_stamp.menu.arch.arm.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
||||||
|
solderparty_rp2350_stamp.menu.arch.arm.build.uf2family=--family rp2350-arm-s --abs-block
|
||||||
|
solderparty_rp2350_stamp.menu.arch.riscv=RISC-V
|
||||||
|
solderparty_rp2350_stamp.menu.arch.riscv.build.chip=rp2350-riscv
|
||||||
|
solderparty_rp2350_stamp.menu.arch.riscv.build.toolchain=riscv32-unknown-elf
|
||||||
|
solderparty_rp2350_stamp.menu.arch.riscv.build.toolchainopts=-march=rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb -mabi=ilp32
|
||||||
|
solderparty_rp2350_stamp.menu.arch.riscv.build.uf2family=--family rp2350-riscv --abs-block
|
||||||
solderparty_rp2350_stamp.menu.freq.150=150 MHz
|
solderparty_rp2350_stamp.menu.freq.150=150 MHz
|
||||||
solderparty_rp2350_stamp.menu.freq.150.build.f_cpu=150000000L
|
solderparty_rp2350_stamp.menu.freq.150.build.f_cpu=150000000L
|
||||||
solderparty_rp2350_stamp.menu.freq.50=50 MHz
|
solderparty_rp2350_stamp.menu.freq.50=50 MHz
|
||||||
|
|
@ -22503,10 +22566,6 @@ solderparty_rp2350_stamp_xl.build.usbvid=-DUSBD_VID=0x1209
|
||||||
solderparty_rp2350_stamp_xl.build.usbpid=-DUSBD_PID=0xa184
|
solderparty_rp2350_stamp_xl.build.usbpid=-DUSBD_PID=0xa184
|
||||||
solderparty_rp2350_stamp_xl.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
solderparty_rp2350_stamp_xl.build.usbpwr=-DUSBD_MAX_POWER_MA=500
|
||||||
solderparty_rp2350_stamp_xl.build.board=SOLDERPARTY_RP2350_STAMP_XL
|
solderparty_rp2350_stamp_xl.build.board=SOLDERPARTY_RP2350_STAMP_XL
|
||||||
solderparty_rp2350_stamp_xl.build.chip=rp2350
|
|
||||||
solderparty_rp2350_stamp_xl.build.toolchain=arm-none-eabi
|
|
||||||
solderparty_rp2350_stamp_xl.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
|
||||||
solderparty_rp2350_stamp_xl.build.uf2family=--family rp2350-arm-s --abs-block
|
|
||||||
solderparty_rp2350_stamp_xl.build.variant=solderparty_rp2350_stamp_xl
|
solderparty_rp2350_stamp_xl.build.variant=solderparty_rp2350_stamp_xl
|
||||||
solderparty_rp2350_stamp_xl.upload.maximum_size=16777216
|
solderparty_rp2350_stamp_xl.upload.maximum_size=16777216
|
||||||
solderparty_rp2350_stamp_xl.upload.wait_for_upload_port=true
|
solderparty_rp2350_stamp_xl.upload.wait_for_upload_port=true
|
||||||
|
|
@ -22517,7 +22576,7 @@ solderparty_rp2350_stamp_xl.build.f_cpu=125000000
|
||||||
solderparty_rp2350_stamp_xl.build.led=
|
solderparty_rp2350_stamp_xl.build.led=
|
||||||
solderparty_rp2350_stamp_xl.build.core=rp2040
|
solderparty_rp2350_stamp_xl.build.core=rp2040
|
||||||
solderparty_rp2350_stamp_xl.build.ldscript=memmap_default.ld
|
solderparty_rp2350_stamp_xl.build.ldscript=memmap_default.ld
|
||||||
solderparty_rp2350_stamp_xl.build.boot2=boot2_generic_03h_2_padded_checksum
|
solderparty_rp2350_stamp_xl.build.boot2=none
|
||||||
solderparty_rp2350_stamp_xl.build.usb_manufacturer="Solder Party"
|
solderparty_rp2350_stamp_xl.build.usb_manufacturer="Solder Party"
|
||||||
solderparty_rp2350_stamp_xl.build.usb_product="RP2350 Stamp XL"
|
solderparty_rp2350_stamp_xl.build.usb_product="RP2350 Stamp XL"
|
||||||
solderparty_rp2350_stamp_xl.build.psram_length=0x000000
|
solderparty_rp2350_stamp_xl.build.psram_length=0x000000
|
||||||
|
|
@ -22661,6 +22720,16 @@ solderparty_rp2350_stamp_xl.menu.flash.16777216_15728640.build.flash_length=1040
|
||||||
solderparty_rp2350_stamp_xl.menu.flash.16777216_15728640.build.eeprom_start=285204480
|
solderparty_rp2350_stamp_xl.menu.flash.16777216_15728640.build.eeprom_start=285204480
|
||||||
solderparty_rp2350_stamp_xl.menu.flash.16777216_15728640.build.fs_start=269475840
|
solderparty_rp2350_stamp_xl.menu.flash.16777216_15728640.build.fs_start=269475840
|
||||||
solderparty_rp2350_stamp_xl.menu.flash.16777216_15728640.build.fs_end=285204480
|
solderparty_rp2350_stamp_xl.menu.flash.16777216_15728640.build.fs_end=285204480
|
||||||
|
solderparty_rp2350_stamp_xl.menu.arch.arm=ARM
|
||||||
|
solderparty_rp2350_stamp_xl.menu.arch.arm.build.chip=rp2350
|
||||||
|
solderparty_rp2350_stamp_xl.menu.arch.arm.build.toolchain=arm-none-eabi
|
||||||
|
solderparty_rp2350_stamp_xl.menu.arch.arm.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
||||||
|
solderparty_rp2350_stamp_xl.menu.arch.arm.build.uf2family=--family rp2350-arm-s --abs-block
|
||||||
|
solderparty_rp2350_stamp_xl.menu.arch.riscv=RISC-V
|
||||||
|
solderparty_rp2350_stamp_xl.menu.arch.riscv.build.chip=rp2350-riscv
|
||||||
|
solderparty_rp2350_stamp_xl.menu.arch.riscv.build.toolchain=riscv32-unknown-elf
|
||||||
|
solderparty_rp2350_stamp_xl.menu.arch.riscv.build.toolchainopts=-march=rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb -mabi=ilp32
|
||||||
|
solderparty_rp2350_stamp_xl.menu.arch.riscv.build.uf2family=--family rp2350-riscv --abs-block
|
||||||
solderparty_rp2350_stamp_xl.menu.freq.150=150 MHz
|
solderparty_rp2350_stamp_xl.menu.freq.150=150 MHz
|
||||||
solderparty_rp2350_stamp_xl.menu.freq.150.build.f_cpu=150000000L
|
solderparty_rp2350_stamp_xl.menu.freq.150.build.f_cpu=150000000L
|
||||||
solderparty_rp2350_stamp_xl.menu.freq.50=50 MHz
|
solderparty_rp2350_stamp_xl.menu.freq.50=50 MHz
|
||||||
|
|
@ -23482,10 +23551,6 @@ sparkfun_promicrorp2350.build.usbvid=-DUSBD_VID=0x1b4f
|
||||||
sparkfun_promicrorp2350.build.usbpid=-DUSBD_PID=0x0026
|
sparkfun_promicrorp2350.build.usbpid=-DUSBD_PID=0x0026
|
||||||
sparkfun_promicrorp2350.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
sparkfun_promicrorp2350.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||||
sparkfun_promicrorp2350.build.board=SPARKFUN_PROMICRO_RP2350
|
sparkfun_promicrorp2350.build.board=SPARKFUN_PROMICRO_RP2350
|
||||||
sparkfun_promicrorp2350.build.chip=rp2350
|
|
||||||
sparkfun_promicrorp2350.build.toolchain=arm-none-eabi
|
|
||||||
sparkfun_promicrorp2350.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
|
||||||
sparkfun_promicrorp2350.build.uf2family=--family rp2350-arm-s --abs-block
|
|
||||||
sparkfun_promicrorp2350.build.variant=sparkfun_promicrorp2350
|
sparkfun_promicrorp2350.build.variant=sparkfun_promicrorp2350
|
||||||
sparkfun_promicrorp2350.upload.maximum_size=16777216
|
sparkfun_promicrorp2350.upload.maximum_size=16777216
|
||||||
sparkfun_promicrorp2350.upload.wait_for_upload_port=true
|
sparkfun_promicrorp2350.upload.wait_for_upload_port=true
|
||||||
|
|
@ -23496,7 +23561,7 @@ sparkfun_promicrorp2350.build.f_cpu=125000000
|
||||||
sparkfun_promicrorp2350.build.led=
|
sparkfun_promicrorp2350.build.led=
|
||||||
sparkfun_promicrorp2350.build.core=rp2040
|
sparkfun_promicrorp2350.build.core=rp2040
|
||||||
sparkfun_promicrorp2350.build.ldscript=memmap_default.ld
|
sparkfun_promicrorp2350.build.ldscript=memmap_default.ld
|
||||||
sparkfun_promicrorp2350.build.boot2=boot2_w25q080_2_padded_checksum
|
sparkfun_promicrorp2350.build.boot2=none
|
||||||
sparkfun_promicrorp2350.build.usb_manufacturer="SparkFun"
|
sparkfun_promicrorp2350.build.usb_manufacturer="SparkFun"
|
||||||
sparkfun_promicrorp2350.build.usb_product="ProMicro RP2350"
|
sparkfun_promicrorp2350.build.usb_product="ProMicro RP2350"
|
||||||
sparkfun_promicrorp2350.build.psram_length=0x800000
|
sparkfun_promicrorp2350.build.psram_length=0x800000
|
||||||
|
|
@ -23640,6 +23705,16 @@ sparkfun_promicrorp2350.menu.flash.16777216_15728640.build.flash_length=1040384
|
||||||
sparkfun_promicrorp2350.menu.flash.16777216_15728640.build.eeprom_start=285204480
|
sparkfun_promicrorp2350.menu.flash.16777216_15728640.build.eeprom_start=285204480
|
||||||
sparkfun_promicrorp2350.menu.flash.16777216_15728640.build.fs_start=269475840
|
sparkfun_promicrorp2350.menu.flash.16777216_15728640.build.fs_start=269475840
|
||||||
sparkfun_promicrorp2350.menu.flash.16777216_15728640.build.fs_end=285204480
|
sparkfun_promicrorp2350.menu.flash.16777216_15728640.build.fs_end=285204480
|
||||||
|
sparkfun_promicrorp2350.menu.arch.arm=ARM
|
||||||
|
sparkfun_promicrorp2350.menu.arch.arm.build.chip=rp2350
|
||||||
|
sparkfun_promicrorp2350.menu.arch.arm.build.toolchain=arm-none-eabi
|
||||||
|
sparkfun_promicrorp2350.menu.arch.arm.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
||||||
|
sparkfun_promicrorp2350.menu.arch.arm.build.uf2family=--family rp2350-arm-s --abs-block
|
||||||
|
sparkfun_promicrorp2350.menu.arch.riscv=RISC-V
|
||||||
|
sparkfun_promicrorp2350.menu.arch.riscv.build.chip=rp2350-riscv
|
||||||
|
sparkfun_promicrorp2350.menu.arch.riscv.build.toolchain=riscv32-unknown-elf
|
||||||
|
sparkfun_promicrorp2350.menu.arch.riscv.build.toolchainopts=-march=rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb -mabi=ilp32
|
||||||
|
sparkfun_promicrorp2350.menu.arch.riscv.build.uf2family=--family rp2350-riscv --abs-block
|
||||||
sparkfun_promicrorp2350.menu.freq.150=150 MHz
|
sparkfun_promicrorp2350.menu.freq.150=150 MHz
|
||||||
sparkfun_promicrorp2350.menu.freq.150.build.f_cpu=150000000L
|
sparkfun_promicrorp2350.menu.freq.150.build.f_cpu=150000000L
|
||||||
sparkfun_promicrorp2350.menu.freq.50=50 MHz
|
sparkfun_promicrorp2350.menu.freq.50=50 MHz
|
||||||
|
|
@ -28375,10 +28450,6 @@ generic_rp2350.build.usbvid=-DUSBD_VID=0x2e8a
|
||||||
generic_rp2350.build.usbpid=-DUSBD_PID=0xf00f
|
generic_rp2350.build.usbpid=-DUSBD_PID=0xf00f
|
||||||
generic_rp2350.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
generic_rp2350.build.usbpwr=-DUSBD_MAX_POWER_MA=250
|
||||||
generic_rp2350.build.board=GENERIC_RP2350
|
generic_rp2350.build.board=GENERIC_RP2350
|
||||||
generic_rp2350.build.chip=rp2350
|
|
||||||
generic_rp2350.build.toolchain=arm-none-eabi
|
|
||||||
generic_rp2350.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
|
||||||
generic_rp2350.build.uf2family=--family rp2350-arm-s --abs-block
|
|
||||||
generic_rp2350.build.variant=generic_rp2350
|
generic_rp2350.build.variant=generic_rp2350
|
||||||
generic_rp2350.upload.maximum_size=16777216
|
generic_rp2350.upload.maximum_size=16777216
|
||||||
generic_rp2350.upload.wait_for_upload_port=true
|
generic_rp2350.upload.wait_for_upload_port=true
|
||||||
|
|
@ -28389,7 +28460,7 @@ generic_rp2350.build.f_cpu=125000000
|
||||||
generic_rp2350.build.led=
|
generic_rp2350.build.led=
|
||||||
generic_rp2350.build.core=rp2040
|
generic_rp2350.build.core=rp2040
|
||||||
generic_rp2350.build.ldscript=memmap_default.ld
|
generic_rp2350.build.ldscript=memmap_default.ld
|
||||||
generic_rp2350.build.boot2=boot2_generic_03h_4_padded_checksum
|
generic_rp2350.build.boot2=none
|
||||||
generic_rp2350.build.usb_manufacturer="Generic"
|
generic_rp2350.build.usb_manufacturer="Generic"
|
||||||
generic_rp2350.build.usb_product="RP2350"
|
generic_rp2350.build.usb_product="RP2350"
|
||||||
generic_rp2350.menu.flash.2097152_0=2MB (no FS)
|
generic_rp2350.menu.flash.2097152_0=2MB (no FS)
|
||||||
|
|
@ -28504,6 +28575,16 @@ generic_rp2350.menu.flash.16777216_2097152.build.flash_length=14671872
|
||||||
generic_rp2350.menu.flash.16777216_2097152.build.eeprom_start=285204480
|
generic_rp2350.menu.flash.16777216_2097152.build.eeprom_start=285204480
|
||||||
generic_rp2350.menu.flash.16777216_2097152.build.fs_start=283107328
|
generic_rp2350.menu.flash.16777216_2097152.build.fs_start=283107328
|
||||||
generic_rp2350.menu.flash.16777216_2097152.build.fs_end=285204480
|
generic_rp2350.menu.flash.16777216_2097152.build.fs_end=285204480
|
||||||
|
generic_rp2350.menu.arch.arm=ARM
|
||||||
|
generic_rp2350.menu.arch.arm.build.chip=rp2350
|
||||||
|
generic_rp2350.menu.arch.arm.build.toolchain=arm-none-eabi
|
||||||
|
generic_rp2350.menu.arch.arm.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse
|
||||||
|
generic_rp2350.menu.arch.arm.build.uf2family=--family rp2350-arm-s --abs-block
|
||||||
|
generic_rp2350.menu.arch.riscv=RISC-V
|
||||||
|
generic_rp2350.menu.arch.riscv.build.chip=rp2350-riscv
|
||||||
|
generic_rp2350.menu.arch.riscv.build.toolchain=riscv32-unknown-elf
|
||||||
|
generic_rp2350.menu.arch.riscv.build.toolchainopts=-march=rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb -mabi=ilp32
|
||||||
|
generic_rp2350.menu.arch.riscv.build.uf2family=--family rp2350-riscv --abs-block
|
||||||
generic_rp2350.menu.freq.150=150 MHz
|
generic_rp2350.menu.freq.150=150 MHz
|
||||||
generic_rp2350.menu.freq.150.build.f_cpu=150000000L
|
generic_rp2350.menu.freq.150.build.f_cpu=150000000L
|
||||||
generic_rp2350.menu.freq.50=50 MHz
|
generic_rp2350.menu.freq.50=50 MHz
|
||||||
|
|
|
||||||
4
boot2/rp2350-riscv/none.S
Normal file
4
boot2/rp2350-riscv/none.S
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
.section .boot2, "ax"
|
||||||
|
|
||||||
|
.global __boot2_entry_point
|
||||||
|
__boot2_entry_point:
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
// Padded and checksummed version of: boot2_generic_03h.2.bin
|
|
||||||
|
|
||||||
.cpu cortex-m0plus
|
|
||||||
.thumb
|
|
||||||
|
|
||||||
.section .boot2, "ax"
|
|
||||||
|
|
||||||
.global __boot2_entry_point
|
|
||||||
__boot2_entry_point:
|
|
||||||
.byte 0x00, 0xb5, 0x05, 0x4b, 0x05, 0x48, 0xd8, 0x60, 0x4f, 0xf0, 0x03, 0x00, 0x58, 0x61, 0x4f, 0xf4
|
|
||||||
.byte 0x80, 0x50, 0x18, 0x61, 0x00, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x40, 0x02, 0x01, 0x00, 0x40
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
// Padded and checksummed version of: boot2_generic_03h.4.bin
|
|
||||||
|
|
||||||
.cpu cortex-m0plus
|
|
||||||
.thumb
|
|
||||||
|
|
||||||
.section .boot2, "ax"
|
|
||||||
|
|
||||||
.global __boot2_entry_point
|
|
||||||
__boot2_entry_point:
|
|
||||||
.byte 0x00, 0xb5, 0x05, 0x4b, 0x05, 0x48, 0xd8, 0x60, 0x4f, 0xf0, 0x03, 0x00, 0x58, 0x61, 0x4f, 0xf4
|
|
||||||
.byte 0x80, 0x50, 0x18, 0x61, 0x00, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x40, 0x04, 0x01, 0x00, 0x40
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
// Padded and checksummed version of: boot2_w25q080.2.bin
|
|
||||||
|
|
||||||
.cpu cortex-m0plus
|
|
||||||
.thumb
|
|
||||||
|
|
||||||
.section .boot2, "ax"
|
|
||||||
|
|
||||||
.global __boot2_entry_point
|
|
||||||
__boot2_entry_point:
|
|
||||||
.byte 0x00, 0xb5, 0x24, 0x4b, 0x21, 0x20, 0x58, 0x60, 0x13, 0xf5, 0x40, 0x53, 0x02, 0x20, 0x98, 0x60
|
|
||||||
.byte 0xd8, 0x60, 0x18, 0x61, 0x58, 0x61, 0x13, 0xf5, 0x0d, 0x23, 0x1f, 0x49, 0x19, 0x60, 0x18, 0x68
|
|
||||||
.byte 0x10, 0xf0, 0x02, 0x0f, 0xfb, 0xd1, 0x35, 0x20, 0x00, 0xf0, 0x2c, 0xf8, 0x02, 0x28, 0x14, 0xd0
|
|
||||||
.byte 0x06, 0x20, 0x58, 0x60, 0x00, 0xf0, 0x22, 0xf8, 0x98, 0x68, 0x01, 0x20, 0x58, 0x60, 0x00, 0x20
|
|
||||||
.byte 0x58, 0x60, 0x02, 0x20, 0x58, 0x60, 0x00, 0xf0, 0x19, 0xf8, 0x98, 0x68, 0x98, 0x68, 0x98, 0x68
|
|
||||||
.byte 0x05, 0x20, 0x00, 0xf0, 0x17, 0xf8, 0x40, 0x08, 0xfa, 0xd2, 0x31, 0xf0, 0x01, 0x01, 0x19, 0x60
|
|
||||||
.byte 0x0e, 0x48, 0xd8, 0x60, 0x4a, 0xf2, 0xeb, 0x00, 0x58, 0x61, 0x0d, 0x48, 0x18, 0x61, 0x4f, 0xf0
|
|
||||||
.byte 0xa0, 0x51, 0x09, 0x78, 0x20, 0xf4, 0x80, 0x50, 0x18, 0x61, 0x00, 0xbd, 0x18, 0x68, 0x80, 0x08
|
|
||||||
.byte 0xfc, 0xd2, 0x70, 0x47, 0x00, 0xb5, 0x58, 0x60, 0x58, 0x60, 0xff, 0xf7, 0xf7, 0xff, 0x98, 0x68
|
|
||||||
.byte 0x98, 0x68, 0x00, 0xbd, 0x00, 0x00, 0x04, 0x40, 0x41, 0x00, 0x80, 0x07, 0x02, 0x02, 0x00, 0x40
|
|
||||||
.byte 0xa8, 0x92, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
// Padded and checksummed version of: boot2_w25q080.4.bin
|
|
||||||
|
|
||||||
.cpu cortex-m0plus
|
|
||||||
.thumb
|
|
||||||
|
|
||||||
.section .boot2, "ax"
|
|
||||||
|
|
||||||
.global __boot2_entry_point
|
|
||||||
__boot2_entry_point:
|
|
||||||
.byte 0x00, 0xb5, 0x24, 0x4b, 0x21, 0x20, 0x58, 0x60, 0x13, 0xf5, 0x40, 0x53, 0x02, 0x20, 0x98, 0x60
|
|
||||||
.byte 0xd8, 0x60, 0x18, 0x61, 0x58, 0x61, 0x13, 0xf5, 0x0d, 0x23, 0x1f, 0x49, 0x19, 0x60, 0x18, 0x68
|
|
||||||
.byte 0x10, 0xf0, 0x02, 0x0f, 0xfb, 0xd1, 0x35, 0x20, 0x00, 0xf0, 0x2c, 0xf8, 0x02, 0x28, 0x14, 0xd0
|
|
||||||
.byte 0x06, 0x20, 0x58, 0x60, 0x00, 0xf0, 0x22, 0xf8, 0x98, 0x68, 0x01, 0x20, 0x58, 0x60, 0x00, 0x20
|
|
||||||
.byte 0x58, 0x60, 0x02, 0x20, 0x58, 0x60, 0x00, 0xf0, 0x19, 0xf8, 0x98, 0x68, 0x98, 0x68, 0x98, 0x68
|
|
||||||
.byte 0x05, 0x20, 0x00, 0xf0, 0x17, 0xf8, 0x40, 0x08, 0xfa, 0xd2, 0x31, 0xf0, 0x01, 0x01, 0x19, 0x60
|
|
||||||
.byte 0x0e, 0x48, 0xd8, 0x60, 0x4a, 0xf2, 0xeb, 0x00, 0x58, 0x61, 0x0d, 0x48, 0x18, 0x61, 0x4f, 0xf0
|
|
||||||
.byte 0xa0, 0x51, 0x09, 0x78, 0x20, 0xf4, 0x80, 0x50, 0x18, 0x61, 0x00, 0xbd, 0x18, 0x68, 0x80, 0x08
|
|
||||||
.byte 0xfc, 0xd2, 0x70, 0x47, 0x00, 0xb5, 0x58, 0x60, 0x58, 0x60, 0xff, 0xf7, 0xf7, 0xff, 0x98, 0x68
|
|
||||||
.byte 0x98, 0x68, 0x00, 0xbd, 0x00, 0x00, 0x04, 0x40, 0x41, 0x00, 0x80, 0x07, 0x04, 0x02, 0x00, 0x40
|
|
||||||
.byte 0xa8, 0x92, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
4
boot2/rp2350/none.S
Normal file
4
boot2/rp2350/none.S
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
.section .boot2, "ax"
|
||||||
|
|
||||||
|
.global __boot2_entry_point
|
||||||
|
__boot2_entry_point:
|
||||||
|
|
@ -37,7 +37,7 @@
|
||||||
#ifdef abs
|
#ifdef abs
|
||||||
#undef abs
|
#undef abs
|
||||||
#endif // abs
|
#endif // abs
|
||||||
#ifdef __cplusplus
|
#if defined(__cplusplus) && !defined(__riscv)
|
||||||
using std::abs;
|
using std::abs;
|
||||||
using std::round;
|
using std::round;
|
||||||
#else
|
#else
|
||||||
|
|
|
||||||
|
|
@ -175,18 +175,22 @@ public:
|
||||||
|
|
||||||
void begin() {
|
void begin() {
|
||||||
_epoch = 0;
|
_epoch = 0;
|
||||||
|
#if !defined(__riscv)
|
||||||
if (!__isFreeRTOS) {
|
if (!__isFreeRTOS) {
|
||||||
// Enable SYSTICK exception
|
// Enable SYSTICK exception
|
||||||
exception_set_exclusive_handler(SYSTICK_EXCEPTION, _SystickHandler);
|
exception_set_exclusive_handler(SYSTICK_EXCEPTION, _SystickHandler);
|
||||||
systick_hw->csr = 0x7;
|
systick_hw->csr = 0x7;
|
||||||
systick_hw->rvr = 0x00FFFFFF;
|
systick_hw->rvr = 0x00FFFFFF;
|
||||||
} else {
|
} else {
|
||||||
|
#endif
|
||||||
int off = 0;
|
int off = 0;
|
||||||
_ccountPgm = new PIOProgram(&ccount_program);
|
_ccountPgm = new PIOProgram(&ccount_program);
|
||||||
_ccountPgm->prepare(&_pio, &_sm, &off);
|
_ccountPgm->prepare(&_pio, &_sm, &off);
|
||||||
ccount_program_init(_pio, _sm, off);
|
ccount_program_init(_pio, _sm, off);
|
||||||
pio_sm_set_enabled(_pio, _sm, true);
|
pio_sm_set_enabled(_pio, _sm, true);
|
||||||
|
#if !defined(__riscv)
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert from microseconds to PIO clock cycles
|
// Convert from microseconds to PIO clock cycles
|
||||||
|
|
@ -208,6 +212,7 @@ public:
|
||||||
// Get CPU cycle count. Needs to do magic to extens 24b HW to something longer
|
// Get CPU cycle count. Needs to do magic to extens 24b HW to something longer
|
||||||
volatile uint64_t _epoch = 0;
|
volatile uint64_t _epoch = 0;
|
||||||
inline uint32_t getCycleCount() {
|
inline uint32_t getCycleCount() {
|
||||||
|
#if !defined(__riscv)
|
||||||
if (!__isFreeRTOS) {
|
if (!__isFreeRTOS) {
|
||||||
uint32_t epoch;
|
uint32_t epoch;
|
||||||
uint32_t ctr;
|
uint32_t ctr;
|
||||||
|
|
@ -217,11 +222,15 @@ public:
|
||||||
} while (epoch != (uint32_t)_epoch);
|
} while (epoch != (uint32_t)_epoch);
|
||||||
return epoch + (1 << 24) - ctr; /* CTR counts down from 1<<24-1 */
|
return epoch + (1 << 24) - ctr; /* CTR counts down from 1<<24-1 */
|
||||||
} else {
|
} else {
|
||||||
|
#endif
|
||||||
return ccount_read(_pio, _sm);
|
return ccount_read(_pio, _sm);
|
||||||
|
#if !defined(__riscv)
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
inline uint64_t getCycleCount64() {
|
inline uint64_t getCycleCount64() {
|
||||||
|
#if !defined(__riscv)
|
||||||
if (!__isFreeRTOS) {
|
if (!__isFreeRTOS) {
|
||||||
uint64_t epoch;
|
uint64_t epoch;
|
||||||
uint64_t ctr;
|
uint64_t ctr;
|
||||||
|
|
@ -231,8 +240,11 @@ public:
|
||||||
} while (epoch != _epoch);
|
} while (epoch != _epoch);
|
||||||
return epoch + (1LL << 24) - ctr;
|
return epoch + (1LL << 24) - ctr;
|
||||||
} else {
|
} else {
|
||||||
|
#endif
|
||||||
return ccount_read(_pio, _sm);
|
return ccount_read(_pio, _sm);
|
||||||
|
#if !defined(__riscv)
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
inline int getFreeHeap() {
|
inline int getFreeHeap() {
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ typedef struct {
|
||||||
static FMMap *_map = nullptr;
|
static FMMap *_map = nullptr;
|
||||||
SemaphoreHandle_t __get_freertos_mutex_for_ptr(mutex_t *m, bool recursive) {
|
SemaphoreHandle_t __get_freertos_mutex_for_ptr(mutex_t *m, bool recursive) {
|
||||||
if (!_map) {
|
if (!_map) {
|
||||||
_map = (FMMap *)calloc(sizeof(FMMap), 16);
|
_map = (FMMap *)calloc(16, sizeof(FMMap));
|
||||||
}
|
}
|
||||||
// Pre-existing map
|
// Pre-existing map
|
||||||
for (int i = 0; i < 16; i++) {
|
for (int i = 0; i < 16; i++) {
|
||||||
|
|
|
||||||
|
|
@ -99,7 +99,7 @@ static SemaphoreHandle_t __getFreeRTOSRecursiveMutex(_LOCK_T lock) {
|
||||||
return __get_freertos_mutex_for_ptr((mutex_t *)l, true);
|
return __get_freertos_mutex_for_ptr((mutex_t *)l, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void __retarget_lock_init(_LOCK_T *lock) {
|
void __retarget_lock_init(_LOCK_T lock) {
|
||||||
if (__freeRTOSinitted) {
|
if (__freeRTOSinitted) {
|
||||||
mutex_t *l = (mutex_t *)lock;
|
mutex_t *l = (mutex_t *)lock;
|
||||||
if ((l == &__lock___at_quick_exit_mutex) || (l == &__lock___tz_mutex) || (l == &__lock___dd_hash_mutex) || (l == &__lock___arc4random_mutex)) {
|
if ((l == &__lock___at_quick_exit_mutex) || (l == &__lock___tz_mutex) || (l == &__lock___dd_hash_mutex) || (l == &__lock___arc4random_mutex)) {
|
||||||
|
|
@ -113,7 +113,7 @@ void __retarget_lock_init(_LOCK_T *lock) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void __retarget_lock_init_recursive(_LOCK_T *lock) {
|
void __retarget_lock_init_recursive(_LOCK_T lock) {
|
||||||
if (__freeRTOSinitted) {
|
if (__freeRTOSinitted) {
|
||||||
recursive_mutex_t *l = (recursive_mutex_t *)lock;
|
recursive_mutex_t *l = (recursive_mutex_t *)lock;
|
||||||
if ((l == &__lock___sinit_recursive_mutex) || (l == &__lock___sfp_recursive_mutex) || (l == &__lock___atexit_recursive_mutex) || (l == &__lock___malloc_recursive_mutex) || (l == &__lock___env_recursive_mutex)) {
|
if ((l == &__lock___sinit_recursive_mutex) || (l == &__lock___sfp_recursive_mutex) || (l == &__lock___atexit_recursive_mutex) || (l == &__lock___malloc_recursive_mutex) || (l == &__lock___env_recursive_mutex)) {
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,7 @@ extern "C" int main() {
|
||||||
|
|
||||||
// Allocate impure_ptr (newlib temps) if there is a 2nd core running
|
// Allocate impure_ptr (newlib temps) if there is a 2nd core running
|
||||||
if (!__isFreeRTOS && (setup1 || loop1)) {
|
if (!__isFreeRTOS && (setup1 || loop1)) {
|
||||||
_impure_ptr1 = (struct _reent*)calloc(sizeof(struct _reent), 1);
|
_impure_ptr1 = (struct _reent*)calloc(1, sizeof(struct _reent));
|
||||||
_REENT_INIT_PTR(_impure_ptr1);
|
_REENT_INIT_PTR(_impure_ptr1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -134,7 +134,6 @@ extern "C" int main() {
|
||||||
}
|
}
|
||||||
rp2040.fifo.registerCore();
|
rp2040.fifo.registerCore();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!__isFreeRTOS) {
|
if (!__isFreeRTOS) {
|
||||||
if (setup1 || loop1) {
|
if (setup1 || loop1) {
|
||||||
delay(1); // Needed to make Picoprobe upload start 2nd core
|
delay(1); // Needed to make Picoprobe upload start 2nd core
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ RP2040 (Raspberry Pi Pico processor) and RP2350 (Raspberry Pi Pico 2
|
||||||
processor), intended to make it easier and more fun to use and
|
processor), intended to make it easier and more fun to use and
|
||||||
program the Raspberry Pi Pico / RP2040 / RP2350 based boards.
|
program the Raspberry Pi Pico / RP2040 / RP2350 based boards.
|
||||||
|
|
||||||
This Arduino core uses a custom toolset with GCC 12.3 and Newlib 4.0.0
|
This Arduino core uses a custom toolset with GCC 14.2 and Newlib 4.3
|
||||||
and doesn't require any system-installed prerequisites.
|
and doesn't require any system-installed prerequisites.
|
||||||
|
|
||||||
For the latest version, always check https://github.com/earlephilhower/arduino-pico
|
For the latest version, always check https://github.com/earlephilhower/arduino-pico
|
||||||
|
|
|
||||||
|
|
@ -309,6 +309,19 @@ local copy of the core (with e.g. some modifications) on disk (`see documentatio
|
||||||
Note that this can only be done for versions that have the PlatformIO
|
Note that this can only be done for versions that have the PlatformIO
|
||||||
builder script it in, so versions before 1.9.2 are not supported.
|
builder script it in, so versions before 1.9.2 are not supported.
|
||||||
|
|
||||||
|
Selecting the CPU architecture
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
By default Platform.IO will build for the onboard ARM cores on the RP2350. To build RISC-V binaries
|
||||||
|
adjust the ``board_build.mcu`` option accordingly:
|
||||||
|
|
||||||
|
.. code:: ini
|
||||||
|
|
||||||
|
; RP2350 based (RISC-V)
|
||||||
|
[env:rpipico2-riscv]
|
||||||
|
board = rpipico2
|
||||||
|
board_build.mcu = rp2350-riscv
|
||||||
|
|
||||||
Examples
|
Examples
|
||||||
--------
|
--------
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,14 @@ is supported by the core with some minor caveats:
|
||||||
|
|
||||||
* PSRAM is supported via a new ``pmalloc`` call and ``PSRAM`` variable decorator.
|
* PSRAM is supported via a new ``pmalloc`` call and ``PSRAM`` variable decorator.
|
||||||
* Both RP2350A and RP2350B (48 GPIOs) are supported.
|
* Both RP2350A and RP2350B (48 GPIOs) are supported.
|
||||||
* Only ARM mode is available. For RISC-V (Hazard3), please use the raw SDK.
|
|
||||||
|
ARM and RISC-V Modes
|
||||||
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Either set of cores can be used on the RP2350, ARM Cortex-M33 or RISC-V Hazard3.
|
||||||
|
Select the desired core from the IDE menus under ``Tools->CPU Architecture``.
|
||||||
|
As of the initial release, all libraries should work under the new RISC-V mode with
|
||||||
|
the exception of FreeRTOS. If not, patches are always welcome.
|
||||||
|
|
||||||
P2350-E9 Errata ("Increased leakage current on Bank 0 GPIO when pad input is enabled")
|
P2350-E9 Errata ("Increased leakage current on Bank 0 GPIO when pad input is enabled")
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1,2 @@
|
||||||
// Do not edit -- Automatically generated by tools/sdk/ssl/bearssl/Makefile
|
// Do not edit -- Automatically generated by tools/sdk/ssl/bearssl/Makefile
|
||||||
#define BEARSSL_GIT c2c9d9d
|
#define BEARSSL_GIT 5b7f3d5
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
lib/rp2040/ota.o
BIN
lib/rp2040/ota.o
Binary file not shown.
BIN
lib/rp2350-riscv/libbearssl.a
Normal file
BIN
lib/rp2350-riscv/libbearssl.a
Normal file
Binary file not shown.
BIN
lib/rp2350-riscv/libipv4-big.a
Normal file
BIN
lib/rp2350-riscv/libipv4-big.a
Normal file
Binary file not shown.
BIN
lib/rp2350-riscv/libipv4-ipv6-big.a
Normal file
BIN
lib/rp2350-riscv/libipv4-ipv6-big.a
Normal file
Binary file not shown.
BIN
lib/rp2350-riscv/libipv4-ipv6.a
Normal file
BIN
lib/rp2350-riscv/libipv4-ipv6.a
Normal file
Binary file not shown.
BIN
lib/rp2350-riscv/libipv4.a
Normal file
BIN
lib/rp2350-riscv/libipv4.a
Normal file
Binary file not shown.
BIN
lib/rp2350-riscv/libpico.a
Normal file
BIN
lib/rp2350-riscv/libpico.a
Normal file
Binary file not shown.
336
lib/rp2350-riscv/memmap_default.ld
Normal file
336
lib/rp2350-riscv/memmap_default.ld
Normal file
|
|
@ -0,0 +1,336 @@
|
||||||
|
/* Based on GCC ARM embedded samples.
|
||||||
|
Defines the following symbols for use by code:
|
||||||
|
__exidx_start
|
||||||
|
__exidx_end
|
||||||
|
__etext
|
||||||
|
__data_start__
|
||||||
|
__preinit_array_start
|
||||||
|
__preinit_array_end
|
||||||
|
__init_array_start
|
||||||
|
__init_array_end
|
||||||
|
__fini_array_start
|
||||||
|
__fini_array_end
|
||||||
|
__data_end__
|
||||||
|
__bss_start__
|
||||||
|
__bss_end__
|
||||||
|
__end__
|
||||||
|
end
|
||||||
|
__HeapLimit
|
||||||
|
__StackLimit
|
||||||
|
__StackTop
|
||||||
|
__stack (== StackTop)
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
MEMORY
|
||||||
|
{
|
||||||
|
FLASH(rx) : ORIGIN = 0x10000000, LENGTH = __FLASH_LENGTH__
|
||||||
|
PSRAM(rwx) : ORIGIN = 0x11000000, LENGTH = __PSRAM_LENGTH__
|
||||||
|
RAM(rwx) : ORIGIN = 0x20000000, LENGTH = __RAM_LENGTH__
|
||||||
|
SCRATCH_X(rwx) : ORIGIN = 0x20080000, LENGTH = 4k
|
||||||
|
SCRATCH_Y(rwx) : ORIGIN = 0x20081000, LENGTH = 4k
|
||||||
|
}
|
||||||
|
|
||||||
|
PROVIDE ( _EEPROM_start = __EEPROM_START__ );
|
||||||
|
PROVIDE ( _FS_start = __FS_START__ );
|
||||||
|
PROVIDE ( _FS_end = __FS_END__ );
|
||||||
|
|
||||||
|
ENTRY(_entry_point)
|
||||||
|
|
||||||
|
SECTIONS
|
||||||
|
{
|
||||||
|
.flash_begin : {
|
||||||
|
__flash_binary_start = .;
|
||||||
|
} > FLASH
|
||||||
|
|
||||||
|
.ota : {
|
||||||
|
/* Start image with OTA */
|
||||||
|
KEEP (*(.OTA))
|
||||||
|
*ota.o
|
||||||
|
} > FLASH
|
||||||
|
|
||||||
|
.partition : {
|
||||||
|
. = __flash_binary_start + 0x2ff0;
|
||||||
|
LONG(__FS_START__)
|
||||||
|
LONG(__FS_END__)
|
||||||
|
LONG(__EEPROM_START__)
|
||||||
|
LONG(__FLASH_LENGTH__)
|
||||||
|
} > FLASH
|
||||||
|
|
||||||
|
/* The bootrom will enter the image at the point indicated in your
|
||||||
|
IMAGE_DEF, which is usually the reset handler of your vector table.
|
||||||
|
|
||||||
|
The debugger will use the ELF entry point, which is the _entry_point
|
||||||
|
symbol, and in our case is *different from the bootrom's entry point.*
|
||||||
|
This is used to go back through the bootrom on debugger launches only,
|
||||||
|
to perform the same initial flash setup that would be performed on a
|
||||||
|
cold boot.
|
||||||
|
*/
|
||||||
|
|
||||||
|
.text : {
|
||||||
|
KEEP (*(.vectors))
|
||||||
|
__logical_binary_start = .;
|
||||||
|
KEEP (*(.binary_info_header))
|
||||||
|
__binary_info_header_end = .;
|
||||||
|
KEEP (*(.embedded_block))
|
||||||
|
__embedded_block_end = .;
|
||||||
|
KEEP (*(.reset))
|
||||||
|
/* TODO revisit this now memset/memcpy/float in ROM */
|
||||||
|
/* bit of a hack right now to exclude all floating point and time critical (e.g. memset, memcpy) code from
|
||||||
|
* FLASH ... we will include any thing excluded here in .data below by default */
|
||||||
|
*(.init)
|
||||||
|
*libgcc.a:cmse_nonsecure_call.o
|
||||||
|
*(EXCLUDE_FILE(*libgcc.a: *libc.a:*lib_a-mem*.o *libm.a:) .text*)
|
||||||
|
*(.fini)
|
||||||
|
/* Pull all c'tors into .text */
|
||||||
|
*crtbegin.o(.ctors)
|
||||||
|
*crtbegin?.o(.ctors)
|
||||||
|
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
|
||||||
|
*(SORT(.ctors.*))
|
||||||
|
*(.ctors)
|
||||||
|
/* Followed by destructors */
|
||||||
|
*crtbegin.o(.dtors)
|
||||||
|
*crtbegin?.o(.dtors)
|
||||||
|
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
|
||||||
|
*(SORT(.dtors.*))
|
||||||
|
*(.dtors)
|
||||||
|
|
||||||
|
. = ALIGN(4);
|
||||||
|
/* preinit data */
|
||||||
|
PROVIDE_HIDDEN (__preinit_array_start = .);
|
||||||
|
KEEP(*(SORT(.preinit_array.*)))
|
||||||
|
KEEP(*(.preinit_array))
|
||||||
|
PROVIDE_HIDDEN (__preinit_array_end = .);
|
||||||
|
|
||||||
|
. = ALIGN(4);
|
||||||
|
/* init data */
|
||||||
|
PROVIDE_HIDDEN (__init_array_start = .);
|
||||||
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
|
PROVIDE_HIDDEN (__init_array_end = .);
|
||||||
|
|
||||||
|
. = ALIGN(4);
|
||||||
|
/* finit data */
|
||||||
|
PROVIDE_HIDDEN (__fini_array_start = .);
|
||||||
|
*(SORT(.fini_array.*))
|
||||||
|
*(.fini_array)
|
||||||
|
PROVIDE_HIDDEN (__fini_array_end = .);
|
||||||
|
|
||||||
|
*(.eh_frame*)
|
||||||
|
. = ALIGN(4);
|
||||||
|
} > FLASH
|
||||||
|
|
||||||
|
/* Note the boot2 section is optional, and should be discarded if there is
|
||||||
|
no reference to it *inside* the binary, as it is not called by the
|
||||||
|
bootrom. (The bootrom performs a simple best-effort XIP setup and
|
||||||
|
leaves it to the binary to do anything more sophisticated.) However
|
||||||
|
there is still a size limit of 256 bytes, to ensure the boot2 can be
|
||||||
|
stored in boot RAM.
|
||||||
|
|
||||||
|
Really this is a "XIP setup function" -- the name boot2 is historic and
|
||||||
|
refers to its dual-purpose on RP2040, where it also handled vectoring
|
||||||
|
from the bootrom into the user image.
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
.boot2 : {
|
||||||
|
__boot2_start__ = .;
|
||||||
|
*(.boot2)
|
||||||
|
__boot2_end__ = .;
|
||||||
|
} > FLASH
|
||||||
|
|
||||||
|
ASSERT(__boot2_end__ - __boot2_start__ <= 256,
|
||||||
|
"ERROR: Pico second stage bootloader must be no more than 256 bytes in size")
|
||||||
|
*/
|
||||||
|
.rodata : {
|
||||||
|
*(EXCLUDE_FILE(*libgcc.a: *libc.a:*lib_a-mem*.o *libm.a:) .rodata*)
|
||||||
|
*(.srodata*)
|
||||||
|
. = ALIGN(4);
|
||||||
|
*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.flashdata*)))
|
||||||
|
. = ALIGN(4);
|
||||||
|
} > FLASH
|
||||||
|
|
||||||
|
.ARM.extab :
|
||||||
|
{
|
||||||
|
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
||||||
|
} > FLASH
|
||||||
|
|
||||||
|
__exidx_start = .;
|
||||||
|
.ARM.exidx :
|
||||||
|
{
|
||||||
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
||||||
|
} > FLASH
|
||||||
|
__exidx_end = .;
|
||||||
|
|
||||||
|
/* Machine inspectable binary information */
|
||||||
|
. = ALIGN(4);
|
||||||
|
__binary_info_start = .;
|
||||||
|
.binary_info :
|
||||||
|
{
|
||||||
|
KEEP(*(.binary_info.keep.*))
|
||||||
|
*(.binary_info.*)
|
||||||
|
} > FLASH
|
||||||
|
__binary_info_end = .;
|
||||||
|
. = ALIGN(4);
|
||||||
|
|
||||||
|
.ram_vector_table (NOLOAD): {
|
||||||
|
*(.ram_vector_table)
|
||||||
|
} > RAM
|
||||||
|
|
||||||
|
.uninitialized_data (NOLOAD): {
|
||||||
|
. = ALIGN(4);
|
||||||
|
*(.uninitialized_data*)
|
||||||
|
} > RAM
|
||||||
|
|
||||||
|
.data : {
|
||||||
|
__data_start__ = .;
|
||||||
|
*(vtable)
|
||||||
|
|
||||||
|
*(.time_critical*)
|
||||||
|
|
||||||
|
/* remaining .text and .rodata; i.e. stuff we exclude above because we want it in RAM */
|
||||||
|
*(.text*)
|
||||||
|
. = ALIGN(4);
|
||||||
|
*(.rodata*)
|
||||||
|
. = ALIGN(4);
|
||||||
|
|
||||||
|
*(.data*)
|
||||||
|
*(.sdata*)
|
||||||
|
|
||||||
|
. = ALIGN(4);
|
||||||
|
*(.after_data.*)
|
||||||
|
. = ALIGN(4);
|
||||||
|
/* preinit data */
|
||||||
|
PROVIDE_HIDDEN (__mutex_array_start = .);
|
||||||
|
KEEP(*(SORT(.mutex_array.*)))
|
||||||
|
KEEP(*(.mutex_array))
|
||||||
|
PROVIDE_HIDDEN (__mutex_array_end = .);
|
||||||
|
|
||||||
|
*(.jcr)
|
||||||
|
. = ALIGN(4);
|
||||||
|
} > RAM AT> FLASH
|
||||||
|
|
||||||
|
.tdata : {
|
||||||
|
. = ALIGN(4);
|
||||||
|
*(.tdata .tdata.* .gnu.linkonce.td.*)
|
||||||
|
/* All data end */
|
||||||
|
__tdata_end = .;
|
||||||
|
} > RAM AT> FLASH
|
||||||
|
PROVIDE(__data_end__ = .);
|
||||||
|
|
||||||
|
/* __etext is (for backwards compatibility) the name of the .data init source pointer (...) */
|
||||||
|
__etext = LOADADDR(.data);
|
||||||
|
|
||||||
|
.tbss (NOLOAD) : {
|
||||||
|
. = ALIGN(4);
|
||||||
|
__bss_start__ = .;
|
||||||
|
__tls_base = .;
|
||||||
|
*(.tbss .tbss.* .gnu.linkonce.tb.*)
|
||||||
|
*(.tcommon)
|
||||||
|
|
||||||
|
__tls_end = .;
|
||||||
|
} > RAM
|
||||||
|
|
||||||
|
.bss (NOLOAD) : {
|
||||||
|
. = ALIGN(4);
|
||||||
|
__tbss_end = .;
|
||||||
|
|
||||||
|
*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.bss*)))
|
||||||
|
*(COMMON)
|
||||||
|
PROVIDE(__global_pointer$ = . + 2K);
|
||||||
|
*(.sbss*)
|
||||||
|
. = ALIGN(4);
|
||||||
|
__bss_end__ = .;
|
||||||
|
} > RAM
|
||||||
|
|
||||||
|
.heap (NOLOAD):
|
||||||
|
{
|
||||||
|
__end__ = .;
|
||||||
|
end = __end__;
|
||||||
|
KEEP(*(.heap*))
|
||||||
|
/* historically on GCC sbrk was growing past __HeapLimit to __StackLimit, however
|
||||||
|
to be more compatible, we now set __HeapLimit explicitly to where the end of the heap is */
|
||||||
|
. = ORIGIN(RAM) + LENGTH(RAM);
|
||||||
|
__HeapLimit = .;
|
||||||
|
} > RAM
|
||||||
|
|
||||||
|
/* Start and end symbols must be word-aligned */
|
||||||
|
.scratch_x : {
|
||||||
|
__scratch_x_start__ = .;
|
||||||
|
*(.scratch_x.*)
|
||||||
|
. = ALIGN(4);
|
||||||
|
__scratch_x_end__ = .;
|
||||||
|
} > SCRATCH_X AT > FLASH
|
||||||
|
__scratch_x_source__ = LOADADDR(.scratch_x);
|
||||||
|
|
||||||
|
.scratch_y : {
|
||||||
|
__scratch_y_start__ = .;
|
||||||
|
*(.scratch_y.*)
|
||||||
|
. = ALIGN(4);
|
||||||
|
__scratch_y_end__ = .;
|
||||||
|
} > SCRATCH_Y AT > FLASH
|
||||||
|
__scratch_y_source__ = LOADADDR(.scratch_y);
|
||||||
|
|
||||||
|
/* .stack*_dummy section doesn't contains any symbols. It is only
|
||||||
|
* used for linker to calculate size of stack sections, and assign
|
||||||
|
* values to stack symbols later
|
||||||
|
*
|
||||||
|
* stack1 section may be empty/missing if platform_launch_core1 is not used */
|
||||||
|
|
||||||
|
/* by default we put core 0 stack at the end of scratch Y, so that if core 1
|
||||||
|
* stack is not used then all of SCRATCH_X is free.
|
||||||
|
*/
|
||||||
|
.stack1_dummy (NOLOAD):
|
||||||
|
{
|
||||||
|
*(.stack1*)
|
||||||
|
} > SCRATCH_X
|
||||||
|
.stack_dummy (NOLOAD):
|
||||||
|
{
|
||||||
|
KEEP(*(.stack*))
|
||||||
|
} > SCRATCH_Y
|
||||||
|
|
||||||
|
.flash_end : {
|
||||||
|
KEEP(*(.embedded_end_block*))
|
||||||
|
PROVIDE(__flash_binary_end = .);
|
||||||
|
} > FLASH = 0xaa
|
||||||
|
|
||||||
|
.psram (NOLOAD) : {
|
||||||
|
__psram_start__ = .;
|
||||||
|
*(.psram*)
|
||||||
|
. = ALIGN(4096);
|
||||||
|
__psram_heap_start__ = .;
|
||||||
|
} > PSRAM
|
||||||
|
|
||||||
|
/* stack limit is poorly named, but historically is maximum heap ptr */
|
||||||
|
__StackLimit = ORIGIN(RAM) + LENGTH(RAM);
|
||||||
|
__StackOneTop = ORIGIN(SCRATCH_X) + LENGTH(SCRATCH_X);
|
||||||
|
__StackTop = ORIGIN(SCRATCH_Y) + LENGTH(SCRATCH_Y);
|
||||||
|
__StackOneBottom = __StackOneTop - SIZEOF(.stack1_dummy);
|
||||||
|
__StackBottom = __StackTop - SIZEOF(.stack_dummy);
|
||||||
|
PROVIDE(__stack = __StackTop);
|
||||||
|
|
||||||
|
/* picolibc and LLVM */
|
||||||
|
PROVIDE (__heap_start = __end__);
|
||||||
|
PROVIDE (__heap_end = __HeapLimit);
|
||||||
|
PROVIDE( __tls_align = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss)) );
|
||||||
|
PROVIDE( __tls_size_align = (__tls_size + __tls_align - 1) & ~(__tls_align - 1));
|
||||||
|
PROVIDE( __arm32_tls_tcb_offset = MAX(8, __tls_align) );
|
||||||
|
|
||||||
|
/* TLSF */
|
||||||
|
PROVIDE (__psram_start = __psram_start__);
|
||||||
|
PROVIDE (__psram_heap_start = __psram_heap_start__);
|
||||||
|
|
||||||
|
/* llvm-libc */
|
||||||
|
PROVIDE (_end = __end__);
|
||||||
|
PROVIDE (__llvm_libc_heap_limit = __HeapLimit);
|
||||||
|
|
||||||
|
/* Check if data + heap + stack exceeds RAM limit */
|
||||||
|
ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed")
|
||||||
|
|
||||||
|
ASSERT( __binary_info_header_end - __logical_binary_start <= 1024, "Binary info must be in first 1024 bytes of the binary")
|
||||||
|
ASSERT( __embedded_block_end - __logical_binary_start <= 4096, "Embedded block must be in first 4096 bytes of the binary")
|
||||||
|
|
||||||
|
/* todo assert on extra code */
|
||||||
|
}
|
||||||
|
|
||||||
BIN
lib/rp2350-riscv/ota.o
Normal file
BIN
lib/rp2350-riscv/ota.o
Normal file
Binary file not shown.
53
lib/rp2350-riscv/platform_def.txt
Normal file
53
lib/rp2350-riscv/platform_def.txt
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
-DCFG_TUSB_MCU=OPT_MCU_RP2040
|
||||||
|
-DCFG_TUSB_OS=OPT_OS_PICO
|
||||||
|
-DLIB_BOOT_STAGE2_HEADERS=1
|
||||||
|
-DLIB_PICO_ATOMIC=1
|
||||||
|
-DLIB_PICO_BIT_OPS=1
|
||||||
|
-DLIB_PICO_BIT_OPS_PICO=1
|
||||||
|
-DLIB_PICO_CLIB_INTERFACE=1
|
||||||
|
-DLIB_PICO_CRT0=1
|
||||||
|
-DLIB_PICO_CXX_OPTIONS=1
|
||||||
|
-DLIB_PICO_DIVIDER=1
|
||||||
|
-DLIB_PICO_DIVIDER_COMPILER=1
|
||||||
|
-DLIB_PICO_DOUBLE=1
|
||||||
|
-DLIB_PICO_DOUBLE_PICO=1
|
||||||
|
-DLIB_PICO_FIX_RP2040_USB_DEVICE_ENUMERATION=1
|
||||||
|
-DLIB_PICO_FLOAT=1
|
||||||
|
-DLIB_PICO_FLOAT_PICO=1
|
||||||
|
-DLIB_PICO_FLOAT_PICO_VFP=1
|
||||||
|
-DLIB_PICO_INT64_OPS=1
|
||||||
|
-DLIB_PICO_INT64_OPS_COMPILER=1
|
||||||
|
-DLIB_PICO_MEM_OPS=1
|
||||||
|
-DLIB_PICO_MEM_OPS_COMPILER=1
|
||||||
|
-DLIB_PICO_NEWLIB_INTERFACE=1
|
||||||
|
-DLIB_PICO_PLATFORM=1
|
||||||
|
-DLIB_PICO_PLATFORM_COMPILER=1
|
||||||
|
-DLIB_PICO_PLATFORM_PANIC=1
|
||||||
|
-DLIB_PICO_PLATFORM_SECTIONS=1
|
||||||
|
-DLIB_PICO_RUNTIME=1
|
||||||
|
-DLIB_PICO_RUNTIME_INIT=1
|
||||||
|
-DLIB_PICO_STANDARD_BINARY_INFO=1
|
||||||
|
-DLIB_PICO_STANDARD_LINK=1
|
||||||
|
-DLIB_PICO_SYNC=1
|
||||||
|
-DLIB_PICO_SYNC_CRITICAL_SECTION=1
|
||||||
|
-DLIB_PICO_SYNC_MUTEX=1
|
||||||
|
-DLIB_PICO_SYNC_SEM=1
|
||||||
|
-DLIB_PICO_TIME=1
|
||||||
|
-DLIB_PICO_TIME_ADAPTER=1
|
||||||
|
-DLIB_PICO_UNIQUE_ID=1
|
||||||
|
-DLIB_PICO_UTIL=1
|
||||||
|
-DLIB_TINYUSB_BOARD=1
|
||||||
|
-DLIB_TINYUSB_DEVICE=1
|
||||||
|
-DPICO_32BIT=1
|
||||||
|
-DPICO_BOARD=\"solderparty_rp2350_stamp_xl\"
|
||||||
|
-DPICO_BUILD=1
|
||||||
|
-DPICO_COPY_TO_RAM=0
|
||||||
|
-DPICO_CXX_ENABLE_EXCEPTIONS=0
|
||||||
|
-DPICO_NO_FLASH=0
|
||||||
|
-DPICO_NO_HARDWARE=0
|
||||||
|
-DPICO_ON_DEVICE=1
|
||||||
|
-DPICO_RP2040_USB_DEVICE_ENUMERATION_FIX=1
|
||||||
|
-DPICO_RP2040_USB_DEVICE_UFRAME_FIX=1
|
||||||
|
-DPICO_RP2350=1
|
||||||
|
-DPICO_RISCV=1
|
||||||
|
-DPICO_USE_BLOCKED_RAM=0
|
||||||
10
lib/rp2350-riscv/platform_inc.txt
Normal file
10
lib/rp2350-riscv/platform_inc.txt
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
-iwithprefixbefore/include/rp2350
|
||||||
|
-iwithprefixbefore/include/rp2350/pico_base
|
||||||
|
-iwithprefixbefore/pico-sdk/src/rp2350/hardware_regs/include
|
||||||
|
-iwithprefixbefore/pico-sdk/src/rp2350/hardware_structs/include
|
||||||
|
-iwithprefixbefore/pico-sdk/src/rp2350/pico_platform/include
|
||||||
|
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_riscv/include
|
||||||
|
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_riscv_platform_timer/include
|
||||||
|
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_hazard3/include
|
||||||
|
-iwithprefixbefore/pico-sdk/src/rp2_common/hardware_sha256/include
|
||||||
|
-iwithprefixbefore/pico-sdk/src/rp2_common/pico_sha256/include
|
||||||
1
lib/rp2350-riscv/platform_wrap.txt
Normal file
1
lib/rp2350-riscv/platform_wrap.txt
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
-Wl,--wrap=__ctzdi2
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -133,7 +133,7 @@ SECTIONS
|
||||||
refers to its dual-purpose on RP2040, where it also handled vectoring
|
refers to its dual-purpose on RP2040, where it also handled vectoring
|
||||||
from the bootrom into the user image.
|
from the bootrom into the user image.
|
||||||
*/
|
*/
|
||||||
|
/*
|
||||||
.boot2 : {
|
.boot2 : {
|
||||||
__boot2_start__ = .;
|
__boot2_start__ = .;
|
||||||
*(.boot2)
|
*(.boot2)
|
||||||
|
|
@ -142,7 +142,7 @@ SECTIONS
|
||||||
|
|
||||||
ASSERT(__boot2_end__ - __boot2_start__ <= 256,
|
ASSERT(__boot2_end__ - __boot2_start__ <= 256,
|
||||||
"ERROR: Pico second stage bootloader must be no more than 256 bytes in size")
|
"ERROR: Pico second stage bootloader must be no more than 256 bytes in size")
|
||||||
|
*/
|
||||||
.rodata : {
|
.rodata : {
|
||||||
*(EXCLUDE_FILE(*libgcc.a: *libc.a:*lib_a-mem*.o *libm.a:) .rodata*)
|
*(EXCLUDE_FILE(*libgcc.a: *libc.a:*lib_a-mem*.o *libm.a:) .rodata*)
|
||||||
*(.srodata*)
|
*(.srodata*)
|
||||||
|
|
|
||||||
BIN
lib/rp2350/ota.o
BIN
lib/rp2350/ota.o
Binary file not shown.
|
|
@ -39,7 +39,7 @@
|
||||||
-DLIB_TINYUSB_BOARD=1
|
-DLIB_TINYUSB_BOARD=1
|
||||||
-DLIB_TINYUSB_DEVICE=1
|
-DLIB_TINYUSB_DEVICE=1
|
||||||
-DPICO_32BIT=1
|
-DPICO_32BIT=1
|
||||||
-DPICO_BOARD=\"pico2\"
|
-DPICO_BOARD=\"solderparty_rp2350_stamp_xl\"
|
||||||
-DPICO_BUILD=1
|
-DPICO_BUILD=1
|
||||||
-DPICO_COPY_TO_RAM=0
|
-DPICO_COPY_TO_RAM=0
|
||||||
-DPICO_CXX_ENABLE_EXCEPTIONS=0
|
-DPICO_CXX_ENABLE_EXCEPTIONS=0
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
Subproject commit c6b7f4a6fb57c55c04913c6667e956204990f828
|
Subproject commit 9e1457101ca47b9ace198086dbd8854efc573ccf
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
#ifdef PICO_RP2350
|
#ifdef PICO_RP2350
|
||||||
|
#ifndef __riscv
|
||||||
#include "../lib/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2350_ARM_NTZ/non_secure/mpu_wrappers_v2_asm.c"
|
#include "../lib/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2350_ARM_NTZ/non_secure/mpu_wrappers_v2_asm.c"
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,9 @@
|
||||||
#ifdef PICO_RP2040
|
#ifdef PICO_RP2040
|
||||||
#include "../lib/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/port.c"
|
#include "../lib/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/port.c"
|
||||||
#else
|
#else
|
||||||
|
#ifndef __riscv
|
||||||
#include "../lib/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2350_ARM_NTZ/non_secure/port.c"
|
#include "../lib/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2350_ARM_NTZ/non_secure/port.c"
|
||||||
|
#else
|
||||||
|
#include "../lib/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2350_RISC-V/port.c"
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
5
libraries/FreeRTOS/src/portASM.S
Normal file
5
libraries/FreeRTOS/src/portASM.S
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
#ifdef PICO_RP2350
|
||||||
|
#ifdef __riscv
|
||||||
|
#include "../lib/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2350_RISC-V/portASM.S"
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
6
libraries/FreeRTOS/src/portContext.h
Normal file
6
libraries/FreeRTOS/src/portContext.h
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
#ifdef PICO_RP2350
|
||||||
|
#ifdef __riscv
|
||||||
|
#include "../lib/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2350_RISC-V/include/portContext.h"
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
#ifdef PICO_RP2350
|
#ifdef PICO_RP2350
|
||||||
|
#ifndef __riscv
|
||||||
#include "../lib/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2350_ARM_NTZ/non_secure/portasm.c"
|
#include "../lib/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2350_ARM_NTZ/non_secure/portasm.c"
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,9 @@
|
||||||
#ifdef PICO_RP2350
|
#ifdef PICO_RP2350
|
||||||
|
#ifndef __riscv
|
||||||
#include "../lib/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2350_ARM_NTZ/non_secure/portmacro.h"
|
#include "../lib/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2350_ARM_NTZ/non_secure/portmacro.h"
|
||||||
#else
|
#else
|
||||||
|
#include "../lib/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2350_RISC-V/include/portmacro.h"
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
#include "../lib/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h"
|
#include "../lib/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,9 @@
|
||||||
#ifdef PICO_RP2350
|
#ifdef PICO_RP2350
|
||||||
|
#ifndef __riscv
|
||||||
#include "../lib/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2350_ARM_NTZ/non_secure//rp2040_config.h"
|
#include "../lib/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2350_ARM_NTZ/non_secure//rp2040_config.h"
|
||||||
#else
|
#else
|
||||||
|
#include "../lib/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2350_RISC-V/include/rp2040_config.h"
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
#include "../lib/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/rp2040_config.h"
|
#include "../lib/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/rp2040_config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -119,7 +119,7 @@ bool PWMAudio::begin() {
|
||||||
|
|
||||||
if (_stereo && (_pin & 1)) {
|
if (_stereo && (_pin & 1)) {
|
||||||
// Illegal, need to have consecutive pins on the same PWM slice
|
// Illegal, need to have consecutive pins on the same PWM slice
|
||||||
Serial.printf("ERROR: PWMAudio stereo mode requires pin be even\n");
|
DEBUGV("ERROR: PWMAudio stereo mode requires pin be even\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@
|
||||||
#include <LittleFS.h>
|
#include <LittleFS.h>
|
||||||
#include "blink_100_1000_rp2040.h"
|
#include "blink_100_1000_rp2040.h"
|
||||||
#include "blink_500_500_rp2350.h"
|
#include "blink_500_500_rp2350.h"
|
||||||
|
#include "blink_250_250_rp2350-riscv.h"
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
|
|
||||||
9844
libraries/PicoOTA/examples/OTAfromFile/blink_250_250_rp2350-riscv.h
Normal file
9844
libraries/PicoOTA/examples/OTAfromFile/blink_250_250_rp2350-riscv.h
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -1,4 +1,5 @@
|
||||||
#ifdef PICO_RP2350
|
#ifdef PICO_RP2350
|
||||||
|
#ifndef __riscv
|
||||||
const unsigned char blink[] = {
|
const unsigned char blink[] = {
|
||||||
0x00, 0x20, 0x08, 0x20, 0x49, 0x01, 0x00, 0x10, 0x13, 0x01, 0x00, 0x10,
|
0x00, 0x20, 0x08, 0x20, 0x49, 0x01, 0x00, 0x10, 0x13, 0x01, 0x00, 0x10,
|
||||||
0x15, 0x01, 0x00, 0x10, 0x11, 0x01, 0x00, 0x10, 0x11, 0x01, 0x00, 0x10,
|
0x15, 0x01, 0x00, 0x10, 0x11, 0x01, 0x00, 0x10, 0x11, 0x01, 0x00, 0x10,
|
||||||
|
|
@ -5682,3 +5683,4 @@ const unsigned char blink[] = {
|
||||||
0xfc, 0x26, 0xff, 0xff, 0x79, 0x35, 0x12, 0xab
|
0xfc, 0x26, 0xff, 0xff, 0x79, 0x35, 0x12, 0xab
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -9,12 +9,21 @@ if (${cpu} MATCHES "rp2040")
|
||||||
set(PICO_CYW43_SUPPORTED 0)
|
set(PICO_CYW43_SUPPORTED 0)
|
||||||
set(OBJARCH armv6-m)
|
set(OBJARCH armv6-m)
|
||||||
set(WRAP -Wl,--wrap=clocks_init)
|
set(WRAP -Wl,--wrap=clocks_init)
|
||||||
elseif(${cpu} MATCHES "rp2350")
|
set(TUPLE arm-none-eabi)
|
||||||
|
elseif(${cpu} MATCHES "rp2350$")
|
||||||
set(PICO_BOARD pico2)
|
set(PICO_BOARD pico2)
|
||||||
set(PICO_PLATFORM rp2350)
|
set(PICO_PLATFORM rp2350)
|
||||||
set(PICO_CYW43_SUPPORTED 0)
|
set(PICO_CYW43_SUPPORTED 0)
|
||||||
set(OBJARCH armv8-m)
|
set(OBJARCH armv8-m)
|
||||||
set(WRAP )
|
set(WRAP )
|
||||||
|
set(TUPLE arm-none-eabi)
|
||||||
|
elseif(${cpu} MATCHES "rp2350-riscv$")
|
||||||
|
set(PICO_BOARD pico2)
|
||||||
|
set(PICO_PLATFORM rp2350-riscv)
|
||||||
|
set(PICO_CYW43_SUPPORTED 0)
|
||||||
|
set(OBJARCH rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb)
|
||||||
|
set(WRAP )
|
||||||
|
set(TUPLE riscv32-unknown-elf)
|
||||||
else()
|
else()
|
||||||
message(FATAL_ERROR "Unknown CPU, '${cpu}'")
|
message(FATAL_ERROR "Unknown CPU, '${cpu}'")
|
||||||
endif()
|
endif()
|
||||||
|
|
@ -101,7 +110,7 @@ target_link_libraries(ota
|
||||||
)
|
)
|
||||||
|
|
||||||
add_custom_command(TARGET ota POST_BUILD
|
add_custom_command(TARGET ota POST_BUILD
|
||||||
COMMAND ../../system/arm-none-eabi/bin/arm-none-eabi-ld -r -A ${OBJARCH} -b binary -o ota.o ota.bin
|
COMMAND ../../system/${TUPLE}/bin/${TUPLE}-ld -r -A ${OBJARCH} -b binary -o ota.o ota.bin
|
||||||
COMMAND ../../system/arm-none-eabi/bin/arm-none-eabi-objcopy --rename-section .data=.OTA ota.o ../../lib/${cpu}/ota.o
|
COMMAND ../../system/${TUPLE}/bin/${TUPLE}-objcopy --rename-section .data=.OTA ota.o ../../lib/${cpu}/ota.o
|
||||||
COMMAND cp ../ota_command.h ../../include/${cpu}/pico_base/pico/.
|
COMMAND cp ../ota_command.h ../../include/${cpu}/pico_base/pico/.
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ set -e # Exit on error
|
||||||
|
|
||||||
export PICO_SDK_PATH="$(cd ../pico-sdk/; pwd)"
|
export PICO_SDK_PATH="$(cd ../pico-sdk/; pwd)"
|
||||||
export PATH="$(cd ../system/arm-none-eabi/bin; pwd):$PATH"
|
export PATH="$(cd ../system/arm-none-eabi/bin; pwd):$PATH"
|
||||||
|
export PATH="$(cd ../system/riscv32-unknown-elf/bin; pwd):$PATH"
|
||||||
|
|
||||||
rm -rf build
|
rm -rf build
|
||||||
mkdir build
|
mkdir build
|
||||||
|
|
@ -18,3 +19,10 @@ cd build-rp2350
|
||||||
CPU=rp2350 cmake .. -DPICO_RUNTIME_SKIP_INIT_DEFAULT_ALARM_POOL=1
|
CPU=rp2350 cmake .. -DPICO_RUNTIME_SKIP_INIT_DEFAULT_ALARM_POOL=1
|
||||||
CPU=rp2350 make -j # VERBOSE=1
|
CPU=rp2350 make -j # VERBOSE=1
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
|
rm -rf build-rp2350-riscv
|
||||||
|
mkdir build-rp2350-riscv
|
||||||
|
cd build-rp2350-riscv
|
||||||
|
CPU=rp2350-riscv cmake .. -DPICO_RUNTIME_SKIP_INIT_DEFAULT_ALARM_POOL=1
|
||||||
|
CPU=rp2350-riscv make -j # VERBOSE=1
|
||||||
|
cd ..
|
||||||
|
|
|
||||||
295
ota/memmap_ota_rp2350-riscv.ld
Normal file
295
ota/memmap_ota_rp2350-riscv.ld
Normal file
|
|
@ -0,0 +1,295 @@
|
||||||
|
/* Based on GCC ARM embedded samples.
|
||||||
|
Defines the following symbols for use by code:
|
||||||
|
__exidx_start
|
||||||
|
__exidx_end
|
||||||
|
__etext
|
||||||
|
__data_start__
|
||||||
|
__preinit_array_start
|
||||||
|
__preinit_array_end
|
||||||
|
__init_array_start
|
||||||
|
__init_array_end
|
||||||
|
__fini_array_start
|
||||||
|
__fini_array_end
|
||||||
|
__data_end__
|
||||||
|
__bss_start__
|
||||||
|
__bss_end__
|
||||||
|
__end__
|
||||||
|
end
|
||||||
|
__HeapLimit
|
||||||
|
__StackLimit
|
||||||
|
__StackTop
|
||||||
|
__stack (== StackTop)
|
||||||
|
*/
|
||||||
|
|
||||||
|
MEMORY
|
||||||
|
{
|
||||||
|
INCLUDE "pico_flash_region.ld"
|
||||||
|
RAM(rwx) : ORIGIN = 0x20000000, LENGTH = 212k
|
||||||
|
GLOBALS(rwx) : ORIGIN = 0x20035000, LENGTH = 44k
|
||||||
|
SCRATCH_X(rwx) : ORIGIN = 0x20080000, LENGTH = 4k
|
||||||
|
SCRATCH_Y(rwx) : ORIGIN = 0x20081000, LENGTH = 4k
|
||||||
|
}
|
||||||
|
|
||||||
|
ENTRY(_entry_point)
|
||||||
|
|
||||||
|
SECTIONS
|
||||||
|
{
|
||||||
|
/* Second stage bootloader is prepended to the image. It must be 256 bytes big
|
||||||
|
and checksummed. It is usually built by the boot_stage2 target
|
||||||
|
in the Raspberry Pi Pico SDK
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Make sure the globals are not copied/etc. They're empty RAM we will init ourselves */
|
||||||
|
.globals (NOLOAD) : {
|
||||||
|
} > GLOBALS
|
||||||
|
|
||||||
|
.flash_begin : {
|
||||||
|
__flash_binary_start = .;
|
||||||
|
} > FLASH
|
||||||
|
|
||||||
|
/* The bootrom will enter the image at the point indicated in your
|
||||||
|
IMAGE_DEF, which is usually the reset handler of your vector table.
|
||||||
|
|
||||||
|
The debugger will use the ELF entry point, which is the _entry_point
|
||||||
|
symbol, and in our case is *different from the bootrom's entry point.*
|
||||||
|
This is used to go back through the bootrom on debugger launches only,
|
||||||
|
to perform the same initial flash setup that would be performed on a
|
||||||
|
cold boot.
|
||||||
|
*/
|
||||||
|
|
||||||
|
.flashtext : {
|
||||||
|
__logical_binary_start = .;
|
||||||
|
KEEP (*(.vectors))
|
||||||
|
KEEP (*(.binary_info_header))
|
||||||
|
__binary_info_header_end = .;
|
||||||
|
KEEP (*(.embedded_block))
|
||||||
|
__embedded_block_end = .;
|
||||||
|
KEEP (*(.reset))
|
||||||
|
. = ALIGN(4);
|
||||||
|
} > FLASH
|
||||||
|
|
||||||
|
.rodata : {
|
||||||
|
/* segments not marked as .flashdata are instead pulled into .data (in RAM) to avoid accidental flash accesses */
|
||||||
|
*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.flashdata*)))
|
||||||
|
. = ALIGN(4);
|
||||||
|
} > FLASH
|
||||||
|
|
||||||
|
.ARM.extab :
|
||||||
|
{
|
||||||
|
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
||||||
|
} > FLASH
|
||||||
|
|
||||||
|
__exidx_start = .;
|
||||||
|
.ARM.exidx :
|
||||||
|
{
|
||||||
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
||||||
|
} > FLASH
|
||||||
|
__exidx_end = .;
|
||||||
|
|
||||||
|
/* Machine inspectable binary information */
|
||||||
|
. = ALIGN(4);
|
||||||
|
__binary_info_start = .;
|
||||||
|
.binary_info :
|
||||||
|
{
|
||||||
|
KEEP(*(.binary_info.keep.*))
|
||||||
|
*(.binary_info.*)
|
||||||
|
} > FLASH
|
||||||
|
__binary_info_end = .;
|
||||||
|
. = ALIGN(4);
|
||||||
|
|
||||||
|
/* Vector table goes first in RAM, to avoid large alignment hole */
|
||||||
|
.ram_vector_table (NOLOAD): {
|
||||||
|
*(.ram_vector_table)
|
||||||
|
} > RAM
|
||||||
|
|
||||||
|
.uninitialized_data (NOLOAD): {
|
||||||
|
. = ALIGN(4);
|
||||||
|
*(.uninitialized_data*)
|
||||||
|
} > RAM
|
||||||
|
|
||||||
|
.text : {
|
||||||
|
__ram_text_start__ = .;
|
||||||
|
*(.init)
|
||||||
|
*(.text*)
|
||||||
|
*(.fini)
|
||||||
|
/* Pull all c'tors into .text */
|
||||||
|
*crtbegin.o(.ctors)
|
||||||
|
*crtbegin?.o(.ctors)
|
||||||
|
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
|
||||||
|
*(SORT(.ctors.*))
|
||||||
|
*(.ctors)
|
||||||
|
/* Followed by destructors */
|
||||||
|
*crtbegin.o(.dtors)
|
||||||
|
*crtbegin?.o(.dtors)
|
||||||
|
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
|
||||||
|
*(SORT(.dtors.*))
|
||||||
|
*(.dtors)
|
||||||
|
|
||||||
|
*(.eh_frame*)
|
||||||
|
. = ALIGN(4);
|
||||||
|
__ram_text_end__ = .;
|
||||||
|
} > RAM AT> FLASH
|
||||||
|
__ram_text_source__ = LOADADDR(.text);
|
||||||
|
. = ALIGN(4);
|
||||||
|
|
||||||
|
.data : {
|
||||||
|
__data_start__ = .;
|
||||||
|
*(vtable)
|
||||||
|
|
||||||
|
*(.time_critical*)
|
||||||
|
|
||||||
|
. = ALIGN(4);
|
||||||
|
*(.rodata*)
|
||||||
|
*(.srodata*)
|
||||||
|
. = ALIGN(4);
|
||||||
|
|
||||||
|
*(.data*)
|
||||||
|
*(.sdata*)
|
||||||
|
|
||||||
|
. = ALIGN(4);
|
||||||
|
*(.after_data.*)
|
||||||
|
. = ALIGN(4);
|
||||||
|
/* preinit data */
|
||||||
|
PROVIDE_HIDDEN (__mutex_array_start = .);
|
||||||
|
KEEP(*(SORT(.mutex_array.*)))
|
||||||
|
KEEP(*(.mutex_array))
|
||||||
|
PROVIDE_HIDDEN (__mutex_array_end = .);
|
||||||
|
|
||||||
|
. = ALIGN(4);
|
||||||
|
/* preinit data */
|
||||||
|
PROVIDE_HIDDEN (__preinit_array_start = .);
|
||||||
|
KEEP(*(SORT(.preinit_array.*)))
|
||||||
|
KEEP(*(.preinit_array))
|
||||||
|
PROVIDE_HIDDEN (__preinit_array_end = .);
|
||||||
|
|
||||||
|
. = ALIGN(4);
|
||||||
|
/* init data */
|
||||||
|
PROVIDE_HIDDEN (__init_array_start = .);
|
||||||
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
|
PROVIDE_HIDDEN (__init_array_end = .);
|
||||||
|
|
||||||
|
. = ALIGN(4);
|
||||||
|
/* finit data */
|
||||||
|
PROVIDE_HIDDEN (__fini_array_start = .);
|
||||||
|
*(SORT(.fini_array.*))
|
||||||
|
*(.fini_array)
|
||||||
|
PROVIDE_HIDDEN (__fini_array_end = .);
|
||||||
|
|
||||||
|
*(.jcr)
|
||||||
|
. = ALIGN(4);
|
||||||
|
} > RAM AT> FLASH
|
||||||
|
|
||||||
|
.tdata : {
|
||||||
|
. = ALIGN(4);
|
||||||
|
*(.tdata .tdata.* .gnu.linkonce.td.*)
|
||||||
|
/* All data end */
|
||||||
|
__tdata_end = .;
|
||||||
|
} > RAM AT> FLASH
|
||||||
|
PROVIDE(__data_end__ = .);
|
||||||
|
|
||||||
|
/* __etext is (for backwards compatibility) the name of the .data init source pointer (...) */
|
||||||
|
__etext = LOADADDR(.data);
|
||||||
|
|
||||||
|
.tbss (NOLOAD) : {
|
||||||
|
. = ALIGN(4);
|
||||||
|
__bss_start__ = .;
|
||||||
|
__tls_base = .;
|
||||||
|
*(.tbss .tbss.* .gnu.linkonce.tb.*)
|
||||||
|
*(.tcommon)
|
||||||
|
|
||||||
|
__tls_end = .;
|
||||||
|
} > RAM
|
||||||
|
|
||||||
|
.bss : {
|
||||||
|
. = ALIGN(4);
|
||||||
|
__tbss_end = .;
|
||||||
|
|
||||||
|
*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.bss*)))
|
||||||
|
*(COMMON)
|
||||||
|
PROVIDE(__global_pointer$ = . + 2K);
|
||||||
|
*(.sbss*)
|
||||||
|
. = ALIGN(4);
|
||||||
|
__bss_end__ = .;
|
||||||
|
} > RAM
|
||||||
|
|
||||||
|
.heap (NOLOAD):
|
||||||
|
{
|
||||||
|
__end__ = .;
|
||||||
|
end = __end__;
|
||||||
|
KEEP(*(.heap*))
|
||||||
|
/* historically on GCC sbrk was growing past __HeapLimit to __StackLimit, however
|
||||||
|
to be more compatible, we now set __HeapLimit explicitly to where the end of the heap is */
|
||||||
|
. = ORIGIN(RAM) + LENGTH(RAM);
|
||||||
|
__HeapLimit = .;
|
||||||
|
} > RAM
|
||||||
|
|
||||||
|
/* Start and end symbols must be word-aligned */
|
||||||
|
.scratch_x : {
|
||||||
|
__scratch_x_start__ = .;
|
||||||
|
*(.scratch_x.*)
|
||||||
|
. = ALIGN(4);
|
||||||
|
__scratch_x_end__ = .;
|
||||||
|
} > SCRATCH_X AT > FLASH
|
||||||
|
__scratch_x_source__ = LOADADDR(.scratch_x);
|
||||||
|
|
||||||
|
.scratch_y : {
|
||||||
|
__scratch_y_start__ = .;
|
||||||
|
*(.scratch_y.*)
|
||||||
|
. = ALIGN(4);
|
||||||
|
__scratch_y_end__ = .;
|
||||||
|
} > SCRATCH_Y AT > FLASH
|
||||||
|
__scratch_y_source__ = LOADADDR(.scratch_y);
|
||||||
|
|
||||||
|
/* .stack*_dummy section doesn't contains any symbols. It is only
|
||||||
|
* used for linker to calculate size of stack sections, and assign
|
||||||
|
* values to stack symbols later
|
||||||
|
*
|
||||||
|
* stack1 section may be empty/missing if platform_launch_core1 is not used */
|
||||||
|
|
||||||
|
/* by default we put core 0 stack at the end of scratch Y, so that if core 1
|
||||||
|
* stack is not used then all of SCRATCH_X is free.
|
||||||
|
*/
|
||||||
|
.stack1_dummy (NOLOAD):
|
||||||
|
{
|
||||||
|
*(.stack1*)
|
||||||
|
} > SCRATCH_X
|
||||||
|
.stack_dummy (NOLOAD):
|
||||||
|
{
|
||||||
|
KEEP(*(.stack*))
|
||||||
|
} > SCRATCH_Y
|
||||||
|
|
||||||
|
.flash_end : {
|
||||||
|
KEEP(*(.embedded_end_block*))
|
||||||
|
PROVIDE(__flash_binary_end = .);
|
||||||
|
} > FLASH =0xaa
|
||||||
|
|
||||||
|
/* stack limit is poorly named, but historically is maximum heap ptr */
|
||||||
|
__StackLimit = ORIGIN(RAM) + LENGTH(RAM);
|
||||||
|
__StackOneTop = ORIGIN(SCRATCH_X) + LENGTH(SCRATCH_X);
|
||||||
|
__StackTop = ORIGIN(SCRATCH_Y) + LENGTH(SCRATCH_Y);
|
||||||
|
__StackOneBottom = __StackOneTop - SIZEOF(.stack1_dummy);
|
||||||
|
__StackBottom = __StackTop - SIZEOF(.stack_dummy);
|
||||||
|
PROVIDE(__stack = __StackTop);
|
||||||
|
|
||||||
|
/* picolibc and LLVM */
|
||||||
|
PROVIDE (__heap_start = __end__);
|
||||||
|
PROVIDE (__heap_end = __HeapLimit);
|
||||||
|
PROVIDE( __tls_align = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss)) );
|
||||||
|
PROVIDE( __tls_size_align = (__tls_size + __tls_align - 1) & ~(__tls_align - 1));
|
||||||
|
PROVIDE( __arm32_tls_tcb_offset = MAX(8, __tls_align) );
|
||||||
|
|
||||||
|
/* llvm-libc */
|
||||||
|
PROVIDE (_end = __end__);
|
||||||
|
PROVIDE (__llvm_libc_heap_limit = __HeapLimit);
|
||||||
|
|
||||||
|
/* Check if data + heap + stack exceeds RAM limit */
|
||||||
|
ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed")
|
||||||
|
|
||||||
|
ASSERT( __binary_info_header_end - __logical_binary_start <= 1024, "Binary info must be in first 1024 bytes of the binary")
|
||||||
|
ASSERT( __embedded_block_end - __logical_binary_start <= 4096, "Embedded block must be in first 4096 bytes of the binary")
|
||||||
|
|
||||||
|
/* todo assert on extra code */
|
||||||
|
PROVIDE(__mainapp = 0x10003022);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -178,6 +178,13 @@ int main(int a, char **b) {
|
||||||
|
|
||||||
do_ota();
|
do_ota();
|
||||||
|
|
||||||
|
#ifdef __riscv
|
||||||
|
extern void __mainapp();
|
||||||
|
__mainapp();
|
||||||
|
|
||||||
|
// Should never get here!
|
||||||
|
return 0;
|
||||||
|
#else
|
||||||
// Reset the interrupt/etc. vectors to the real app. Will be copied to RAM in app's runtime_init
|
// Reset the interrupt/etc. vectors to the real app. Will be copied to RAM in app's runtime_init
|
||||||
scb_hw->vtor = (uint32_t)0x10003000;
|
scb_hw->vtor = (uint32_t)0x10003000;
|
||||||
|
|
||||||
|
|
@ -190,6 +197,7 @@ int main(int a, char **b) {
|
||||||
|
|
||||||
// Should never get here!
|
// Should never get here!
|
||||||
return *sp;
|
return *sp;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
#pragma GCC pop_options
|
#pragma GCC pop_options
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -333,17 +333,22 @@
|
||||||
"toolsDependencies": [
|
"toolsDependencies": [
|
||||||
{
|
{
|
||||||
"packager": "rp2040",
|
"packager": "rp2040",
|
||||||
"version": "2.3.0-dfd82b2",
|
"version": "4.0.1-8ec9d6f",
|
||||||
"name": "pqt-gcc"
|
"name": "pqt-gcc"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"packager": "rp2040",
|
"packager": "rp2040",
|
||||||
"version": "2.3.0-dfd82b2",
|
"version": "4.0.1-8ec9d6f",
|
||||||
|
"name": "pqt-gcc-riscv"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"packager": "rp2040",
|
||||||
|
"version": "4.0.1-8ec9d6f",
|
||||||
"name": "pqt-mklittlefs"
|
"name": "pqt-mklittlefs"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"packager": "rp2040",
|
"packager": "rp2040",
|
||||||
"version": "2.3.0-dfd82b2",
|
"version": "4.0.1-8ec9d6f",
|
||||||
"name": "pqt-pioasm"
|
"name": "pqt-pioasm"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -353,12 +358,12 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"packager": "rp2040",
|
"packager": "rp2040",
|
||||||
"version": "2.3.0-dfd82b2",
|
"version": "4.0.1-8ec9d6f",
|
||||||
"name": "pqt-openocd"
|
"name": "pqt-openocd"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"packager": "rp2040",
|
"packager": "rp2040",
|
||||||
"version": "2.3.0-dfd82b2",
|
"version": "4.0.1-8ec9d6f",
|
||||||
"name": "pqt-picotool"
|
"name": "pqt-picotool"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
@ -369,125 +374,187 @@
|
||||||
],
|
],
|
||||||
"tools": [
|
"tools": [
|
||||||
{
|
{
|
||||||
"version": "2.3.0-dfd82b2",
|
"version": "4.0.1-8ec9d6f",
|
||||||
|
"name": "pqt-gcc",
|
||||||
|
"systems": [
|
||||||
|
{
|
||||||
|
"host": "arm64-apple-darwin",
|
||||||
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/aarch64-apple-darwin20.4.arm-none-eabi-8ec9d6f.240929.tar.gz",
|
||||||
|
"archiveFileName": "aarch64-apple-darwin20.4.arm-none-eabi-8ec9d6f.240929.tar.gz",
|
||||||
|
"checksum": "SHA-256:cb84f473efda1b8147d552b5e42a20017654fb13ffa8fa6fabdca6b517f0eaa9",
|
||||||
|
"size": "106002809"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"host": "aarch64-linux-gnu",
|
||||||
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/aarch64-linux-gnu.arm-none-eabi-8ec9d6f.240929.tar.gz",
|
||||||
|
"archiveFileName": "aarch64-linux-gnu.arm-none-eabi-8ec9d6f.240929.tar.gz",
|
||||||
|
"checksum": "SHA-256:f80c0bacbb9e522666e2f41a35a8536dfe1b959532062e63dd052a576ba7f418",
|
||||||
|
"size": "114435949"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"host": "arm-linux-gnueabihf",
|
||||||
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/arm-linux-gnueabihf.arm-none-eabi-8ec9d6f.240929.tar.gz",
|
||||||
|
"archiveFileName": "arm-linux-gnueabihf.arm-none-eabi-8ec9d6f.240929.tar.gz",
|
||||||
|
"checksum": "SHA-256:736679d3aa55ba08ca2cfc4e88e1a71eff2bcba7c4d1aed2f9d3e325bf7f362d",
|
||||||
|
"size": "107960125"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"host": "i686-pc-linux-gnu",
|
||||||
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/i686-linux-gnu.arm-none-eabi-8ec9d6f.240929.tar.gz",
|
||||||
|
"archiveFileName": "i686-linux-gnu.arm-none-eabi-8ec9d6f.240929.tar.gz",
|
||||||
|
"checksum": "SHA-256:ba8bfadaa28da88777f95de0f28720d4bc6d24367bacc0751fe7f91fabec543d",
|
||||||
|
"size": "117654636"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"host": "i686-mingw32",
|
||||||
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/i686-w64-mingw32.arm-none-eabi-8ec9d6f.240929.zip",
|
||||||
|
"archiveFileName": "i686-w64-mingw32.arm-none-eabi-8ec9d6f.240929.zip",
|
||||||
|
"checksum": "SHA-256:3b9672cbd4ebb32cd1510bfd7839ab0b59f6fac3ecd6151aa0d10047a1c2230a",
|
||||||
|
"size": "124363537"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"host": "x86_64-apple-darwin",
|
||||||
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/x86_64-apple-darwin20.4.arm-none-eabi-8ec9d6f.240929.tar.gz",
|
||||||
|
"archiveFileName": "x86_64-apple-darwin20.4.arm-none-eabi-8ec9d6f.240929.tar.gz",
|
||||||
|
"checksum": "SHA-256:509820140252eed71cc4148f89c00318febddea08e500ffaa642cb7b7831ba59",
|
||||||
|
"size": "118604056"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"host": "x86_64-pc-linux-gnu",
|
||||||
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/x86_64-linux-gnu.arm-none-eabi-8ec9d6f.240929.tar.gz",
|
||||||
|
"archiveFileName": "x86_64-linux-gnu.arm-none-eabi-8ec9d6f.240929.tar.gz",
|
||||||
|
"checksum": "SHA-256:ae082491cc07d60c014ca928c406aed72c4b1ead4c33076216c77fd2d242f74d",
|
||||||
|
"size": "115607420"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"host": "x86_64-mingw32",
|
||||||
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/x86_64-w64-mingw32.arm-none-eabi-8ec9d6f.240929.zip",
|
||||||
|
"archiveFileName": "x86_64-w64-mingw32.arm-none-eabi-8ec9d6f.240929.zip",
|
||||||
|
"checksum": "SHA-256:a1ac18cde856fa01aafc9985a719f3749abd3588ac6725d1781f02da94b84d54",
|
||||||
|
"size": "128268207"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "4.0.1-8ec9d6f",
|
||||||
"name": "pqt-picotool",
|
"name": "pqt-picotool",
|
||||||
"systems": [
|
"systems": [
|
||||||
{
|
{
|
||||||
"host": "arm64-apple-darwin",
|
"host": "arm64-apple-darwin",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/aarch64-apple-darwin20.4.picotool-8a9af99.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/aarch64-apple-darwin20.4.picotool-8a9af99.240929.tar.gz",
|
||||||
"archiveFileName": "aarch64-apple-darwin20.4.picotool-8a9af99.240919.tar.gz",
|
"archiveFileName": "aarch64-apple-darwin20.4.picotool-8a9af99.240929.tar.gz",
|
||||||
"checksum": "SHA-256:3e20acb5e8c97448a5ffa316cfc74307df0fd887cf4364d787956ddc359608c1",
|
"checksum": "SHA-256:71eb93270747c5910893f36f5552affd4c254f085b4a7850765b29eec28040ec",
|
||||||
"size": "856203"
|
"size": "856205"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "aarch64-linux-gnu",
|
"host": "aarch64-linux-gnu",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/aarch64-linux-gnu.picotool-8a9af99.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/aarch64-linux-gnu.picotool-8a9af99.240929.tar.gz",
|
||||||
"archiveFileName": "aarch64-linux-gnu.picotool-8a9af99.240919.tar.gz",
|
"archiveFileName": "aarch64-linux-gnu.picotool-8a9af99.240929.tar.gz",
|
||||||
"checksum": "SHA-256:67a912dd712a1717bf850205aff9ee4b3f0a289c4d0a87ab62e9f71c433e6d38",
|
"checksum": "SHA-256:1f73e2c6ce8c7503678dfacec3d2ea889e0f5a161912eff68b290cf405206094",
|
||||||
"size": "896504"
|
"size": "896502"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "arm-linux-gnueabihf",
|
"host": "arm-linux-gnueabihf",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/arm-linux-gnueabihf.picotool-8a9af99.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/arm-linux-gnueabihf.picotool-8a9af99.240929.tar.gz",
|
||||||
"archiveFileName": "arm-linux-gnueabihf.picotool-8a9af99.240919.tar.gz",
|
"archiveFileName": "arm-linux-gnueabihf.picotool-8a9af99.240929.tar.gz",
|
||||||
"checksum": "SHA-256:2fa0a0a2affa8991b917c06b89cb3c4be597d120bd920b6258a4f7ce041c877b",
|
"checksum": "SHA-256:6cd60632141f68e1bde7afef93dc5521e78dfff2be421ffddd2da76af5bb3eb1",
|
||||||
"size": "840245"
|
"size": "840254"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "i686-pc-linux-gnu",
|
"host": "i686-pc-linux-gnu",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/i686-linux-gnu.picotool-8a9af99.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/i686-linux-gnu.picotool-8a9af99.240929.tar.gz",
|
||||||
"archiveFileName": "i686-linux-gnu.picotool-8a9af99.240919.tar.gz",
|
"archiveFileName": "i686-linux-gnu.picotool-8a9af99.240929.tar.gz",
|
||||||
"checksum": "SHA-256:b0c8018a58c3d3b1e72698326a38f660c9dbc535a393179a92a009a24a22e90a",
|
"checksum": "SHA-256:bd5acd7d7085ba01bff07fef6ce4a5ba067abd0b8914c33fae371ec87c846d83",
|
||||||
"size": "984649"
|
"size": "984652"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "i686-mingw32",
|
"host": "i686-mingw32",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/i686-w64-mingw32.picotool-8a9af99.240919.zip",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/i686-w64-mingw32.picotool-8a9af99.240929.zip",
|
||||||
"archiveFileName": "i686-w64-mingw32.picotool-8a9af99.240919.zip",
|
"archiveFileName": "i686-w64-mingw32.picotool-8a9af99.240929.zip",
|
||||||
"checksum": "SHA-256:f23a2a4b3994b80f885e28050f5559a2875294a62de431d7e0d254a800caece2",
|
"checksum": "SHA-256:9f7c90c4f05996f5156beb4dc06edfc7e0b36006edd6ad273daca0085ea19ac6",
|
||||||
"size": "1335369"
|
"size": "1335369"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "x86_64-apple-darwin",
|
"host": "x86_64-apple-darwin",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/x86_64-apple-darwin20.4.picotool-8a9af99.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/x86_64-apple-darwin20.4.picotool-8a9af99.240929.tar.gz",
|
||||||
"archiveFileName": "x86_64-apple-darwin20.4.picotool-8a9af99.240919.tar.gz",
|
"archiveFileName": "x86_64-apple-darwin20.4.picotool-8a9af99.240929.tar.gz",
|
||||||
"checksum": "SHA-256:86b55d51fc9e154ce209a067afac54116bce2bac823f5f3ec3687b7a021230a5",
|
"checksum": "SHA-256:a8d30f63e421901000d2b2520f047d1dc586f827f41a3ef52056fd92272ff051",
|
||||||
"size": "829476"
|
"size": "829477"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "x86_64-pc-linux-gnu",
|
"host": "x86_64-pc-linux-gnu",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/x86_64-linux-gnu.picotool-8a9af99.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/x86_64-linux-gnu.picotool-8a9af99.240929.tar.gz",
|
||||||
"archiveFileName": "x86_64-linux-gnu.picotool-8a9af99.240919.tar.gz",
|
"archiveFileName": "x86_64-linux-gnu.picotool-8a9af99.240929.tar.gz",
|
||||||
"checksum": "SHA-256:1192b43bcacfa33cc5b2d58e4686c7cbf3e4e77fd819d2fbf2cc797a3e174bb8",
|
"checksum": "SHA-256:4c5b43afd1e9dba149753089c9715e110f2612cbd47fa005fb033adbe5237ad8",
|
||||||
"size": "926046"
|
"size": "926046"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "x86_64-mingw32",
|
"host": "x86_64-mingw32",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/x86_64-w64-mingw32.picotool-8a9af99.240919.zip",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/x86_64-w64-mingw32.picotool-8a9af99.240929.zip",
|
||||||
"archiveFileName": "x86_64-w64-mingw32.picotool-8a9af99.240919.zip",
|
"archiveFileName": "x86_64-w64-mingw32.picotool-8a9af99.240929.zip",
|
||||||
"checksum": "SHA-256:86a95cae6edfbefe1725f66fcea9ebe20d19bdc8708371d32a21473ca197967d",
|
"checksum": "SHA-256:d4a43c8172f6b32de412a08e4deac4ef50218f5955c9cda85411b252fcecaea3",
|
||||||
"size": "1270392"
|
"size": "1270392"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"version": "2.3.0-dfd82b2",
|
"version": "4.0.1-8ec9d6f",
|
||||||
"name": "pqt-openocd",
|
"name": "pqt-openocd",
|
||||||
"systems": [
|
"systems": [
|
||||||
{
|
{
|
||||||
"host": "arm64-apple-darwin",
|
"host": "arm64-apple-darwin",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/aarch64-apple-darwin20.4.openocd-ebec9504d.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/aarch64-apple-darwin20.4.openocd-ebec9504d.240929.tar.gz",
|
||||||
"archiveFileName": "aarch64-apple-darwin20.4.openocd-ebec9504d.240919.tar.gz",
|
"archiveFileName": "aarch64-apple-darwin20.4.openocd-ebec9504d.240929.tar.gz",
|
||||||
"checksum": "SHA-256:eb89c3fb9d797e6dadbc14a866d1cfe27b425689a32687773aef6bf3dbe8d855",
|
"checksum": "SHA-256:d2f2e615b45cb57dad5bf8cc8637dc047f0e2a2d6d07907b961f82fdc9d9dff1",
|
||||||
"size": "1981014"
|
"size": "1981025"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "aarch64-linux-gnu",
|
"host": "aarch64-linux-gnu",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/aarch64-linux-gnu.openocd-ebec9504d.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/aarch64-linux-gnu.openocd-ebec9504d.240929.tar.gz",
|
||||||
"archiveFileName": "aarch64-linux-gnu.openocd-ebec9504d.240919.tar.gz",
|
"archiveFileName": "aarch64-linux-gnu.openocd-ebec9504d.240929.tar.gz",
|
||||||
"checksum": "SHA-256:845e7a4918b8ee0fea7854b0d7b973009390b245560fc1699be71d0c5470ff71",
|
"checksum": "SHA-256:b9f98837bce6da1e7d2229d8e2a9a2736a433356b82cea678b8fc4e95c3cd30f",
|
||||||
"size": "7440912"
|
"size": "7354446"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "arm-linux-gnueabihf",
|
"host": "arm-linux-gnueabihf",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/arm-linux-gnueabihf.openocd-ebec9504d.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/arm-linux-gnueabihf.openocd-ebec9504d.240929.tar.gz",
|
||||||
"archiveFileName": "arm-linux-gnueabihf.openocd-ebec9504d.240919.tar.gz",
|
"archiveFileName": "arm-linux-gnueabihf.openocd-ebec9504d.240929.tar.gz",
|
||||||
"checksum": "SHA-256:4e9278e8777af01f90c51dc7fb9d5c8c912c11a9c3597a3d8b4f314d17f17ed4",
|
"checksum": "SHA-256:5a13e718029d5b86fef880f78e60e7521fcf1952911cd65b4cbfc8ef09a5d37c",
|
||||||
"size": "7296425"
|
"size": "7209884"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "i686-pc-linux-gnu",
|
"host": "i686-pc-linux-gnu",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/i686-linux-gnu.openocd-ebec9504d.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/i686-linux-gnu.openocd-ebec9504d.240929.tar.gz",
|
||||||
"archiveFileName": "i686-linux-gnu.openocd-ebec9504d.240919.tar.gz",
|
"archiveFileName": "i686-linux-gnu.openocd-ebec9504d.240929.tar.gz",
|
||||||
"checksum": "SHA-256:ace2a6c14e7c1e89921b50e1e0735ac2999b193d8baf9e9d35fbdb2b6a870d20",
|
"checksum": "SHA-256:fa324ab0a8a20dab6335196e6b8ebb5fb0c083dc4d8017140287068bf85b3b5f",
|
||||||
"size": "7031049"
|
"size": "6944581"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "i686-mingw32",
|
"host": "i686-mingw32",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/i686-w64-mingw32.openocd-ebec9504d.240919.zip",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/i686-w64-mingw32.openocd-ebec9504d.240929.zip",
|
||||||
"archiveFileName": "i686-w64-mingw32.openocd-ebec9504d.240919.zip",
|
"archiveFileName": "i686-w64-mingw32.openocd-ebec9504d.240929.zip",
|
||||||
"checksum": "SHA-256:0082def9373e56608c584e94c8c199c44f8fd00153557878478edaf383d496a9",
|
"checksum": "SHA-256:f0d9cd099bb80d9f68b3554ef9233b2576c4959b4d2ce7444a9a5358d3bd40e0",
|
||||||
"size": "2597198"
|
"size": "2597199"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "x86_64-apple-darwin",
|
"host": "x86_64-apple-darwin",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/x86_64-apple-darwin20.4.openocd-ebec9504d.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/x86_64-apple-darwin20.4.openocd-ebec9504d.240929.tar.gz",
|
||||||
"archiveFileName": "x86_64-apple-darwin20.4.openocd-ebec9504d.240919.tar.gz",
|
"archiveFileName": "x86_64-apple-darwin20.4.openocd-ebec9504d.240929.tar.gz",
|
||||||
"checksum": "SHA-256:1e0fe05bed6ab8d4e41898496b45940893fe308d1b66c49448fefa9c67d41024",
|
"checksum": "SHA-256:e06283df22585bf6a83742d364d3594f7bcd724aa8be83de0446c3d1eaca7a58",
|
||||||
"size": "3193799"
|
"size": "3193818"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "x86_64-pc-linux-gnu",
|
"host": "x86_64-pc-linux-gnu",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/x86_64-linux-gnu.openocd-ebec9504d.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/x86_64-linux-gnu.openocd-ebec9504d.240929.tar.gz",
|
||||||
"archiveFileName": "x86_64-linux-gnu.openocd-ebec9504d.240919.tar.gz",
|
"archiveFileName": "x86_64-linux-gnu.openocd-ebec9504d.240929.tar.gz",
|
||||||
"checksum": "SHA-256:8ddae277a21f485636989903b2ae0dbf98e5ae8d58c80bf73782bef217cf151b",
|
"checksum": "SHA-256:d8dd0740e16414488de35f5ca1ddfcfe85763fe25d55a46cb9df8698ea83836d",
|
||||||
"size": "7462299"
|
"size": "7375538"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "x86_64-mingw32",
|
"host": "x86_64-mingw32",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/x86_64-w64-mingw32.openocd-ebec9504d.240919.zip",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/x86_64-w64-mingw32.openocd-ebec9504d.240929.zip",
|
||||||
"archiveFileName": "x86_64-w64-mingw32.openocd-ebec9504d.240919.zip",
|
"archiveFileName": "x86_64-w64-mingw32.openocd-ebec9504d.240929.zip",
|
||||||
"checksum": "SHA-256:a5d27ca4f6fa1e05f55d287c2cfdb124c47b3c064bf10c4f660ddd97dda8ed23",
|
"checksum": "SHA-256:4c6463c2818f7b9623d1c08c17c6e6036bd8d522631098d8befde5b66ab312f9",
|
||||||
"size": "2541780"
|
"size": "2541780"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
@ -562,188 +629,188 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"version": "2.3.0-dfd82b2",
|
"version": "4.0.1-8ec9d6f",
|
||||||
"name": "pqt-gcc",
|
"name": "pqt-gcc-riscv",
|
||||||
"systems": [
|
"systems": [
|
||||||
{
|
{
|
||||||
"host": "arm64-apple-darwin",
|
"host": "arm64-apple-darwin",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/aarch64-apple-darwin20.4.arm-none-eabi-dfd82b2.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/aarch64-apple-darwin20.4.riscv32-unknown-elf-8ec9d6f.240929.tar.gz",
|
||||||
"archiveFileName": "aarch64-apple-darwin20.4.arm-none-eabi-dfd82b2.240919.tar.gz",
|
"archiveFileName": "aarch64-apple-darwin20.4.riscv32-unknown-elf-8ec9d6f.240929.tar.gz",
|
||||||
"checksum": "SHA-256:9a0bce8ae3d28489cdc2bf4d1d849b7b9c93f13b74f2449d07499f224801ed99",
|
"checksum": "SHA-256:2dc5495acf7de48ce8e1c3f723e78102ad06add8e8e5dee86bf1dc05b25147ad",
|
||||||
"size": "96802517"
|
"size": "139017383"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "aarch64-linux-gnu",
|
"host": "aarch64-linux-gnu",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/aarch64-linux-gnu.arm-none-eabi-dfd82b2.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/aarch64-linux-gnu.riscv32-unknown-elf-8ec9d6f.240929.tar.gz",
|
||||||
"archiveFileName": "aarch64-linux-gnu.arm-none-eabi-dfd82b2.240919.tar.gz",
|
"archiveFileName": "aarch64-linux-gnu.riscv32-unknown-elf-8ec9d6f.240929.tar.gz",
|
||||||
"checksum": "SHA-256:04dfe507037553fb5b0844bfc674d7f39cb8fa30fedbd72739b4c5324b260e04",
|
"checksum": "SHA-256:5d70f84ee56d68583ff61eff6461a4f3e2ecfcd445ffecdbb53e944dd229de5e",
|
||||||
"size": "103997060"
|
"size": "148943445"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "arm-linux-gnueabihf",
|
"host": "arm-linux-gnueabihf",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/arm-linux-gnueabihf.arm-none-eabi-dfd82b2.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/arm-linux-gnueabihf.riscv32-unknown-elf-8ec9d6f.240929.tar.gz",
|
||||||
"archiveFileName": "arm-linux-gnueabihf.arm-none-eabi-dfd82b2.240919.tar.gz",
|
"archiveFileName": "arm-linux-gnueabihf.riscv32-unknown-elf-8ec9d6f.240929.tar.gz",
|
||||||
"checksum": "SHA-256:365dd442d1d2cc284ddc7c1df7f96620e4b9169de268f4c2c2dd85f515724838",
|
"checksum": "SHA-256:65a3cd450d1b2a18e4bb6192f375e98e82a9808545d517a21357900a931f83f2",
|
||||||
"size": "97831453"
|
"size": "142237277"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "i686-pc-linux-gnu",
|
"host": "i686-pc-linux-gnu",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/i686-linux-gnu.arm-none-eabi-dfd82b2.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/i686-linux-gnu.riscv32-unknown-elf-8ec9d6f.240929.tar.gz",
|
||||||
"archiveFileName": "i686-linux-gnu.arm-none-eabi-dfd82b2.240919.tar.gz",
|
"archiveFileName": "i686-linux-gnu.riscv32-unknown-elf-8ec9d6f.240929.tar.gz",
|
||||||
"checksum": "SHA-256:8844d6c9f9040a673c0354b9fdc413faaa8f4075292f8b9fdefca020c0a7cd03",
|
"checksum": "SHA-256:130a9d0e970609dd27f70a27d5d34ed927b6a270f956f52aec3b636a206d86f6",
|
||||||
"size": "106646523"
|
"size": "153960388"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "i686-mingw32",
|
"host": "i686-mingw32",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/i686-w64-mingw32.arm-none-eabi-dfd82b2.240919.zip",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/i686-w64-mingw32.riscv32-unknown-elf-8ec9d6f.240929.zip",
|
||||||
"archiveFileName": "i686-w64-mingw32.arm-none-eabi-dfd82b2.240919.zip",
|
"archiveFileName": "i686-w64-mingw32.riscv32-unknown-elf-8ec9d6f.240929.zip",
|
||||||
"checksum": "SHA-256:11ff0b24c557cf8334450c6f4826230ec2f25efbf0792f506c3009e2663205ea",
|
"checksum": "SHA-256:25f985cd7ff242fa93a808582911545529eeab2d84b16ac96509425c11249c36",
|
||||||
"size": "113765075"
|
"size": "159523471"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "x86_64-apple-darwin",
|
"host": "x86_64-apple-darwin",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/x86_64-apple-darwin20.4.arm-none-eabi-dfd82b2.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/x86_64-apple-darwin20.4.riscv32-unknown-elf-8ec9d6f.240929.tar.gz",
|
||||||
"archiveFileName": "x86_64-apple-darwin20.4.arm-none-eabi-dfd82b2.240919.tar.gz",
|
"archiveFileName": "x86_64-apple-darwin20.4.riscv32-unknown-elf-8ec9d6f.240929.tar.gz",
|
||||||
"checksum": "SHA-256:c11b7f19751a13ba2fb456eaf209472666d77dec8720d51ef44091b8a6fadfa9",
|
"checksum": "SHA-256:4144abfef1c69cee272b6621dd995a5e88ff1e3cf646c8da30d64d9b1cd44b47",
|
||||||
"size": "108052800"
|
"size": "153526986"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "x86_64-pc-linux-gnu",
|
"host": "x86_64-pc-linux-gnu",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/x86_64-linux-gnu.arm-none-eabi-dfd82b2.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/x86_64-linux-gnu.riscv32-unknown-elf-8ec9d6f.240929.tar.gz",
|
||||||
"archiveFileName": "x86_64-linux-gnu.arm-none-eabi-dfd82b2.240919.tar.gz",
|
"archiveFileName": "x86_64-linux-gnu.riscv32-unknown-elf-8ec9d6f.240929.tar.gz",
|
||||||
"checksum": "SHA-256:1f37b78a9d371659e2a45b8c602046ec6a1c920f36959fc702db9c68cc2c778c",
|
"checksum": "SHA-256:63ed149ba20ddc215479eaae5f1709a6bd882f4cd583a52ac2171f9096fda3a5",
|
||||||
"size": "106789920"
|
"size": "151383989"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "x86_64-mingw32",
|
"host": "x86_64-mingw32",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/x86_64-w64-mingw32.arm-none-eabi-dfd82b2.240919.zip",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/x86_64-w64-mingw32.riscv32-unknown-elf-8ec9d6f.240929.zip",
|
||||||
"archiveFileName": "x86_64-w64-mingw32.arm-none-eabi-dfd82b2.240919.zip",
|
"archiveFileName": "x86_64-w64-mingw32.riscv32-unknown-elf-8ec9d6f.240929.zip",
|
||||||
"checksum": "SHA-256:ee3ed6354ccf71fcfdb2083859ffafc0e2dd6982906f14d3cdb501a85db6cbd8",
|
"checksum": "SHA-256:182b38d22b8a4447b8b335c1ce482d16bfb0720be51d6368b404c8628a372dd8",
|
||||||
"size": "117655702"
|
"size": "163390255"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"version": "2.3.0-dfd82b2",
|
"version": "4.0.1-8ec9d6f",
|
||||||
"name": "pqt-pioasm",
|
"name": "pqt-pioasm",
|
||||||
"systems": [
|
"systems": [
|
||||||
{
|
{
|
||||||
"host": "arm64-apple-darwin",
|
"host": "arm64-apple-darwin",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/aarch64-apple-darwin20.4.pioasm-efe2103.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/aarch64-apple-darwin20.4.pioasm-efe2103.240929.tar.gz",
|
||||||
"archiveFileName": "aarch64-apple-darwin20.4.pioasm-efe2103.240919.tar.gz",
|
"archiveFileName": "aarch64-apple-darwin20.4.pioasm-efe2103.240929.tar.gz",
|
||||||
"checksum": "SHA-256:7db03dddebe3f2d736fb88fd1435076b0874667a9be8cfc18a273acc75067a11",
|
"checksum": "SHA-256:6afebe366be3aefd1caa268ec309bd486d7f1f98eedba033ba3b83a0653f1184",
|
||||||
"size": "267871"
|
"size": "267869"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "aarch64-linux-gnu",
|
"host": "aarch64-linux-gnu",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/aarch64-linux-gnu.pioasm-efe2103.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/aarch64-linux-gnu.pioasm-efe2103.240929.tar.gz",
|
||||||
"archiveFileName": "aarch64-linux-gnu.pioasm-efe2103.240919.tar.gz",
|
"archiveFileName": "aarch64-linux-gnu.pioasm-efe2103.240929.tar.gz",
|
||||||
"checksum": "SHA-256:d71c165b8ac243c578c3615f7a74857a6131c235bbf623b55437f3716d0d3097",
|
"checksum": "SHA-256:48ca0fe638bf8ccca654c0588678178c3d9c2f933892dbd67244fe5f5637eacb",
|
||||||
"size": "644219"
|
"size": "644212"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "arm-linux-gnueabihf",
|
"host": "arm-linux-gnueabihf",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/arm-linux-gnueabihf.pioasm-efe2103.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/arm-linux-gnueabihf.pioasm-efe2103.240929.tar.gz",
|
||||||
"archiveFileName": "arm-linux-gnueabihf.pioasm-efe2103.240919.tar.gz",
|
"archiveFileName": "arm-linux-gnueabihf.pioasm-efe2103.240929.tar.gz",
|
||||||
"checksum": "SHA-256:c8bed422247870a1163fa0fa967b4c49432dbdb2bf4b4a058f6bcfa03eaba637",
|
"checksum": "SHA-256:06001c3eaf5fbe29e94634218569d13c8d61d6007f7b8da0cca1e7f1fd9414cc",
|
||||||
"size": "576895"
|
"size": "576904"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "i686-pc-linux-gnu",
|
"host": "i686-pc-linux-gnu",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/i686-linux-gnu.pioasm-efe2103.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/i686-linux-gnu.pioasm-efe2103.240929.tar.gz",
|
||||||
"archiveFileName": "i686-linux-gnu.pioasm-efe2103.240919.tar.gz",
|
"archiveFileName": "i686-linux-gnu.pioasm-efe2103.240929.tar.gz",
|
||||||
"checksum": "SHA-256:12774501242f8d20d29a3d5461326ede3ab6906a98e55539aa908d9574994285",
|
"checksum": "SHA-256:09c4db3bf797b2a9f5edc3db05717c32c2fdd045ebca12ffba1c3ba037759470",
|
||||||
"size": "703370"
|
"size": "703370"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "i686-mingw32",
|
"host": "i686-mingw32",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/i686-w64-mingw32.pioasm-efe2103.240919.zip",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/i686-w64-mingw32.pioasm-efe2103.240929.zip",
|
||||||
"archiveFileName": "i686-w64-mingw32.pioasm-efe2103.240919.zip",
|
"archiveFileName": "i686-w64-mingw32.pioasm-efe2103.240929.zip",
|
||||||
"checksum": "SHA-256:be3705551828925cde12e59ee6ae54d9de4c0fea862f4def00f72d8ea4792c49",
|
"checksum": "SHA-256:50ec452554c000c692e1f8ee6657a5bb47d99aae62ac10cbf2da3e97cdc45db1",
|
||||||
"size": "797522"
|
"size": "797527"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "x86_64-apple-darwin",
|
"host": "x86_64-apple-darwin",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/x86_64-apple-darwin20.4.pioasm-efe2103.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/x86_64-apple-darwin20.4.pioasm-efe2103.240929.tar.gz",
|
||||||
"archiveFileName": "x86_64-apple-darwin20.4.pioasm-efe2103.240919.tar.gz",
|
"archiveFileName": "x86_64-apple-darwin20.4.pioasm-efe2103.240929.tar.gz",
|
||||||
"checksum": "SHA-256:c4f24d6cb591c3e9b9e9d99a3b207e941e8ed0d27810a322ce94da18554ea47c",
|
"checksum": "SHA-256:9161b685fe394a6bbc19e3f14082d018d230a33941edd523d163d158f0480422",
|
||||||
"size": "780427"
|
"size": "780453"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "x86_64-pc-linux-gnu",
|
"host": "x86_64-pc-linux-gnu",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/x86_64-linux-gnu.pioasm-efe2103.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/x86_64-linux-gnu.pioasm-efe2103.240929.tar.gz",
|
||||||
"archiveFileName": "x86_64-linux-gnu.pioasm-efe2103.240919.tar.gz",
|
"archiveFileName": "x86_64-linux-gnu.pioasm-efe2103.240929.tar.gz",
|
||||||
"checksum": "SHA-256:7827603f11dd3bcda23c92440913980ee7eff6e867f686aa8188de7dea7dbb6d",
|
"checksum": "SHA-256:974481d6b9678c73cefc3c7df657647bc216f2d6c2bdef12236aa06542246973",
|
||||||
"size": "649758"
|
"size": "649767"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "x86_64-mingw32",
|
"host": "x86_64-mingw32",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/x86_64-w64-mingw32.pioasm-efe2103.240919.zip",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/x86_64-w64-mingw32.pioasm-efe2103.240929.zip",
|
||||||
"archiveFileName": "x86_64-w64-mingw32.pioasm-efe2103.240919.zip",
|
"archiveFileName": "x86_64-w64-mingw32.pioasm-efe2103.240929.zip",
|
||||||
"checksum": "SHA-256:ad047233dd4522474723e59e4b627d3f85ac3bdda75a32abd9797895f170909d",
|
"checksum": "SHA-256:73cc318e0b1df84fcb661ae9322e22a52f49678f44d3766b4baa82b328b19822",
|
||||||
"size": "929506"
|
"size": "929510"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"version": "2.3.0-dfd82b2",
|
"version": "4.0.1-8ec9d6f",
|
||||||
"name": "pqt-mklittlefs",
|
"name": "pqt-mklittlefs",
|
||||||
"systems": [
|
"systems": [
|
||||||
{
|
{
|
||||||
"host": "arm64-apple-darwin",
|
"host": "arm64-apple-darwin",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/aarch64-apple-darwin20.4.mklittlefs-2f7654f.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/aarch64-apple-darwin20.4.mklittlefs-2f7654f.240929.tar.gz",
|
||||||
"archiveFileName": "aarch64-apple-darwin20.4.mklittlefs-2f7654f.240919.tar.gz",
|
"archiveFileName": "aarch64-apple-darwin20.4.mklittlefs-2f7654f.240929.tar.gz",
|
||||||
"checksum": "SHA-256:fe35b65fd8d9c03dfcd754f10c3e1ca0c750e850ce9a86302ab1e141d1ea8709",
|
"checksum": "SHA-256:09ddf3f856f2828e94c1e3599021265eb1e69ed84d659604a638af4a010f4f3d",
|
||||||
"size": "72514"
|
"size": "72517"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "aarch64-linux-gnu",
|
"host": "aarch64-linux-gnu",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/aarch64-linux-gnu.mklittlefs-2f7654f.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/aarch64-linux-gnu.mklittlefs-2f7654f.240929.tar.gz",
|
||||||
"archiveFileName": "aarch64-linux-gnu.mklittlefs-2f7654f.240919.tar.gz",
|
"archiveFileName": "aarch64-linux-gnu.mklittlefs-2f7654f.240929.tar.gz",
|
||||||
"checksum": "SHA-256:bc97b86b60a1f03635a9f387f64c61a0ad2192a1f7fb4ade60d606921d6ab548",
|
"checksum": "SHA-256:47e276ee0707e78fa4b588ef4346187071ea4be194519d405b8a1da91d34e682",
|
||||||
"size": "684061"
|
"size": "684064"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "arm-linux-gnueabihf",
|
"host": "arm-linux-gnueabihf",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/arm-linux-gnueabihf.mklittlefs-2f7654f.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/arm-linux-gnueabihf.mklittlefs-2f7654f.240929.tar.gz",
|
||||||
"archiveFileName": "arm-linux-gnueabihf.mklittlefs-2f7654f.240919.tar.gz",
|
"archiveFileName": "arm-linux-gnueabihf.mklittlefs-2f7654f.240929.tar.gz",
|
||||||
"checksum": "SHA-256:96fde072a3b5951a3539baaaf47d9c1a8520f2757b6377ef58b7f2c0da4abd2b",
|
"checksum": "SHA-256:f4fb24a675de0bf3575ed6320ae1053d67355bbd3af116933bb1a90c1989bf57",
|
||||||
"size": "632931"
|
"size": "632936"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "i686-pc-linux-gnu",
|
"host": "i686-pc-linux-gnu",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/i686-linux-gnu.mklittlefs-2f7654f.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/i686-linux-gnu.mklittlefs-2f7654f.240929.tar.gz",
|
||||||
"archiveFileName": "i686-linux-gnu.mklittlefs-2f7654f.240919.tar.gz",
|
"archiveFileName": "i686-linux-gnu.mklittlefs-2f7654f.240929.tar.gz",
|
||||||
"checksum": "SHA-256:ea520bf89f4596c0d06d68c47f26a4ce0a181458f0845330f95e38c4e9772d4c",
|
"checksum": "SHA-256:29df0ca122767357a7f14a2b5fb6e6d1f912789086dcb5e3c39b9df8d85f908a",
|
||||||
"size": "665586"
|
"size": "665594"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "i686-mingw32",
|
"host": "i686-mingw32",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/i686-w64-mingw32.mklittlefs-2f7654f.240919.zip",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/i686-w64-mingw32.mklittlefs-2f7654f.240929.zip",
|
||||||
"archiveFileName": "i686-w64-mingw32.mklittlefs-2f7654f.240919.zip",
|
"archiveFileName": "i686-w64-mingw32.mklittlefs-2f7654f.240929.zip",
|
||||||
"checksum": "SHA-256:c5782c8cb3cdeb03abda4fd2fed1dd1655c422920d407845bd85ec007af9f4ef",
|
"checksum": "SHA-256:fa9071ee8f806ca7bf1cc16e1cb2be5588908cff929ec91e007dafa33eb4be1c",
|
||||||
"size": "1232207"
|
"size": "1232212"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "x86_64-apple-darwin",
|
"host": "x86_64-apple-darwin",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/x86_64-apple-darwin20.4.mklittlefs-2f7654f.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/x86_64-apple-darwin20.4.mklittlefs-2f7654f.240929.tar.gz",
|
||||||
"archiveFileName": "x86_64-apple-darwin20.4.mklittlefs-2f7654f.240919.tar.gz",
|
"archiveFileName": "x86_64-apple-darwin20.4.mklittlefs-2f7654f.240929.tar.gz",
|
||||||
"checksum": "SHA-256:7c1732e98752f2b8a6d11f8f058c2a3cf426fa070d730e27d3c15d41bbde0376",
|
"checksum": "SHA-256:50a932d7c0351a70c3ecfce725b2c7bd926ddfb086145c225bb1134ad1b1a5ff",
|
||||||
"size": "621579"
|
"size": "621594"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "x86_64-pc-linux-gnu",
|
"host": "x86_64-pc-linux-gnu",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/x86_64-linux-gnu.mklittlefs-2f7654f.240919.tar.gz",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/x86_64-linux-gnu.mklittlefs-2f7654f.240929.tar.gz",
|
||||||
"archiveFileName": "x86_64-linux-gnu.mklittlefs-2f7654f.240919.tar.gz",
|
"archiveFileName": "x86_64-linux-gnu.mklittlefs-2f7654f.240929.tar.gz",
|
||||||
"checksum": "SHA-256:e194f6c9d0b2e02c6b6cc326ad083581801ecf8f616da44d1755fbec5646b127",
|
"checksum": "SHA-256:aec72ad65cec9a96afda0507605661dfd552d5e304dd654c1b1ebb2bcc9f2d76",
|
||||||
"size": "690458"
|
"size": "690461"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"host": "x86_64-mingw32",
|
"host": "x86_64-mingw32",
|
||||||
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/2.3.0/x86_64-w64-mingw32.mklittlefs-2f7654f.240919.zip",
|
"url": "https://github.com/earlephilhower/pico-quick-toolchain/releases/download/4.0.1/x86_64-w64-mingw32.mklittlefs-2f7654f.240929.zip",
|
||||||
"archiveFileName": "x86_64-w64-mingw32.mklittlefs-2f7654f.240919.zip",
|
"archiveFileName": "x86_64-w64-mingw32.mklittlefs-2f7654f.240929.zip",
|
||||||
"checksum": "SHA-256:bd080b5b4ec7df84d444c72260010905a13744afca79f13e4017e658a56b4005",
|
"checksum": "SHA-256:83f75c88e8e44fa1a38346ccff2e89756ffcfcda96b5d849f9e6563d996081eb",
|
||||||
"size": "1328982"
|
"size": "1328984"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ pluggable_discovery.required.0=builtin:serial-discovery
|
||||||
pluggable_discovery.required.1=builtin:mdns-discovery
|
pluggable_discovery.required.1=builtin:mdns-discovery
|
||||||
pluggable_monitor.required.serial=builtin:serial-monitor
|
pluggable_monitor.required.serial=builtin:serial-monitor
|
||||||
|
|
||||||
runtime.tools.pqt-gcc.path={runtime.platform.path}/system/arm-none-eabi
|
runtime.tools.pqt-gcc.path={runtime.platform.path}/system/{build.toolchain}
|
||||||
runtime.tools.pqt-python3.path={runtime.platform.path}/system/python3
|
runtime.tools.pqt-python3.path={runtime.platform.path}/system/python3
|
||||||
runtime.tools.pqt-mklittlefs.path={runtime.platform.path}/system/mklittlefs
|
runtime.tools.pqt-mklittlefs.path={runtime.platform.path}/system/mklittlefs
|
||||||
runtime.tools.pqt-pioasm.path={runtime.platform.path}/system/pioasm
|
runtime.tools.pqt-pioasm.path={runtime.platform.path}/system/pioasm
|
||||||
|
|
@ -61,7 +61,7 @@ compiler.c.flags=-c {compiler.warning_flags} {compiler.defines} {compiler.flags}
|
||||||
compiler.c.elf.cmd={build.toolchain}-g++
|
compiler.c.elf.cmd={build.toolchain}-g++
|
||||||
compiler.c.elf.flags={compiler.warning_flags} {compiler.defines} {compiler.flags} {build.flags.optimize} -u _printf_float -u _scanf_float
|
compiler.c.elf.flags={compiler.warning_flags} {compiler.defines} {compiler.flags} {build.flags.optimize} -u _printf_float -u _scanf_float
|
||||||
compiler.S.cmd={build.toolchain}-gcc
|
compiler.S.cmd={build.toolchain}-gcc
|
||||||
compiler.S.flags=-c {compiler.warning_flags} {compiler.defines} -g -x assembler-with-cpp -MMD {compiler.includes} -g
|
compiler.S.flags=-c {compiler.warning_flags} {compiler.defines} -g -x assembler-with-cpp -MMD {compiler.includes} {build.toolchainopts} -g
|
||||||
compiler.cpp.cmd={build.toolchain}-g++
|
compiler.cpp.cmd={build.toolchain}-g++
|
||||||
compiler.cpp.flags=-c {compiler.warning_flags} {compiler.defines} {compiler.flags} -MMD {compiler.includes} {build.flags.rtti} -std=gnu++17 -g -pipe
|
compiler.cpp.flags=-c {compiler.warning_flags} {compiler.defines} {compiler.flags} -MMD {compiler.includes} {build.flags.rtti} -std=gnu++17 -g -pipe
|
||||||
|
|
||||||
|
|
@ -72,7 +72,7 @@ compiler.objcopy.eep.flags=-O ihex -j .eeprom --set-section-flags=.eeprom=alloc,
|
||||||
compiler.elf2hex.bin.flags=-O binary
|
compiler.elf2hex.bin.flags=-O binary
|
||||||
compiler.elf2hex.hex.flags=-O ihex -R .eeprom
|
compiler.elf2hex.hex.flags=-O ihex -R .eeprom
|
||||||
compiler.elf2hex.cmd={build.toolchain}-objcopy
|
compiler.elf2hex.cmd={build.toolchain}-objcopy
|
||||||
compiler.ldflags={compiler.wrap} -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--undefined=runtime_init_install_ram_vector_table
|
compiler.ldflags={compiler.wrap} -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--undefined=runtime_init_install_ram_vector_table -Wl,--undefined=__pre_init_runtime_init_clocks -Wl,--undefined=__pre_init_runtime_init_bootrom_reset -Wl,--undefined=__pre_init_runtime_init_early_resets -Wl,--undefined=__pre_init_runtime_init_usb_power_down -Wl,--undefined=__pre_init_runtime_init_clocks -Wl,--undefined=__pre_init_runtime_init_post_clock_resets -Wl,--undefined=__pre_init_runtime_init_spin_locks_reset -Wl,--undefined=__pre_init_runtime_init_boot_locks_reset -Wl,--undefined=__pre_init_runtime_init_bootrom_locking_enable -Wl,--undefined=__pre_init_runtime_init_mutex -Wl,--undefined=__pre_init_runtime_init_default_alarm_pool -Wl,--undefined=__pre_init_first_per_core_initializer -Wl,--undefined=__pre_init_runtime_init_per_core_bootrom_reset -Wl,--undefined=__pre_init_runtime_init_per_core_h3_irq_registers -Wl,--undefined=__pre_init_runtime_init_per_core_irq_priorities
|
||||||
compiler.size.cmd={build.toolchain}-size
|
compiler.size.cmd={build.toolchain}-size
|
||||||
compiler.define=-DARDUINO=
|
compiler.define=-DARDUINO=
|
||||||
compiler.readelf.cmd={build.toolchain}-readelf
|
compiler.readelf.cmd={build.toolchain}-readelf
|
||||||
|
|
|
||||||
23
tests/build-rp2350-riscv.sh
Executable file
23
tests/build-rp2350-riscv.sh
Executable file
|
|
@ -0,0 +1,23 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
cache_dir=$(mktemp -d)
|
||||||
|
|
||||||
|
source "$GITHUB_WORKSPACE"/tests/common.sh
|
||||||
|
|
||||||
|
if [ -z "$BUILD_PARITY" ]; then
|
||||||
|
mod=1
|
||||||
|
rem=0
|
||||||
|
elif [ "$BUILD_PARITY" = "even" ]; then
|
||||||
|
mod=2
|
||||||
|
rem=0
|
||||||
|
elif [ "$BUILD_PARITY" = "odd" ]; then
|
||||||
|
mod=2
|
||||||
|
rem=1
|
||||||
|
fi
|
||||||
|
export FQBN=pico:rp2040:rpipico2:flash=4194304_0,arch=riscv,freq=150,opt=Small,rtti=Disabled,stackprotect=Disabled,exceptions=Disabled,dbgport=Disabled,dbglvl=None,usbstack=picosdk,ipbtstack=ipv4only,uploadmethod=default
|
||||||
|
export PICO_BOARD=rp2350
|
||||||
|
|
||||||
|
install_arduino nodebug
|
||||||
|
build_sketches_with_arduino "$mod" "$rem" ""
|
||||||
|
|
||||||
|
rm -rf "$cache_dir"
|
||||||
|
|
@ -15,7 +15,7 @@ elif [ "$BUILD_PARITY" = "odd" ]; then
|
||||||
rem=1
|
rem=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export FQBN=pico:rp2040:rpipico2:flash=4194304_0,freq=150,opt=Small,rtti=Disabled,stackprotect=Disabled,exceptions=Disabled,dbgport=Disabled,dbglvl=None,usbstack=picosdk,ipbtstack=ipv4only,uploadmethod=default
|
export FQBN=pico:rp2040:rpipico2:flash=4194304_0,arch=arm,freq=150,opt=Small,rtti=Disabled,stackprotect=Disabled,exceptions=Disabled,dbgport=Disabled,dbglvl=None,usbstack=picosdk,ipbtstack=ipv4only,uploadmethod=default
|
||||||
export PICO_BOARD=rp2350
|
export PICO_BOARD=rp2350
|
||||||
|
|
||||||
install_arduino nodebug
|
install_arduino nodebug
|
||||||
|
|
|
||||||
|
|
@ -234,7 +234,7 @@ function install_ide()
|
||||||
fi
|
fi
|
||||||
# Set custom warnings for all builds (i.e. could add -Wextra at some point)
|
# Set custom warnings for all builds (i.e. could add -Wextra at some point)
|
||||||
echo "compiler.c.extra_flags=-Wall -Wextra -Werror -Wno-ignored-qualifiers $debug_flags" > rp2040/platform.local.txt
|
echo "compiler.c.extra_flags=-Wall -Wextra -Werror -Wno-ignored-qualifiers $debug_flags" > rp2040/platform.local.txt
|
||||||
echo "compiler.cpp.extra_flags=-Wall -Wextra -Werror -Wno-ignored-qualifiers $debug_flags" >> rp2040/platform.local.txt
|
echo "compiler.cpp.extra_flags=-Wall -Wextra -Werror -Wno-ignored-qualifiers -Wno-overloaded-virtual $debug_flags" >> rp2040/platform.local.txt
|
||||||
echo -e "\n----platform.local.txt----"
|
echo -e "\n----platform.local.txt----"
|
||||||
cat rp2040/platform.local.txt
|
cat rp2040/platform.local.txt
|
||||||
echo -e "\n----\n"
|
echo -e "\n----\n"
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"build": {
|
"build": {
|
||||||
"arduino": {
|
"arduino": {
|
||||||
"earlephilhower": {
|
"earlephilhower": {
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
"boot2_source": "none.S",
|
||||||
"usb_vid": "0x239A",
|
"usb_vid": "0x239A",
|
||||||
"usb_pid": "0x814F"
|
"usb_pid": "0x814F"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"build": {
|
"build": {
|
||||||
"arduino": {
|
"arduino": {
|
||||||
"earlephilhower": {
|
"earlephilhower": {
|
||||||
"boot2_source": "boot2_generic_03h_2_padded_checksum.S",
|
"boot2_source": "none.S",
|
||||||
"usb_vid": "0x2E8A",
|
"usb_vid": "0x2E8A",
|
||||||
"usb_pid": "0x109B"
|
"usb_pid": "0x109B"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"build": {
|
"build": {
|
||||||
"arduino": {
|
"arduino": {
|
||||||
"earlephilhower": {
|
"earlephilhower": {
|
||||||
"boot2_source": "boot2_generic_03h_2_padded_checksum.S",
|
"boot2_source": "none.S",
|
||||||
"usb_vid": "0x2E8A",
|
"usb_vid": "0x2E8A",
|
||||||
"usb_pid": "0x109A"
|
"usb_pid": "0x109A"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"build": {
|
"build": {
|
||||||
"arduino": {
|
"arduino": {
|
||||||
"earlephilhower": {
|
"earlephilhower": {
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
"boot2_source": "none.S",
|
||||||
"usb_vid": "0x2E8A",
|
"usb_vid": "0x2E8A",
|
||||||
"usb_pid": "0x1093"
|
"usb_pid": "0x1093"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"build": {
|
"build": {
|
||||||
"arduino": {
|
"arduino": {
|
||||||
"earlephilhower": {
|
"earlephilhower": {
|
||||||
"boot2_source": "boot2_generic_03h_2_padded_checksum.S",
|
"boot2_source": "none.S",
|
||||||
"usb_vid": "0x2E8A",
|
"usb_vid": "0x2E8A",
|
||||||
"usb_pid": "0x1096"
|
"usb_pid": "0x1096"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"build": {
|
"build": {
|
||||||
"arduino": {
|
"arduino": {
|
||||||
"earlephilhower": {
|
"earlephilhower": {
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
"boot2_source": "none.S",
|
||||||
"usb_vid": "0x2E8A",
|
"usb_vid": "0x2E8A",
|
||||||
"usb_pid": "0x10AE"
|
"usb_pid": "0x10AE"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"build": {
|
"build": {
|
||||||
"arduino": {
|
"arduino": {
|
||||||
"earlephilhower": {
|
"earlephilhower": {
|
||||||
"boot2_source": "boot2_generic_03h_4_padded_checksum.S",
|
"boot2_source": "none.S",
|
||||||
"usb_vid": "0x2E8A",
|
"usb_vid": "0x2E8A",
|
||||||
"usb_pid": "0xF00F"
|
"usb_pid": "0xF00F"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"build": {
|
"build": {
|
||||||
"arduino": {
|
"arduino": {
|
||||||
"earlephilhower": {
|
"earlephilhower": {
|
||||||
"boot2_source": "boot2_w25q080_4_padded_checksum.S",
|
"boot2_source": "none.S",
|
||||||
"usb_vid": "0x2E8A",
|
"usb_vid": "0x2E8A",
|
||||||
"usb_pid": "0x1018"
|
"usb_pid": "0x1018"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"build": {
|
"build": {
|
||||||
"arduino": {
|
"arduino": {
|
||||||
"earlephilhower": {
|
"earlephilhower": {
|
||||||
"boot2_source": "boot2_generic_03h_4_padded_checksum.S",
|
"boot2_source": "none.S",
|
||||||
"usb_vid": "0x2E8A",
|
"usb_vid": "0x2E8A",
|
||||||
"usb_pid": "0x100A"
|
"usb_pid": "0x100A"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"build": {
|
"build": {
|
||||||
"arduino": {
|
"arduino": {
|
||||||
"earlephilhower": {
|
"earlephilhower": {
|
||||||
"boot2_source": "boot2_w25q080_4_padded_checksum.S",
|
"boot2_source": "none.S",
|
||||||
"usb_vid": "0x2E8A",
|
"usb_vid": "0x2E8A",
|
||||||
"usb_pid": "0x100B"
|
"usb_pid": "0x100B"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"build": {
|
"build": {
|
||||||
"arduino": {
|
"arduino": {
|
||||||
"earlephilhower": {
|
"earlephilhower": {
|
||||||
"boot2_source": "boot2_generic_03h_2_padded_checksum.S",
|
"boot2_source": "none.S",
|
||||||
"usb_vid": "0x2E8A",
|
"usb_vid": "0x2E8A",
|
||||||
"usb_pid": "0x000F"
|
"usb_pid": "0x000F"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"build": {
|
"build": {
|
||||||
"arduino": {
|
"arduino": {
|
||||||
"earlephilhower": {
|
"earlephilhower": {
|
||||||
"boot2_source": "boot2_generic_03h_2_padded_checksum.S",
|
"boot2_source": "none.S",
|
||||||
"usb_vid": "0x1209",
|
"usb_vid": "0x1209",
|
||||||
"usb_pid": "0xA183"
|
"usb_pid": "0xA183"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"build": {
|
"build": {
|
||||||
"arduino": {
|
"arduino": {
|
||||||
"earlephilhower": {
|
"earlephilhower": {
|
||||||
"boot2_source": "boot2_generic_03h_2_padded_checksum.S",
|
"boot2_source": "none.S",
|
||||||
"usb_vid": "0x1209",
|
"usb_vid": "0x1209",
|
||||||
"usb_pid": "0xA184"
|
"usb_pid": "0xA184"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"build": {
|
"build": {
|
||||||
"arduino": {
|
"arduino": {
|
||||||
"earlephilhower": {
|
"earlephilhower": {
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
"boot2_source": "none.S",
|
||||||
"usb_vid": "0x1B4F",
|
"usb_vid": "0x1B4F",
|
||||||
"usb_pid": "0x0026"
|
"usb_pid": "0x0026"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,11 +14,17 @@ all2: bearssl/README.txt
|
||||||
PATH="$(PWD)/../../system/arm-none-eabi/bin/:$(PATH)" && arm-none-eabi-gcc --version && cd bearssl && $(MAKE) CONF=pico2 clean all
|
PATH="$(PWD)/../../system/arm-none-eabi/bin/:$(PATH)" && arm-none-eabi-gcc --version && cd bearssl && $(MAKE) CONF=pico2 clean all
|
||||||
|
|
||||||
install2: all2 version-header
|
install2: all2 version-header
|
||||||
cp bearssl/pico/libbearssl.a ../../lib/rp2350/.
|
cp bearssl/pico2/libbearssl.a ../../lib/rp2350/.
|
||||||
ar d ../../lib/rp2350/libbearssl.a `ar t ../../lib/rp2350/libbearssl.a | egrep 'x86|sse|pwr8|i62|m32|m62|m64|ct64|ctmul64'` # Remove unneeded objects
|
ar d ../../lib/rp2350/libbearssl.a `ar t ../../lib/rp2350/libbearssl.a | egrep 'x86|sse|pwr8|i62|m32|m62|m64|ct64|ctmul64'` # Remove unneeded objects
|
||||||
cp bearssl/inc/bearssl*.h ../../include/bearssl/.
|
cp bearssl/inc/bearssl*.h ../../include/bearssl/.
|
||||||
|
|
||||||
bearssl/README.txt:
|
all2rv: bearssl/README.txt
|
||||||
|
PATH="$(PWD)/../../system/riscv32-unknown-elf/bin/:$(PATH)" && riscv32-unknown-elf-gcc --version && cd bearssl && $(MAKE) CONF=pico2rv clean all
|
||||||
|
|
||||||
|
install2rv: all2rv version-header
|
||||||
|
cp bearssl/pico2rv/libbearssl.a ../../lib/rp2350-riscv/.
|
||||||
|
ar d ../../lib/rp2350-riscv/libbearssl.a `ar t ../../lib/rp2350-riscv/libbearssl.a | egrep 'x86|sse|pwr8|i62|m32|m62|m64|ct64|ctmul64'` # Remove unneeded objects
|
||||||
|
cp bearssl/inc/bearssl*.h ../../include/bearssl/.
|
||||||
|
|
||||||
bearssl/README.txt:
|
bearssl/README.txt:
|
||||||
git submodule update --init --recursive bearssl
|
git submodule update --init --recursive bearssl
|
||||||
|
|
|
||||||
|
|
@ -8,10 +8,15 @@ if (${cpu} MATCHES "rp2040")
|
||||||
set(PICO_BOARD pico_w)
|
set(PICO_BOARD pico_w)
|
||||||
set(PICO_PLATFORM rp2040)
|
set(PICO_PLATFORM rp2040)
|
||||||
set(PICO_CYW43_SUPPORTED 1)
|
set(PICO_CYW43_SUPPORTED 1)
|
||||||
elseif(${cpu} MATCHES "rp2350")
|
elseif(${cpu} MATCHES "rp2350$")
|
||||||
set(PICO_BOARD solderparty_rp2350_stamp_xl) # Pico2 sets to RP2350A which disables all code for RP2350B
|
set(PICO_BOARD solderparty_rp2350_stamp_xl) # Pico2 sets to RP2350A which disables all code for RP2350B
|
||||||
set(PICO_PLATFORM rp2350)
|
set(PICO_PLATFORM rp2350)
|
||||||
set(PICO_CYW43_SUPPORTED 0)
|
set(PICO_CYW43_SUPPORTED 0)
|
||||||
|
elseif(${cpu} MATCHES "rp2350-riscv$")
|
||||||
|
message(INFO "Building RISCV")
|
||||||
|
set(PICO_BOARD solderparty_rp2350_stamp_xl) # Pico2 sets to RP2350A which disables all code for RP2350B
|
||||||
|
set(PICO_PLATFORM rp2350-riscv)
|
||||||
|
set(PICO_CYW43_SUPPORTED 0)
|
||||||
else()
|
else()
|
||||||
message(FATAL_ERROR "Unknown CPU, '${cpu}'")
|
message(FATAL_ERROR "Unknown CPU, '${cpu}'")
|
||||||
endif()
|
endif()
|
||||||
|
|
@ -28,6 +33,18 @@ pico_sdk_init()
|
||||||
|
|
||||||
add_library(common-${cpu} INTERFACE)
|
add_library(common-${cpu} INTERFACE)
|
||||||
|
|
||||||
|
if (${cpu} MATCHES "rp2350$")
|
||||||
|
set(xcda
|
||||||
|
LIB_PICO_DOUBLE_PICO=1
|
||||||
|
LIB_PICO_FLOAT_PICO=1
|
||||||
|
LIB_PICO_FLOAT_PICO_VFP=1)
|
||||||
|
elseif (${cpu} MATCHES "rp2350-riscv$")
|
||||||
|
set(xcda
|
||||||
|
LIB_PICO_DOUBLE_COMPILER=1
|
||||||
|
LIB_PICO_FLOAT_COMPILER=1
|
||||||
|
PICO_RISCV=1)
|
||||||
|
endif()
|
||||||
|
|
||||||
if (${cpu} MATCHES "rp2040")
|
if (${cpu} MATCHES "rp2040")
|
||||||
set(xcd
|
set(xcd
|
||||||
PICO_RP2040_B0_SUPPORTED=1
|
PICO_RP2040_B0_SUPPORTED=1
|
||||||
|
|
@ -39,9 +56,8 @@ if (${cpu} MATCHES "rp2040")
|
||||||
PICO_FLOAT_SUPPORT_ROM_V1=1
|
PICO_FLOAT_SUPPORT_ROM_V1=1
|
||||||
PICO_DOUBLE_SUPPORT_ROM_V1=1
|
PICO_DOUBLE_SUPPORT_ROM_V1=1
|
||||||
PICO_RP2040=1
|
PICO_RP2040=1
|
||||||
PICO_PLATFORM=rp2040
|
|
||||||
PICO_CYW43_SUPPORTED=1)
|
PICO_CYW43_SUPPORTED=1)
|
||||||
elseif(${cpu} MATCHES "rp2350")
|
elseif (${cpu} MATCHES "rp2350")
|
||||||
set(xcd
|
set(xcd
|
||||||
CFG_TUSB_DEBUG=0
|
CFG_TUSB_DEBUG=0
|
||||||
CFG_TUSB_MCU=OPT_MCU_RP2040
|
CFG_TUSB_MCU=OPT_MCU_RP2040
|
||||||
|
|
@ -56,11 +72,8 @@ elseif(${cpu} MATCHES "rp2350")
|
||||||
LIB_PICO_DIVIDER=1
|
LIB_PICO_DIVIDER=1
|
||||||
LIB_PICO_DIVIDER_COMPILER=1
|
LIB_PICO_DIVIDER_COMPILER=1
|
||||||
LIB_PICO_DOUBLE=1
|
LIB_PICO_DOUBLE=1
|
||||||
LIB_PICO_DOUBLE_PICO=1
|
|
||||||
LIB_PICO_FIX_RP2040_USB_DEVICE_ENUMERATION=1
|
LIB_PICO_FIX_RP2040_USB_DEVICE_ENUMERATION=1
|
||||||
LIB_PICO_FLOAT=1
|
LIB_PICO_FLOAT=1
|
||||||
LIB_PICO_FLOAT_PICO=1
|
|
||||||
LIB_PICO_FLOAT_PICO_VFP=1
|
|
||||||
LIB_PICO_INT64_OPS=1
|
LIB_PICO_INT64_OPS=1
|
||||||
LIB_PICO_INT64_OPS_COMPILER=1
|
LIB_PICO_INT64_OPS_COMPILER=1
|
||||||
LIB_PICO_MEM_OPS=1
|
LIB_PICO_MEM_OPS=1
|
||||||
|
|
@ -97,7 +110,15 @@ elseif(${cpu} MATCHES "rp2350")
|
||||||
PICO_RP2040_USB_DEVICE_UFRAME_FIX=1
|
PICO_RP2040_USB_DEVICE_UFRAME_FIX=1
|
||||||
PICO_RP2350=1
|
PICO_RP2350=1
|
||||||
PICO_USE_BLOCKED_RAM=0
|
PICO_USE_BLOCKED_RAM=0
|
||||||
PICO_PLATFORM=rp2350)
|
${xcda})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (${cpu} MATCHES "rp2040")
|
||||||
|
set(ppp PICO_PLATFORM=rp2040)
|
||||||
|
elseif(${cpu} MATCHES "rp2350$")
|
||||||
|
set(ppp PICO_PLATFORM=rp2350)
|
||||||
|
elseif(${cpu} MATCHES "rp2350-riscv$")
|
||||||
|
set(ppp PICO_PLATFORM=rp2350-riscv)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Use a longer XOSC startup time, to accommodate Adafruit and other boards that may need it.
|
# Use a longer XOSC startup time, to accommodate Adafruit and other boards that may need it.
|
||||||
|
|
@ -110,6 +131,7 @@ target_compile_definitions(common-${cpu} INTERFACE
|
||||||
LWIP_IGMP=1
|
LWIP_IGMP=1
|
||||||
LWIP_CHECKSUM_CTRL_PER_NETIF=1
|
LWIP_CHECKSUM_CTRL_PER_NETIF=1
|
||||||
${xcd}
|
${xcd}
|
||||||
|
${ppp}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ set -x
|
||||||
|
|
||||||
export PICO_SDK_PATH="$(cd ../../pico-sdk/; pwd)"
|
export PICO_SDK_PATH="$(cd ../../pico-sdk/; pwd)"
|
||||||
export PATH="$(cd ../../system/arm-none-eabi/bin; pwd):$PATH"
|
export PATH="$(cd ../../system/arm-none-eabi/bin; pwd):$PATH"
|
||||||
|
export PATH="$(cd ../../system/riscv32-unknown-elf/bin; pwd):$PATH"
|
||||||
|
|
||||||
rm -rf build-rp2040
|
rm -rf build-rp2040
|
||||||
mkdir build-rp2040
|
mkdir build-rp2040
|
||||||
|
|
@ -53,39 +54,9 @@ cd build-rp2350
|
||||||
CPU=rp2350 cmake ..
|
CPU=rp2350 cmake ..
|
||||||
make -j
|
make -j
|
||||||
|
|
||||||
rm -rf boot
|
cd ..
|
||||||
mkdir boot
|
rm -rf build-rp2350-riscv
|
||||||
cd boot
|
mkdir build-rp2350-riscv
|
||||||
mkdir -p pico
|
cd build-rp2350-riscv
|
||||||
touch pico/config.h
|
CPU=rp2350-riscv cmake ..
|
||||||
# Some in the rp2350 boot2 directory don't compile(!?)
|
make -j
|
||||||
for type in boot2_generic_03h boot2_w25q080; do
|
|
||||||
for div in 2 4; do
|
|
||||||
arm-none-eabi-gcc -mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse -O3 \
|
|
||||||
-DNDEBUG -DPICO_FLASH_SPI_CLKDIV=$div \
|
|
||||||
-DPICO_RP2350 \
|
|
||||||
-c "$PICO_SDK_PATH/src/rp2350/boot_stage2/$type.S" \
|
|
||||||
-I "$PICO_SDK_PATH/src/boards/include/boards/" \
|
|
||||||
-I "$PICO_SDK_PATH/src/rp2350/hardware_regs/include/" \
|
|
||||||
-I "$PICO_SDK_PATH/src/rp2040/hardware_regs/include/" \
|
|
||||||
-I "$PICO_SDK_PATH/src/rp2_common/pico_platform/include/" \
|
|
||||||
-I "$PICO_SDK_PATH/src/rp2_common/boot_stage2/asminclude/" \
|
|
||||||
-I "$PICO_SDK_PATH/src/rp2350/pico_platform/include/" \
|
|
||||||
-I "$PICO_SDK_PATH/src/rp2350/boot_stage2/asminclude/" \
|
|
||||||
-I .
|
|
||||||
|
|
||||||
arm-none-eabi-gcc -mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse -O3 \
|
|
||||||
-DNDEBUG -Wl,--build-id=none --specs=nosys.specs -nostartfiles \
|
|
||||||
-Wl,--script="$PICO_SDK_PATH/src/rp2350/boot_stage2/boot_stage2.ld" \
|
|
||||||
-Wl,-Map=$type.$div.elf.map $type.o -o $type.$div.elf
|
|
||||||
|
|
||||||
arm-none-eabi-objdump -h $type.$div.elf > $type.$div.dis
|
|
||||||
arm-none-eabi-objdump -d $type.$div.elf >> $type.$div.dis
|
|
||||||
|
|
||||||
arm-none-eabi-objcopy -Obinary $type.$div.elf $type.$div.bin
|
|
||||||
|
|
||||||
python3 "$PICO_SDK_PATH/src/rp2350/boot_stage2/pad_checksum" \
|
|
||||||
-s 0xffffffff $type.$div.bin ${type}_${div}_padded_checksum.S
|
|
||||||
done
|
|
||||||
done
|
|
||||||
mv *.S ../../../../boot2/rp2350/.
|
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,20 @@ def BuildFreq(name, defmhz):
|
||||||
print("%s.menu.freq.%s=%s MHz%s" % (name, f, f, warn))
|
print("%s.menu.freq.%s=%s MHz%s" % (name, f, f, warn))
|
||||||
print("%s.menu.freq.%s.build.f_cpu=%dL" % (name, f, f * 1000000))
|
print("%s.menu.freq.%s.build.f_cpu=%dL" % (name, f, f * 1000000))
|
||||||
|
|
||||||
|
def BuildArch(name):
|
||||||
|
# Cortex M-33
|
||||||
|
print("%s.menu.arch.arm=ARM" % (name))
|
||||||
|
print("%s.menu.arch.arm.build.chip=%s" % (name, "rp2350"))
|
||||||
|
print("%s.menu.arch.arm.build.toolchain=arm-none-eabi" % (name))
|
||||||
|
print("%s.menu.arch.arm.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse" % (name))
|
||||||
|
print("%s.menu.arch.arm.build.uf2family=--family rp2350-arm-s --abs-block" % (name))
|
||||||
|
# RISC-V Hazard3
|
||||||
|
print("%s.menu.arch.riscv=RISC-V" % (name))
|
||||||
|
print("%s.menu.arch.riscv.build.chip=%s" % (name, "rp2350-riscv"))
|
||||||
|
print("%s.menu.arch.riscv.build.toolchain=riscv32-unknown-elf" % (name))
|
||||||
|
print("%s.menu.arch.riscv.build.toolchainopts=-march=rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb -mabi=ilp32" % (name))
|
||||||
|
print("%s.menu.arch.riscv.build.uf2family=--family rp2350-riscv --abs-block" % (name))
|
||||||
|
|
||||||
def BuildPSRAM(name):
|
def BuildPSRAM(name):
|
||||||
for s in [ 0, 2, 4, 8]:
|
for s in [ 0, 2, 4, 8]:
|
||||||
print("%s.menu.psram.%dmb=%dMByte PSRAM" % (name, s, s))
|
print("%s.menu.psram.%dmb=%dMByte PSRAM" % (name, s, s))
|
||||||
|
|
@ -222,14 +236,11 @@ def BuildHeader(name, chip, chaintuple, chipoptions, vendor_name, product_name,
|
||||||
print("%s.build.usbpwr=-DUSBD_MAX_POWER_MA=%s" % (name, pwr))
|
print("%s.build.usbpwr=-DUSBD_MAX_POWER_MA=%s" % (name, pwr))
|
||||||
print("%s.build.board=%s" % (name, boarddefine))
|
print("%s.build.board=%s" % (name, boarddefine))
|
||||||
# print("%s.build.mcu=cortex-m0plus" % (name))
|
# print("%s.build.mcu=cortex-m0plus" % (name))
|
||||||
print("%s.build.chip=%s" % (name, chip))
|
if chip == "rp2040": # RP2350 has menu for this later on
|
||||||
print("%s.build.toolchain=%s" % (name, chaintuple))
|
print("%s.build.chip=%s" % (name, chip))
|
||||||
print("%s.build.toolchainopts=%s" % (name, chipoptions))
|
print("%s.build.toolchain=%s" % (name, chaintuple))
|
||||||
if chip == "rp2350":
|
print("%s.build.toolchainopts=%s" % (name, chipoptions))
|
||||||
uf2family = "--family rp2350-arm-s --abs-block"
|
print("%s.build.uf2family=%s" % (name, "--family rp2040"))
|
||||||
elif chip == "rp2040":
|
|
||||||
uf2family = "--family rp2040"
|
|
||||||
print("%s.build.uf2family=%s" % (name, uf2family))
|
|
||||||
print("%s.build.variant=%s" % (name, variant))
|
print("%s.build.variant=%s" % (name, variant))
|
||||||
print("%s.upload.maximum_size=%d" % (name, flashsize))
|
print("%s.upload.maximum_size=%d" % (name, flashsize))
|
||||||
print("%s.upload.wait_for_upload_port=true" % (name))
|
print("%s.upload.wait_for_upload_port=true" % (name))
|
||||||
|
|
@ -243,7 +254,7 @@ def BuildHeader(name, chip, chaintuple, chipoptions, vendor_name, product_name,
|
||||||
print("%s.build.boot2=%s" % (name, boot2))
|
print("%s.build.boot2=%s" % (name, boot2))
|
||||||
print('%s.build.usb_manufacturer="%s"' % (name, vendor_name))
|
print('%s.build.usb_manufacturer="%s"' % (name, vendor_name))
|
||||||
print('%s.build.usb_product="%s"' % (name, product_name))
|
print('%s.build.usb_product="%s"' % (name, product_name))
|
||||||
if (chip == "rp2350") and (name != "generic_rp2350"):
|
if ((chip == "rp2350") or (chip == "rp2350-riscv")) and (name != "generic_rp2350"):
|
||||||
print("%s.build.psram_length=0x%d00000" % (name, psramsize))
|
print("%s.build.psram_length=0x%d00000" % (name, psramsize))
|
||||||
if extra != None:
|
if extra != None:
|
||||||
m_extra = ''
|
m_extra = ''
|
||||||
|
|
@ -265,6 +276,7 @@ def BuildGlobalMenuList():
|
||||||
print("menu.psram=PSRAM Size")
|
print("menu.psram=PSRAM Size")
|
||||||
print("menu.psramfreq=PSRAM Speed")
|
print("menu.psramfreq=PSRAM Speed")
|
||||||
print("menu.freq=CPU Speed")
|
print("menu.freq=CPU Speed")
|
||||||
|
print("menu.arch=CPU Architecture")
|
||||||
print("menu.opt=Optimize")
|
print("menu.opt=Optimize")
|
||||||
print("menu.rtti=RTTI")
|
print("menu.rtti=RTTI")
|
||||||
print("menu.stackprotect=Stack Protector")
|
print("menu.stackprotect=Stack Protector")
|
||||||
|
|
@ -294,9 +306,9 @@ def MakeBoard(name, chip, vendor_name, product_name, vid, pid, pwr, boarddefine,
|
||||||
elif chip == "rp2350":
|
elif chip == "rp2350":
|
||||||
tup = "arm-none-eabi"
|
tup = "arm-none-eabi"
|
||||||
opts = "-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse"
|
opts = "-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse"
|
||||||
elif chip == "rp2530rv":
|
elif chip == "rp2350-riscv":
|
||||||
tup = "riscv-none-eabi"
|
tup = "riscv32-unknown-elf"
|
||||||
opts = "TBD"
|
opts = "-march=rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb -mabi=ilp32"
|
||||||
else:
|
else:
|
||||||
raise Exception("Unknown board type " + str(chip));
|
raise Exception("Unknown board type " + str(chip));
|
||||||
BuildHeader(name, chip, tup, opts, vendor_name, product_name, vid, pid, pwr, boarddefine, name, flashsizemb * 1024 * 1024, psramsize, boot2, extra)
|
BuildHeader(name, chip, tup, opts, vendor_name, product_name, vid, pid, pwr, boarddefine, name, flashsizemb * 1024 * 1024, psramsize, boot2, extra)
|
||||||
|
|
@ -319,7 +331,8 @@ def MakeBoard(name, chip, vendor_name, product_name, vid, pid, pwr, boarddefine,
|
||||||
BuildFlashMenu(name, chip, 16*1024*1024, [0, 15*1024*1024, 14*1024*1024, 12*1024*1024, 8*1024*1024, 4*1024*1024, 2*1024*1024])
|
BuildFlashMenu(name, chip, 16*1024*1024, [0, 15*1024*1024, 14*1024*1024, 12*1024*1024, 8*1024*1024, 4*1024*1024, 2*1024*1024])
|
||||||
else:
|
else:
|
||||||
BuildFlashMenu(name, chip, flashsizemb * 1024 * 1024, fssizelist)
|
BuildFlashMenu(name, chip, flashsizemb * 1024 * 1024, fssizelist)
|
||||||
if chip == "rp2350":
|
if (chip == "rp2350") or (chip == "rp2350-riscv"):
|
||||||
|
BuildArch(name)
|
||||||
BuildFreq(name, 150)
|
BuildFreq(name, 150)
|
||||||
if name == "generic_rp2350":
|
if name == "generic_rp2350":
|
||||||
BuildRP2350Variant(name)
|
BuildRP2350Variant(name)
|
||||||
|
|
@ -372,6 +385,11 @@ def MakeBoardJSON(name, chip, vendor_name, product_name, vid, pid, pwr, boarddef
|
||||||
ramsize = 512
|
ramsize = 512
|
||||||
jlink = "RP2350_0"
|
jlink = "RP2350_0"
|
||||||
fcpu = "150000000L"
|
fcpu = "150000000L"
|
||||||
|
elif chip == "rp2350-riscv":
|
||||||
|
cpu = "riscv"
|
||||||
|
ramsize = 512
|
||||||
|
jlink = "RP2350_0"
|
||||||
|
fcpu = "150000000L"
|
||||||
j = {
|
j = {
|
||||||
"build": {
|
"build": {
|
||||||
"arduino": {
|
"arduino": {
|
||||||
|
|
@ -428,7 +446,7 @@ def MakeBoardJSON(name, chip, vendor_name, product_name, vid, pid, pwr, boarddef
|
||||||
"vendor": vendor_name,
|
"vendor": vendor_name,
|
||||||
}
|
}
|
||||||
# add nonzero PSRAM sizes of known boards (can still be overwritten in platformio.ini)
|
# add nonzero PSRAM sizes of known boards (can still be overwritten in platformio.ini)
|
||||||
if psramsize != 0 and name != "generic_rp2350":
|
if (psramsize != 0) and (name != "generic_rp2350"):
|
||||||
j["upload"]["psram_length"] = psramsize * 1024 * 1024
|
j["upload"]["psram_length"] = psramsize * 1024 * 1024
|
||||||
|
|
||||||
jsondir = os.path.abspath(os.path.dirname(__file__)) + "/json"
|
jsondir = os.path.abspath(os.path.dirname(__file__)) + "/json"
|
||||||
|
|
@ -449,7 +467,7 @@ BuildGlobalMenuList()
|
||||||
# Raspberry Pi
|
# Raspberry Pi
|
||||||
MakeBoard("rpipico", "rp2040", "Raspberry Pi", "Pico", "0x2e8a", "0x000a", 250, "RASPBERRY_PI_PICO", 2, 0, "boot2_w25q080_2_padded_checksum")
|
MakeBoard("rpipico", "rp2040", "Raspberry Pi", "Pico", "0x2e8a", "0x000a", 250, "RASPBERRY_PI_PICO", 2, 0, "boot2_w25q080_2_padded_checksum")
|
||||||
MakeBoard("rpipicow", "rp2040", "Raspberry Pi", "Pico W", "0x2e8a", "0xf00a", 250, "RASPBERRY_PI_PICO_W", 2, 0, "boot2_w25q080_2_padded_checksum")
|
MakeBoard("rpipicow", "rp2040", "Raspberry Pi", "Pico W", "0x2e8a", "0xf00a", 250, "RASPBERRY_PI_PICO_W", 2, 0, "boot2_w25q080_2_padded_checksum")
|
||||||
MakeBoard("rpipico2", "rp2350", "Raspberry Pi", "Pico 2", "0x2e8a", "0x000f", 250, "RASPBERRY_PI_PICO_2", 4, 0, "boot2_generic_03h_2_padded_checksum")
|
MakeBoard("rpipico2", "rp2350", "Raspberry Pi", "Pico 2", "0x2e8a", "0x000f", 250, "RASPBERRY_PI_PICO_2", 4, 0, "none")
|
||||||
|
|
||||||
# 0xCB
|
# 0xCB
|
||||||
MakeBoard("0xcb_helios", "rp2040", "0xCB", "Helios", "0x1209", "0xCB74", 500, "0XCB_HELIOS", 16, 0, "boot2_w25q128jvxq_4_padded_checksum")
|
MakeBoard("0xcb_helios", "rp2040", "0xCB", "Helios", "0x1209", "0xCB74", 500, "0XCB_HELIOS", 16, 0, "boot2_w25q128jvxq_4_padded_checksum")
|
||||||
|
|
@ -471,7 +489,7 @@ MakeBoard("adafruit_stemmafriend", "rp2040", "Adafruit", "STEMMA Friend RP2040",
|
||||||
MakeBoard("adafruit_trinkeyrp2040qt", "rp2040", "Adafruit", "Trinkey RP2040 QT", "0x239a", "0x8109", 250, "ADAFRUIT_TRINKEYQT_RP2040", 8, 0, "boot2_w25q080_2_padded_checksum")
|
MakeBoard("adafruit_trinkeyrp2040qt", "rp2040", "Adafruit", "Trinkey RP2040 QT", "0x239a", "0x8109", 250, "ADAFRUIT_TRINKEYQT_RP2040", 8, 0, "boot2_w25q080_2_padded_checksum")
|
||||||
MakeBoard("adafruit_macropad2040", "rp2040", "Adafruit", "MacroPad RP2040", "0x239a", "0x8107", 250, "ADAFRUIT_MACROPAD_RP2040", 8, 0, "boot2_w25q080_2_padded_checksum")
|
MakeBoard("adafruit_macropad2040", "rp2040", "Adafruit", "MacroPad RP2040", "0x239a", "0x8107", 250, "ADAFRUIT_MACROPAD_RP2040", 8, 0, "boot2_w25q080_2_padded_checksum")
|
||||||
MakeBoard("adafruit_kb2040", "rp2040", "Adafruit", "KB2040", "0x239a", "0x8105", 250, "ADAFRUIT_KB2040_RP2040", 8, 0, "boot2_w25q080_2_padded_checksum")
|
MakeBoard("adafruit_kb2040", "rp2040", "Adafruit", "KB2040", "0x239a", "0x8105", 250, "ADAFRUIT_KB2040_RP2040", 8, 0, "boot2_w25q080_2_padded_checksum")
|
||||||
MakeBoard("adafruit_feather_rp2350_hstx", "rp2350", "Adafruit", "Feather RP2350 HSTX", "0x239a", "0x814f", 250, "ADAFRUIT_FEATHER_RP2350_HSTX", 8, 0, "boot2_w25q080_2_padded_checksum")
|
MakeBoard("adafruit_feather_rp2350_hstx", "rp2350", "Adafruit", "Feather RP2350 HSTX", "0x239a", "0x814f", 250, "ADAFRUIT_FEATHER_RP2350_HSTX", 8, 0, "none")
|
||||||
|
|
||||||
|
|
||||||
#Amken
|
#Amken
|
||||||
|
|
@ -494,15 +512,15 @@ MakeBoard("bridgetek_idm2040_7a", "rp2040", "BridgeTek", "IDM2040-7A", "0x2e8a",
|
||||||
MakeBoard("bridgetek_idm2040_43a", "rp2040", "BridgeTek", "IDM2040-43A", "0x2e8b", "0xf00a", 250, "BRIDGETEK_IDM2040_43A", 8, 0, "boot2_w25q080_2_padded_checksum", ["FT8XX_TYPE=BT883", "DISPLAY_RES=WQVGA", "PLATFORM_RP2040"])
|
MakeBoard("bridgetek_idm2040_43a", "rp2040", "BridgeTek", "IDM2040-43A", "0x2e8b", "0xf00a", 250, "BRIDGETEK_IDM2040_43A", 8, 0, "boot2_w25q080_2_padded_checksum", ["FT8XX_TYPE=BT883", "DISPLAY_RES=WQVGA", "PLATFORM_RP2040"])
|
||||||
|
|
||||||
# Cytron
|
# Cytron
|
||||||
MakeBoard("cytron_iriv_io_controller", "rp2350", "Cytron", "IRIV IO Controller", "0x2e8a", "0x1093", 250, "CYTRON_IRIV_IO_CONTROLLER", 2, 0, "boot2_w25q080_2_padded_checksum")
|
MakeBoard("cytron_iriv_io_controller", "rp2350", "Cytron", "IRIV IO Controller", "0x2e8a", "0x1093", 250, "CYTRON_IRIV_IO_CONTROLLER", 2, 0, "none")
|
||||||
MakeBoard("cytron_maker_nano_rp2040", "rp2040", "Cytron", "Maker Nano RP2040", "0x2e8a", "0x100f", 250, "CYTRON_MAKER_NANO_RP2040", 2, 0, "boot2_w25q080_2_padded_checksum")
|
MakeBoard("cytron_maker_nano_rp2040", "rp2040", "Cytron", "Maker Nano RP2040", "0x2e8a", "0x100f", 250, "CYTRON_MAKER_NANO_RP2040", 2, 0, "boot2_w25q080_2_padded_checksum")
|
||||||
MakeBoard("cytron_maker_pi_rp2040", "rp2040", "Cytron", "Maker Pi RP2040", "0x2e8a", "0x1000", 250, "CYTRON_MAKER_PI_RP2040", 2, 0, "boot2_w25q080_2_padded_checksum")
|
MakeBoard("cytron_maker_pi_rp2040", "rp2040", "Cytron", "Maker Pi RP2040", "0x2e8a", "0x1000", 250, "CYTRON_MAKER_PI_RP2040", 2, 0, "boot2_w25q080_2_padded_checksum")
|
||||||
MakeBoard("cytron_maker_uno_rp2040", "rp2040", "Cytron", "Maker Uno RP2040", "0x2e8a", "0x1071", 250, "CYTRON_MAKER_UNO_RP2040", 2, 0, "boot2_w25q080_2_padded_checksum")
|
MakeBoard("cytron_maker_uno_rp2040", "rp2040", "Cytron", "Maker Uno RP2040", "0x2e8a", "0x1071", 250, "CYTRON_MAKER_UNO_RP2040", 2, 0, "boot2_w25q080_2_padded_checksum")
|
||||||
MakeBoard("cytron_motion_2350_pro", "rp2350", "Cytron", "Motion 2350 Pro", "0x2e8a", "0x1096", 250, "CYTRON_MOTION_2350_PRO", 2, 0, "boot2_generic_03h_2_padded_checksum")
|
MakeBoard("cytron_motion_2350_pro", "rp2350", "Cytron", "Motion 2350 Pro", "0x2e8a", "0x1096", 250, "CYTRON_MOTION_2350_PRO", 2, 0, "none")
|
||||||
|
|
||||||
# DatanoiseTV
|
# DatanoiseTV
|
||||||
MakeBoard("datanoisetv_picoadk", "rp2040", "DatanoiseTV", "PicoADK", "0x2e8a", "0x000a", 250, "DATANOISETV_PICOADK", 2, 0, "boot2_w25q080_2_padded_checksum")
|
MakeBoard("datanoisetv_picoadk", "rp2040", "DatanoiseTV", "PicoADK", "0x2e8a", "0x000a", 250, "DATANOISETV_PICOADK", 2, 0, "boot2_w25q080_2_padded_checksum")
|
||||||
MakeBoard("datanoisetv_picoadk_v2", "rp2350", "DatanoiseTV", "PicoADK v2", "0x2e8a", "0x10ae", 250, "DATANOISETV_PICOADK_V2", 4, 0, "boot2_w25q080_2_padded_checksum")
|
MakeBoard("datanoisetv_picoadk_v2", "rp2350", "DatanoiseTV", "PicoADK v2", "0x2e8a", "0x10ae", 250, "DATANOISETV_PICOADK_V2", 4, 0, "none")
|
||||||
|
|
||||||
# Degz Robotics
|
# Degz Robotics
|
||||||
MakeBoard("degz_suibo", "rp2040", "Degz Robotics", "Suibo RP2040", "0x2e8a", "0xf00a", 250, "DEGZ_SUIBO_RP2040", 16, 0, "boot2_generic_03h_4_padded_checksum", board_url="https://www.degzrobotics.com/suibo")
|
MakeBoard("degz_suibo", "rp2040", "Degz Robotics", "Suibo RP2040", "0x2e8a", "0xf00a", 250, "DEGZ_SUIBO_RP2040", 16, 0, "boot2_generic_03h_4_padded_checksum", board_url="https://www.degzrobotics.com/suibo")
|
||||||
|
|
@ -541,8 +559,8 @@ MakeBoard("challenger_2040_nfc", "rp2040", "iLabs", "Challenger 2040 NFC", "0x2e
|
||||||
MakeBoard("challenger_2040_uwb", "rp2040", "iLabs", "Challenger 2040 UWB", "0x2e8a", "0x1052", 500, "CHALLENGER_2040_UWB_RP2040", 8, 0, "boot2_w25q080_2_padded_checksum")
|
MakeBoard("challenger_2040_uwb", "rp2040", "iLabs", "Challenger 2040 UWB", "0x2e8a", "0x1052", 500, "CHALLENGER_2040_UWB_RP2040", 8, 0, "boot2_w25q080_2_padded_checksum")
|
||||||
MakeBoard("connectivity_2040_lte_wifi_ble", "rp2040", "iLabs", "Connectivity 2040 LTE/WiFi/BLE", "0x2e8a", "0x107b", 500, "CONNECTIVITY_2040_LTE_WIFI_BLE_RP2040", 8, 0, "boot2_w25q080_2_padded_checksum", ["WIFIESPAT2"])
|
MakeBoard("connectivity_2040_lte_wifi_ble", "rp2040", "iLabs", "Connectivity 2040 LTE/WiFi/BLE", "0x2e8a", "0x107b", 500, "CONNECTIVITY_2040_LTE_WIFI_BLE_RP2040", 8, 0, "boot2_w25q080_2_padded_checksum", ["WIFIESPAT2"])
|
||||||
MakeBoard("ilabs_rpico32", "rp2040", "iLabs", "RPICO32", "0x2e8a", "0x1010", 250, "ILABS_2040_RPICO32_RP2040", 8, 0, "boot2_w25q080_2_padded_checksum", ["WIFIESPAT2"])
|
MakeBoard("ilabs_rpico32", "rp2040", "iLabs", "RPICO32", "0x2e8a", "0x1010", 250, "ILABS_2040_RPICO32_RP2040", 8, 0, "boot2_w25q080_2_padded_checksum", ["WIFIESPAT2"])
|
||||||
MakeBoard("challenger_2350_wifi6_ble5", "rp2350", "iLabs", "Challenger 2350 WiFi/BLE", "0x2e8a", "0x109a", 500, "CHALLENGER_2350_WIFI_BLE_RP2350", 8, 8, "boot2_generic_03h_2_padded_checksum")
|
MakeBoard("challenger_2350_wifi6_ble5", "rp2350", "iLabs", "Challenger 2350 WiFi/BLE", "0x2e8a", "0x109a", 500, "CHALLENGER_2350_WIFI_BLE_RP2350", 8, 8, "none")
|
||||||
MakeBoard("challenger_2350_bconnect", "rp2350", "iLabs", "Challenger 2350 BConnect", "0x2e8a", "0x109b", 500, "CHALLENGER_2350_BCONNECT_RP2350", 8, 8, "boot2_generic_03h_2_padded_checksum")
|
MakeBoard("challenger_2350_bconnect", "rp2350", "iLabs", "Challenger 2350 BConnect", "0x2e8a", "0x109b", 500, "CHALLENGER_2350_BCONNECT_RP2350", 8, 8, "none")
|
||||||
|
|
||||||
# Melopero
|
# Melopero
|
||||||
MakeBoard("melopero_cookie_rp2040", "rp2040", "Melopero", "Cookie RP2040", "0x2e8a", "0x1011", 250, "MELOPERO_COOKIE_RP2040", 8, 0, "boot2_w25q080_2_padded_checksum")
|
MakeBoard("melopero_cookie_rp2040", "rp2040", "Melopero", "Cookie RP2040", "0x2e8a", "0x1011", 250, "MELOPERO_COOKIE_RP2040", 8, 0, "boot2_w25q080_2_padded_checksum")
|
||||||
|
|
@ -566,11 +584,11 @@ MakeBoard("olimex_rp2040pico30_16mb", "rp2040", "Olimex", "RP2040-Pico30 16MB",
|
||||||
|
|
||||||
# Pimoroni
|
# Pimoroni
|
||||||
MakeBoard("pimoroni_pga2040", "rp2040", "Pimoroni", "PGA2040", "0x2e8a", "0x1008", 250, "PIMORONI_PGA2040", 8, 0, "boot2_w25q64jv_4_padded_checksum")
|
MakeBoard("pimoroni_pga2040", "rp2040", "Pimoroni", "PGA2040", "0x2e8a", "0x1008", 250, "PIMORONI_PGA2040", 8, 0, "boot2_w25q64jv_4_padded_checksum")
|
||||||
MakeBoard("pimoroni_pga2350", "rp2350", "Pimoroni", "PGA2350", "0x2e8a", "0x1018", 250, "PIMORONI_PGA2350", 16, 8, "boot2_w25q080_4_padded_checksum")
|
MakeBoard("pimoroni_pga2350", "rp2350", "Pimoroni", "PGA2350", "0x2e8a", "0x1018", 250, "PIMORONI_PGA2350", 16, 8, "none")
|
||||||
MakeBoard("pimoroni_pico_plus_2", "rp2350", "Pimoroni", "PicoPlus2", "0x2e8a", "0x100a", 500, "PIMORONI_PICO_PLUS_2", 16, 8, "boot2_generic_03h_4_padded_checksum")
|
MakeBoard("pimoroni_pico_plus_2", "rp2350", "Pimoroni", "PicoPlus2", "0x2e8a", "0x100a", 500, "PIMORONI_PICO_PLUS_2", 16, 8, "none")
|
||||||
MakeBoard("pimoroni_plasma2040", "rp2040", "Pimoroni", "Plasma2040", "0x2e8a", "0x100a", 500, "PIMORONI_PLASMA2040", 2, 0, "boot2_w25q080_2_padded_checksum")
|
MakeBoard("pimoroni_plasma2040", "rp2040", "Pimoroni", "Plasma2040", "0x2e8a", "0x100a", 500, "PIMORONI_PLASMA2040", 2, 0, "boot2_w25q080_2_padded_checksum")
|
||||||
MakeBoard("pimoroni_tiny2040", "rp2040", "Pimoroni", "Tiny2040", "0x2e8a", "0x100a", 500, "PIMORONI_TINY2040", 2, 0, "boot2_w25q64jv_4_padded_checksum")
|
MakeBoard("pimoroni_tiny2040", "rp2040", "Pimoroni", "Tiny2040", "0x2e8a", "0x100a", 500, "PIMORONI_TINY2040", 2, 0, "boot2_w25q64jv_4_padded_checksum")
|
||||||
MakeBoard("pimoroni_tiny2350", "rp2350", "Pimoroni", "Tiny2350", "0x2e8a", "0x100b", 500, "PIMORONI_TINY2350", 4, 0, "boot2_w25q080_4_padded_checksum")
|
MakeBoard("pimoroni_tiny2350", "rp2350", "Pimoroni", "Tiny2350", "0x2e8a", "0x100b", 500, "PIMORONI_TINY2350", 4, 0, "none")
|
||||||
|
|
||||||
#Pintronix
|
#Pintronix
|
||||||
MakeBoard("pintronix_pinmax", "rp2040", "Pintronix", "PinMax", "0x2e8a", "0x9101", 250, "PINTRONIX_PINMAX", 4, 0, "boot2_w25q080_2_padded_checksum")
|
MakeBoard("pintronix_pinmax", "rp2040", "Pintronix", "PinMax", "0x2e8a", "0x9101", 250, "PINTRONIX_PINMAX", 4, 0, "boot2_w25q080_2_padded_checksum")
|
||||||
|
|
@ -590,13 +608,13 @@ MakeBoard("silicognition_rp2040_shim", "rp2040", "Silicognition", "RP2040-Shim",
|
||||||
|
|
||||||
# Solder Party
|
# Solder Party
|
||||||
MakeBoard("solderparty_rp2040_stamp", "rp2040", "Solder Party", "RP2040 Stamp", "0x1209", "0xa182", 500, "SOLDERPARTY_RP2040_STAMP", 8, 0, "boot2_generic_03h_4_padded_checksum", None, "https://www.solder.party/docs/rp2040-stamp/")
|
MakeBoard("solderparty_rp2040_stamp", "rp2040", "Solder Party", "RP2040 Stamp", "0x1209", "0xa182", 500, "SOLDERPARTY_RP2040_STAMP", 8, 0, "boot2_generic_03h_4_padded_checksum", None, "https://www.solder.party/docs/rp2040-stamp/")
|
||||||
MakeBoard("solderparty_rp2350_stamp", "rp2350", "Solder Party", "RP2350 Stamp", "0x1209", "0xa183", 500, "SOLDERPARTY_RP2350_STAMP", 16, 0, "boot2_generic_03h_2_padded_checksum", None, "https://www.solder.party/docs/rp2350-stamp/")
|
MakeBoard("solderparty_rp2350_stamp", "rp2350", "Solder Party", "RP2350 Stamp", "0x1209", "0xa183", 500, "SOLDERPARTY_RP2350_STAMP", 16, 0, "none", None, "https://www.solder.party/docs/rp2350-stamp/")
|
||||||
MakeBoard("solderparty_rp2350_stamp_xl", "rp2350", "Solder Party", "RP2350 Stamp XL", "0x1209", "0xa184", 500, "SOLDERPARTY_RP2350_STAMP_XL", 16, 0, "boot2_generic_03h_2_padded_checksum", None, "https://www.solder.party/docs/rp2350-stamp-xl/")
|
MakeBoard("solderparty_rp2350_stamp_xl", "rp2350", "Solder Party", "RP2350 Stamp XL", "0x1209", "0xa184", 500, "SOLDERPARTY_RP2350_STAMP_XL", 16, 0, "none", None, "https://www.solder.party/docs/rp2350-stamp-xl/")
|
||||||
|
|
||||||
# SparkFun
|
# SparkFun
|
||||||
MakeBoard("sparkfun_micromodrp2040", "rp2040", "SparkFun", "MicroMod RP2040", "0x1b4f", "0x0026", 250, "SPARKFUN_MICROMOD_RP2040", 16, 0, "boot2_w25q080_2_padded_checksum")
|
MakeBoard("sparkfun_micromodrp2040", "rp2040", "SparkFun", "MicroMod RP2040", "0x1b4f", "0x0026", 250, "SPARKFUN_MICROMOD_RP2040", 16, 0, "boot2_w25q080_2_padded_checksum")
|
||||||
MakeBoard("sparkfun_promicrorp2040", "rp2040", "SparkFun", "ProMicro RP2040", "0x1b4f", "0x0026", 250, "SPARKFUN_PROMICRO_RP2040", 16, 0, "boot2_generic_03h_4_padded_checksum")
|
MakeBoard("sparkfun_promicrorp2040", "rp2040", "SparkFun", "ProMicro RP2040", "0x1b4f", "0x0026", 250, "SPARKFUN_PROMICRO_RP2040", 16, 0, "boot2_generic_03h_4_padded_checksum")
|
||||||
MakeBoard("sparkfun_promicrorp2350", "rp2350", "SparkFun", "ProMicro RP2350", "0x1b4f", "0x0026", 250, "SPARKFUN_PROMICRO_RP2350", 16, 8, "boot2_w25q080_2_padded_checksum")
|
MakeBoard("sparkfun_promicrorp2350", "rp2350", "SparkFun", "ProMicro RP2350", "0x1b4f", "0x0026", 250, "SPARKFUN_PROMICRO_RP2350", 16, 8, "none")
|
||||||
MakeBoard("sparkfun_thingplusrp2040", "rp2040", "SparkFun", "Thing Plus RP2040", "0x1b4f", "0x0026", 250, "SPARKFUN_THINGPLUS_RP2040", 16, 0, "boot2_w25q080_2_padded_checksum")
|
MakeBoard("sparkfun_thingplusrp2040", "rp2040", "SparkFun", "Thing Plus RP2040", "0x1b4f", "0x0026", 250, "SPARKFUN_THINGPLUS_RP2040", 16, 0, "boot2_w25q080_2_padded_checksum")
|
||||||
|
|
||||||
# Upesy
|
# Upesy
|
||||||
|
|
@ -629,7 +647,7 @@ MakeBoard("wiznet_5500_evb_pico", "rp2040", "WIZnet", "W5500-EVB-Pico", "0x2e8a"
|
||||||
|
|
||||||
# Generic
|
# Generic
|
||||||
MakeBoard("generic", "rp2040", "Generic", "RP2040", "0x2e8a", "0xf00a", 250, "GENERIC_RP2040", 16, 0, "boot2_generic_03h_4_padded_checksum")
|
MakeBoard("generic", "rp2040", "Generic", "RP2040", "0x2e8a", "0xf00a", 250, "GENERIC_RP2040", 16, 0, "boot2_generic_03h_4_padded_checksum")
|
||||||
MakeBoard("generic_rp2350", "rp2350", "Generic", "RP2350", "0x2e8a", "0xf00f", 250, "GENERIC_RP2350", 16, 8, "boot2_generic_03h_4_padded_checksum")
|
MakeBoard("generic_rp2350", "rp2350", "Generic", "RP2350", "0x2e8a", "0xf00f", 250, "GENERIC_RP2350", 16, 8, "none")
|
||||||
|
|
||||||
sys.stdout.close()
|
sys.stdout.close()
|
||||||
with open(os.path.abspath(os.path.dirname(__file__)) + '/../package/package_pico_index.template.json', 'w', newline='\n') as f:
|
with open(os.path.abspath(os.path.dirname(__file__)) + '/../package/package_pico_index.template.json', 'w', newline='\n') as f:
|
||||||
|
|
|
||||||
|
|
@ -120,7 +120,7 @@ if chip == "rp2040":
|
||||||
("PICO_FLASH_SIZE_BYTES", board.get("upload.maximum_size"))
|
("PICO_FLASH_SIZE_BYTES", board.get("upload.maximum_size"))
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
elif chip == "rp2350":
|
elif (chip == "rp2350") or (chip == "rp2350-riscv"):
|
||||||
env.Append(
|
env.Append(
|
||||||
CPPDEFINES=[
|
CPPDEFINES=[
|
||||||
("ARDUINO", 10810),
|
("ARDUINO", 10810),
|
||||||
|
|
@ -139,11 +139,8 @@ elif chip == "rp2350":
|
||||||
("LIB_PICO_DIVIDER", "1"),
|
("LIB_PICO_DIVIDER", "1"),
|
||||||
("LIB_PICO_DIVIDER_COMPILER", "1"),
|
("LIB_PICO_DIVIDER_COMPILER", "1"),
|
||||||
("LIB_PICO_DOUBLE", "1"),
|
("LIB_PICO_DOUBLE", "1"),
|
||||||
("LIB_PICO_DOUBLE_PICO", "1"),
|
|
||||||
("LIB_PICO_FIX_RP2040_USB_DEVICE_ENUMERATION", "1"),
|
("LIB_PICO_FIX_RP2040_USB_DEVICE_ENUMERATION", "1"),
|
||||||
("LIB_PICO_FLOAT", "1"),
|
("LIB_PICO_FLOAT", "1"),
|
||||||
("LIB_PICO_FLOAT_PICO", "1"),
|
|
||||||
("LIB_PICO_FLOAT_PICO_VFP", "1"),
|
|
||||||
("LIB_PICO_INT64_OPS", "1"),
|
("LIB_PICO_INT64_OPS", "1"),
|
||||||
("LIB_PICO_INT64_OPS_COMPILER", "1"),
|
("LIB_PICO_INT64_OPS_COMPILER", "1"),
|
||||||
("LIB_PICO_MEM_OPS", "1"),
|
("LIB_PICO_MEM_OPS", "1"),
|
||||||
|
|
@ -186,11 +183,29 @@ elif chip == "rp2350":
|
||||||
("PICO_FLASH_SIZE_BYTES", board.get("upload.maximum_size"))
|
("PICO_FLASH_SIZE_BYTES", board.get("upload.maximum_size"))
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
if chip == "rp2350":
|
||||||
|
env.Append(
|
||||||
|
CPPDEFINES=[
|
||||||
|
("LIB_PICO_DOUBLE_PICO", "1"),
|
||||||
|
("LIB_PICO_FLOAT_PICO", "1"),
|
||||||
|
("LIB_PICO_FLOAT_PICO_VFP", "1")
|
||||||
|
]
|
||||||
|
)
|
||||||
|
elif chip == "rp2350-riscv":
|
||||||
|
env.Append(
|
||||||
|
CPPDEFINES=[
|
||||||
|
("LIB_PICO_DOUBLE_COMPILER", "1"),
|
||||||
|
("LIB_PICO_FLOAT_COMPILER", "1"),
|
||||||
|
("PICO_RISCV", "1")
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
if chip == "rp2040":
|
if chip == "rp2040":
|
||||||
toolopts = ["-march=armv6-m", "-mcpu=cortex-m0plus", "-mthumb"]
|
toolopts = ["-march=armv6-m", "-mcpu=cortex-m0plus", "-mthumb"]
|
||||||
elif chip == "rp2350":
|
elif chip == "rp2350":
|
||||||
toolopts = ["-mcpu=cortex-m33", "-mthumb", "-march=armv8-m.main+fp+dsp", "-mfloat-abi=softfp", "-mcmse"]
|
toolopts = ["-mcpu=cortex-m33", "-mthumb", "-march=armv8-m.main+fp+dsp", "-mfloat-abi=softfp", "-mcmse"]
|
||||||
|
elif chip == "rp2350-riscv":
|
||||||
|
toolopts = ["-march=rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb", "-mabi=ilp32"]
|
||||||
|
|
||||||
env.Append(
|
env.Append(
|
||||||
CCFLAGS=[
|
CCFLAGS=[
|
||||||
|
|
@ -229,7 +244,22 @@ env.Append(
|
||||||
"-Wl,--gc-sections",
|
"-Wl,--gc-sections",
|
||||||
"-Wl,--unresolved-symbols=report-all",
|
"-Wl,--unresolved-symbols=report-all",
|
||||||
"-Wl,--warn-common",
|
"-Wl,--warn-common",
|
||||||
"-Wl,--undefined=runtime_init_install_ram_vector_table"
|
"-Wl,--undefined=runtime_init_install_ram_vector_table",
|
||||||
|
"-Wl,--undefined=__pre_init_runtime_init_clocks",
|
||||||
|
"-Wl,--undefined=__pre_init_runtime_init_bootrom_reset",
|
||||||
|
"-Wl,--undefined=__pre_init_runtime_init_early_resets",
|
||||||
|
"-Wl,--undefined=__pre_init_runtime_init_usb_power_down",
|
||||||
|
"-Wl,--undefined=__pre_init_runtime_init_clocks",
|
||||||
|
"-Wl,--undefined=__pre_init_runtime_init_post_clock_resets",
|
||||||
|
"-Wl,--undefined=__pre_init_runtime_init_spin_locks_reset",
|
||||||
|
"-Wl,--undefined=__pre_init_runtime_init_boot_locks_reset",
|
||||||
|
"-Wl,--undefined=__pre_init_runtime_init_bootrom_locking_enable",
|
||||||
|
"-Wl,--undefined=__pre_init_runtime_init_mutex",
|
||||||
|
"-Wl,--undefined=__pre_init_runtime_init_default_alarm_pool",
|
||||||
|
"-Wl,--undefined=__pre_init_first_per_core_initializer",
|
||||||
|
"-Wl,--undefined=__pre_init_runtime_init_per_core_bootrom_reset"
|
||||||
|
"-Wl,--undefined=__pre_init_runtime_init_per_core_h3_irq_registers",
|
||||||
|
"-Wl,--undefined=__pre_init_runtime_init_per_core_irq_priorities"
|
||||||
] + toolopts,
|
] + toolopts,
|
||||||
|
|
||||||
LIBSOURCE_DIRS=[os.path.join(FRAMEWORK_DIR, "libraries")],
|
LIBSOURCE_DIRS=[os.path.join(FRAMEWORK_DIR, "libraries")],
|
||||||
|
|
@ -263,7 +293,7 @@ else:
|
||||||
"-iprefix" + os.path.join(FRAMEWORK_DIR),
|
"-iprefix" + os.path.join(FRAMEWORK_DIR),
|
||||||
"@%s" % os.path.join(FRAMEWORK_DIR, "lib", chip, "platform_inc.txt"),
|
"@%s" % os.path.join(FRAMEWORK_DIR, "lib", chip, "platform_inc.txt"),
|
||||||
"@%s" % os.path.join(FRAMEWORK_DIR, "lib", "core_inc.txt")
|
"@%s" % os.path.join(FRAMEWORK_DIR, "lib", "core_inc.txt")
|
||||||
])
|
] + toolopts)
|
||||||
|
|
||||||
def configure_usb_flags(cpp_defines):
|
def configure_usb_flags(cpp_defines):
|
||||||
if "USE_TINYUSB" in cpp_defines:
|
if "USE_TINYUSB" in cpp_defines:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue