Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
9d75f9cf0b | ||
|
f7d516d135 | ||
|
39a8f8fcda |
22
.github/workflows/examples.yml
vendored
22
.github/workflows/examples.yml
vendored
@ -11,8 +11,6 @@ jobs:
|
|||||||
example:
|
example:
|
||||||
- "examples/arduino-blink"
|
- "examples/arduino-blink"
|
||||||
- "examples/arduino-wifi-scan"
|
- "examples/arduino-wifi-scan"
|
||||||
- "examples/arduino-ota"
|
|
||||||
- "examples/arduino-signed-ota"
|
|
||||||
- "examples/arduino-external-libs"
|
- "examples/arduino-external-libs"
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
@ -23,30 +21,10 @@ jobs:
|
|||||||
uses: actions/setup-python@v3
|
uses: actions/setup-python@v3
|
||||||
with:
|
with:
|
||||||
python-version: "3.9"
|
python-version: "3.9"
|
||||||
- name: Enable Long Paths
|
|
||||||
run: |
|
|
||||||
if [ "$RUNNER_OS" == "Windows" ]; then
|
|
||||||
git config --system core.longpaths true
|
|
||||||
fi
|
|
||||||
shell: bash
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
pip install -U https://github.com/platformio/platformio/archive/develop.zip
|
pip install -U https://github.com/platformio/platformio/archive/develop.zip
|
||||||
pio pkg install --global --platform symlink://.
|
pio pkg install --global --platform symlink://.
|
||||||
# OpenSSL needed for signed OTA update example
|
|
||||||
- name: Install OpenSSL
|
|
||||||
run: |
|
|
||||||
if [ "$RUNNER_OS" == "Linux" ]; then
|
|
||||||
sudo apt-get install -y openssl
|
|
||||||
elif [ "$RUNNER_OS" == "Windows" ]; then
|
|
||||||
choco install openssl
|
|
||||||
elif [ "$RUNNER_OS" == "macOS" ]; then
|
|
||||||
brew install openssl
|
|
||||||
else
|
|
||||||
echo "$RUNNER_OS not supported"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
shell: bash
|
|
||||||
- name: Build examples
|
- name: Build examples
|
||||||
run: |
|
run: |
|
||||||
pio run -d ${{ matrix.example }}
|
pio run -d ${{ matrix.example }}
|
||||||
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q128jvxq_4_padded_checksum.S",
|
|
||||||
"usb_vid": "0x1209",
|
|
||||||
"usb_pid": "0xCB74"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_0XCB_HELIOS -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x1209",
|
|
||||||
"0xCB74"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "0xcb_helios"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "Helios",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 16777216,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "0xCB"
|
|
||||||
}
|
|
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
|
||||||
"usb_vid": "0x239A",
|
|
||||||
"usb_pid": "0x812F"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_ADAFRUIT_FEATHER_RP2040_CAN -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x239A",
|
|
||||||
"0x812F"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "adafruit_feather_can"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "Feather RP2040 CAN",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 8388608,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "Adafruit"
|
|
||||||
}
|
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
|
||||||
"usb_vid": "0x239A",
|
|
||||||
"usb_pid": "0x8127"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_ADAFRUIT_FEATHER_RP2040_DVI -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x239A",
|
|
||||||
"0x8127"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "adafruit_feather_dvi"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "Feather RP2040 DVI",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 8388608,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "Adafruit"
|
|
||||||
}
|
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
|
||||||
"usb_vid": "0x239A",
|
|
||||||
"usb_pid": "0x8131"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_ADAFRUIT_FEATHER_RP2040_PROP_MAKER -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x239A",
|
|
||||||
"0x8131"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "adafruit_feather_prop_maker"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "Feather RP2040 Prop-Maker",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 8388608,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "Adafruit"
|
|
||||||
}
|
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
|
||||||
"usb_vid": "0x239A",
|
|
||||||
"usb_pid": "0x812D"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_ADAFRUIT_FEATHER_RP2040_RFM -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x239A",
|
|
||||||
"0x812D"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "adafruit_feather_rfm"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "Feather RP2040 RFM",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 8388608,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "Adafruit"
|
|
||||||
}
|
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
|
||||||
"usb_vid": "0x239A",
|
|
||||||
"usb_pid": "0x8121"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_ADAFRUIT_FEATHER_RP2040_SCORPIO -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x239A",
|
|
||||||
"0x8121"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "adafruit_feather_scorpio"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "Feather RP2040 SCORPIO",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 8388608,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "Adafruit"
|
|
||||||
}
|
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
|
||||||
"usb_vid": "0x239A",
|
|
||||||
"usb_pid": "0x812B"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_ADAFRUIT_FEATHER_RP2040_THINKINK -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x239A",
|
|
||||||
"0x812B"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "adafruit_feather_thinkink"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "Feather RP2040 ThinkINK",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 8388608,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "Adafruit"
|
|
||||||
}
|
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
|
||||||
"usb_vid": "0x239A",
|
|
||||||
"usb_pid": "0x8129"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_ADAFRUIT_FEATHER_RP2040_USB_HOST -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x239A",
|
|
||||||
"0x8129"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "adafruit_feather_usb_host"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "Feather RP2040 USB Host",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 8388608,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "Adafruit"
|
|
||||||
}
|
|
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
"earlephilhower": {
|
"earlephilhower": {
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
||||||
"usb_vid": "0x2341",
|
"usb_vid": "0x2341",
|
||||||
"usb_pid": "0x005E"
|
"usb_pid": "0x0058"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"core": "earlephilhower",
|
"core": "earlephilhower",
|
||||||
@ -18,7 +18,7 @@
|
|||||||
],
|
],
|
||||||
[
|
[
|
||||||
"0x2341",
|
"0x2341",
|
||||||
"0x005E"
|
"0x0058"
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"mcu": "rp2040",
|
"mcu": "rp2040",
|
||||||
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
|
||||||
"usb_vid": "0x2E8A",
|
|
||||||
"usb_pid": "0x000A"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_ARTRONSHOP_RP2_NANO -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x000A"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "artronshop_rp2_nano"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "RP2 Nano",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 2097152,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "ArtronShop"
|
|
||||||
}
|
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
|
||||||
"usb_vid": "0x2E8A",
|
|
||||||
"usb_pid": "0x1041"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_BRIDGETEK_IDM2040-7A -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250 -DFT8XX_TYPE=BT817 -DDISPLAY_RES=WVGA -DPLATFORM_RP2040",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x1041"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "bridgetek_idm2040-7a"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "IDM2040-7A",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 8388608,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "BridgeTek"
|
|
||||||
}
|
|
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
|
||||||
"usb_vid": "0x2E8A",
|
|
||||||
"usb_pid": "0x1036"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_CHALLENGER_2040_NFC_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x1036"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "challenger_2040_nfc"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "Challenger 2040 NFC",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 8388608,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "iLabs"
|
|
||||||
}
|
|
@ -9,7 +9,7 @@
|
|||||||
},
|
},
|
||||||
"core": "earlephilhower",
|
"core": "earlephilhower",
|
||||||
"cpu": "cortex-m0plus",
|
"cpu": "cortex-m0plus",
|
||||||
"extra_flags": "-D ARDUINO_CHALLENGER_2040_SDRTC_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
|
"extra_flags": "-D ARDUINO_CHALLENGER_NB_2040_SDRTC_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
|
||||||
"f_cpu": "133000000L",
|
"f_cpu": "133000000L",
|
||||||
"hwids": [
|
"hwids": [
|
||||||
[
|
[
|
||||||
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
|
||||||
"usb_vid": "0x2E8A",
|
|
||||||
"usb_pid": "0x1052"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_CHALLENGER_2040_UWB_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x1052"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "challenger_2040_uwb"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "Challenger 2040 UWB",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 8388608,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "iLabs"
|
|
||||||
}
|
|
@ -9,7 +9,7 @@
|
|||||||
},
|
},
|
||||||
"core": "earlephilhower",
|
"core": "earlephilhower",
|
||||||
"cpu": "cortex-m0plus",
|
"cpu": "cortex-m0plus",
|
||||||
"extra_flags": "-D ARDUINO_CHALLENGER_2040_WIFI_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250 -DWIFIESPAT2",
|
"extra_flags": "-D ARDUINO_CHALLENGER_2040_WIFI_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
|
||||||
"f_cpu": "133000000L",
|
"f_cpu": "133000000L",
|
||||||
"hwids": [
|
"hwids": [
|
||||||
[
|
[
|
||||||
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
|
||||||
"usb_vid": "0x2E8A",
|
|
||||||
"usb_pid": "0x105F"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_CHALLENGER_2040_WIFI6_BLE_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500 -DWIFIESPAT2",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x105F"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "challenger_2040_wifi6_ble"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "Challenger 2040 WiFi6/BLE",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 8388608,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "iLabs"
|
|
||||||
}
|
|
@ -9,7 +9,7 @@
|
|||||||
},
|
},
|
||||||
"core": "earlephilhower",
|
"core": "earlephilhower",
|
||||||
"cpu": "cortex-m0plus",
|
"cpu": "cortex-m0plus",
|
||||||
"extra_flags": "-D ARDUINO_CHALLENGER_2040_WIFI_BLE_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500 -DWIFIESPAT2",
|
"extra_flags": "-D ARDUINO_CHALLENGER_2040_WIFI_BLE_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500",
|
||||||
"f_cpu": "133000000L",
|
"f_cpu": "133000000L",
|
||||||
"hwids": [
|
"hwids": [
|
||||||
[
|
[
|
||||||
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -4,12 +4,12 @@
|
|||||||
"earlephilhower": {
|
"earlephilhower": {
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
||||||
"usb_vid": "0x2E8A",
|
"usb_vid": "0x2E8A",
|
||||||
"usb_pid": "0x100D"
|
"usb_pid": "0x100B"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"core": "earlephilhower",
|
"core": "earlephilhower",
|
||||||
"cpu": "cortex-m0plus",
|
"cpu": "cortex-m0plus",
|
||||||
"extra_flags": "-D ARDUINO_CHALLENGER_NB_2040_WIFI_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500 -DWIFIESPAT2",
|
"extra_flags": "-D ARDUINO_CHALLENGER_NB_2040_WIFI_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500",
|
||||||
"f_cpu": "133000000L",
|
"f_cpu": "133000000L",
|
||||||
"hwids": [
|
"hwids": [
|
||||||
[
|
[
|
||||||
@ -18,7 +18,7 @@
|
|||||||
],
|
],
|
||||||
[
|
[
|
||||||
"0x2E8A",
|
"0x2E8A",
|
||||||
"0x100D"
|
"0x100B"
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"mcu": "rp2040",
|
"mcu": "rp2040",
|
||||||
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
|
||||||
"usb_vid": "0x2E8A",
|
|
||||||
"usb_pid": "0x000A"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_DATANOISETV_PICOADK -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x000A"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "datanoisetv_picoadk"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "PicoADK",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 2097152,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "DatanoiseTV"
|
|
||||||
}
|
|
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
|
||||||
"usb_vid": "0x2E8A",
|
|
||||||
"usb_pid": "0x1037"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_ELECTRONICCATS_HUNTERCAT_NFC -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x1037"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "electroniccats_huntercat_nfc"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "HunterCat NFC RP2040",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 2097152,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "ElectronicCats"
|
|
||||||
}
|
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
|
||||||
"usb_vid": "0x2E8A",
|
|
||||||
"usb_pid": "0xEE20"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_EXTREMEELEXTRONICS_RC2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0xEE20"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "extelec_rc2040"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "RC2040",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 2097152,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "ExtremeElectronics"
|
|
||||||
}
|
|
@ -2,7 +2,7 @@
|
|||||||
"build": {
|
"build": {
|
||||||
"arduino": {
|
"arduino": {
|
||||||
"earlephilhower": {
|
"earlephilhower": {
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
"boot2_source": "boot2_generic_03h_4_padded_checksum.S",
|
||||||
"usb_vid": "0x2E8A",
|
"usb_vid": "0x2E8A",
|
||||||
"usb_pid": "0x008A"
|
"usb_pid": "0x008A"
|
||||||
}
|
}
|
||||||
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
|
||||||
"usb_vid": "0x2E8A",
|
|
||||||
"usb_pid": "0x1011"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_MELOPERO_COOKIE_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x1011"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "melopero_cookie_rp2040"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "Cookie RP2040",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 8388608,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "Melopero"
|
|
||||||
}
|
|
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_generic_03h_2_padded_checksum.S",
|
|
||||||
"usb_vid": "0x2E8A",
|
|
||||||
"usb_pid": "0x000A"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_NEKOSYSTEMS_BL2040_MINI -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x000A"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "nekosystems_bl2040_mini"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "BL2040 Mini",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 4194304,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "Neko Systems"
|
|
||||||
}
|
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25x10cl_4_padded_checksum.S",
|
|
||||||
"usb_vid": "0x2E8A",
|
|
||||||
"usb_pid": "0x6E61"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_NULLBITS_BIT_C_PRO -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x6E61"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "nullbits_bit_c_pro"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "Bit-C PRO",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 4194304,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "nullbits"
|
|
||||||
}
|
|
@ -21,7 +21,10 @@
|
|||||||
]
|
]
|
||||||
],
|
],
|
||||||
"mcu": "rp2040",
|
"mcu": "rp2040",
|
||||||
"variant": "RASPBERRY_PI_PICO"
|
"variant": "RASPBERRY_PI_PICO",
|
||||||
|
"zephyr": {
|
||||||
|
"variant": "rpi_pico"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"debug": {
|
"debug": {
|
||||||
"jlink_device": "RP2040_M0_0",
|
"jlink_device": "RP2040_M0_0",
|
||||||
@ -29,7 +32,8 @@
|
|||||||
"svd_path": "rp2040.svd"
|
"svd_path": "rp2040.svd"
|
||||||
},
|
},
|
||||||
"frameworks": [
|
"frameworks": [
|
||||||
"arduino"
|
"arduino",
|
||||||
|
"zephyr"
|
||||||
],
|
],
|
||||||
"name": "Raspberry Pi Pico",
|
"name": "Raspberry Pi Pico",
|
||||||
"upload": {
|
"upload": {
|
||||||
@ -41,7 +45,6 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q64jv_4_padded_checksum.S",
|
|
||||||
"usb_vid": "0x2E8A",
|
|
||||||
"usb_pid": "0x1008"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_PIMORONI_PGA2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x1008"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "pimoroni_pga2040"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "PGA2040",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 8388608,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "Pimoroni"
|
|
||||||
}
|
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
|
||||||
"usb_vid": "0x2E8A",
|
|
||||||
"usb_pid": "0x100A"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_PIMORONI_PLASMA2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x100A"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "pimoroni_plasma2040"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "Plasma2040",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 2097152,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "Pimoroni"
|
|
||||||
}
|
|
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
|
||||||
"usb_vid": "0x2886",
|
|
||||||
"usb_pid": "0x0050"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_SEEED_INDICATOR_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x2886",
|
|
||||||
"0x0050"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "seeed_indicator_rp2040"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "INDICATOR RP2040",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 2097152,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "Seeed"
|
|
||||||
}
|
|
@ -9,7 +9,7 @@
|
|||||||
},
|
},
|
||||||
"core": "earlephilhower",
|
"core": "earlephilhower",
|
||||||
"cpu": "cortex-m0plus",
|
"cpu": "cortex-m0plus",
|
||||||
"extra_flags": "-D ARDUINO_SEEED_XIAO_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
|
"extra_flags": "-D ARDUINO_SEEED_XAIO_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
|
||||||
"f_cpu": "133000000L",
|
"f_cpu": "133000000L",
|
||||||
"hwids": [
|
"hwids": [
|
||||||
[
|
[
|
||||||
@ -32,7 +32,7 @@
|
|||||||
"frameworks": [
|
"frameworks": [
|
||||||
"arduino"
|
"arduino"
|
||||||
],
|
],
|
||||||
"name": "XIAO RP2040",
|
"name": "XAIO RP2040",
|
||||||
"upload": {
|
"upload": {
|
||||||
"maximum_ram_size": 270336,
|
"maximum_ram_size": 270336,
|
||||||
"maximum_size": 2097152,
|
"maximum_size": 2097152,
|
||||||
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_generic_03h_4_padded_checksum.S",
|
|
||||||
"usb_vid": "0x2E8A",
|
|
||||||
"usb_pid": "0x800A"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_YD_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x800A"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "vccgnd_yd_rp2040"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "YD RP2040",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 16777216,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "VCC-GND"
|
|
||||||
}
|
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_generic_03h_4_padded_checksum.S",
|
|
||||||
"usb_vid": "0x2E8A",
|
|
||||||
"usb_pid": "0x000A"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_VIYALAB_MIZU_RP2040 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=250",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x000A"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "viyalab_mizu"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "Mizu RP2040",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 8388608,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "Viyalab"
|
|
||||||
}
|
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q16jvxq_4_padded_checksum.S",
|
|
||||||
"usb_vid": "0x2E8A",
|
|
||||||
"usb_pid": "0x1021"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_WAVESHARE_RP2040_LCD_0_96 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x1021"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "waveshare_rp2040_lcd_0_96"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "RP2040 LCD 0.96",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 2097152,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "Waveshare"
|
|
||||||
}
|
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q16jvxq_4_padded_checksum.S",
|
|
||||||
"usb_vid": "0x2E8A",
|
|
||||||
"usb_pid": "0x1039"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_WAVESHARE_RP2040_LCD_1_28 -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x1039"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "waveshare_rp2040_lcd_1_28"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "RP2040 LCD 1.28",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 2097152,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "Waveshare"
|
|
||||||
}
|
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q16jvxq_4_padded_checksum.S",
|
|
||||||
"usb_vid": "0x2E8A",
|
|
||||||
"usb_pid": "0x103A"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_WAVESHARE_RP2040_ONE -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x103A"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "waveshare_rp2040_one"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "RP2040 One",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 4194304,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "Waveshare"
|
|
||||||
}
|
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
|
||||||
"usb_vid": "0x2E8A",
|
|
||||||
"usb_pid": "0x1020"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_WAVESHARE_RP2040_PLUS -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x1020"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "waveshare_rp2040_plus_16mb"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "RP2040 Plus 16MB",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 16777216,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "Waveshare"
|
|
||||||
}
|
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q080_2_padded_checksum.S",
|
|
||||||
"usb_vid": "0x2E8A",
|
|
||||||
"usb_pid": "0x1020"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_WAVESHARE_RP2040_PLUS -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x1020"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "waveshare_rp2040_plus_4mb"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "RP2040 Plus 4MB",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 4194304,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "Waveshare"
|
|
||||||
}
|
|
@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
"build": {
|
|
||||||
"arduino": {
|
|
||||||
"earlephilhower": {
|
|
||||||
"boot2_source": "boot2_w25q16jvxq_4_padded_checksum.S",
|
|
||||||
"usb_vid": "0x2E8A",
|
|
||||||
"usb_pid": "0x0003"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"core": "earlephilhower",
|
|
||||||
"cpu": "cortex-m0plus",
|
|
||||||
"extra_flags": "-D ARDUINO_WAVESHARE_RP2040_ZERO -DARDUINO_ARCH_RP2040 -DUSBD_MAX_POWER_MA=500",
|
|
||||||
"f_cpu": "133000000L",
|
|
||||||
"hwids": [
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x00C0"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"0x2E8A",
|
|
||||||
"0x0003"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"mcu": "rp2040",
|
|
||||||
"variant": "waveshare_rp2040_zero"
|
|
||||||
},
|
|
||||||
"debug": {
|
|
||||||
"jlink_device": "RP2040_M0_0",
|
|
||||||
"openocd_target": "rp2040.cfg",
|
|
||||||
"svd_path": "rp2040.svd"
|
|
||||||
},
|
|
||||||
"frameworks": [
|
|
||||||
"arduino"
|
|
||||||
],
|
|
||||||
"name": "RP2040 Zero",
|
|
||||||
"upload": {
|
|
||||||
"maximum_ram_size": 270336,
|
|
||||||
"maximum_size": 2097152,
|
|
||||||
"require_upload_port": true,
|
|
||||||
"native_usb": true,
|
|
||||||
"use_1200bps_touch": true,
|
|
||||||
"wait_for_upload_port": false,
|
|
||||||
"protocol": "picotool",
|
|
||||||
"protocols": [
|
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
|
||||||
"jlink",
|
|
||||||
"raspberrypi-swd",
|
|
||||||
"picotool",
|
|
||||||
"picoprobe",
|
|
||||||
"pico-debug"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
|
||||||
"vendor": "Waveshare"
|
|
||||||
}
|
|
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -42,13 +42,11 @@
|
|||||||
"wait_for_upload_port": false,
|
"wait_for_upload_port": false,
|
||||||
"protocol": "picotool",
|
"protocol": "picotool",
|
||||||
"protocols": [
|
"protocols": [
|
||||||
"blackmagic",
|
|
||||||
"cmsis-dap",
|
"cmsis-dap",
|
||||||
"jlink",
|
"jlink",
|
||||||
"raspberrypi-swd",
|
"raspberrypi-swd",
|
||||||
"picotool",
|
"picotool",
|
||||||
"picoprobe",
|
"picoprobe"
|
||||||
"pico-debug"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
"url": "https://www.raspberrypi.org/products/raspberry-pi-pico/",
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 6174f769bfc8610a397ed0c912cd059246e547cd
|
Subproject commit ed9a3458e336660fdf2b1d4a4c828a2ddfd214ad
|
30
builder/frameworks/zephyr.py
Normal file
30
builder/frameworks/zephyr.py
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# Copyright 2019-present PlatformIO <contact@platformio.org>
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
"""
|
||||||
|
The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple
|
||||||
|
hardware architectures, optimized for resource constrained devices, and built with
|
||||||
|
safety and security in mind.
|
||||||
|
|
||||||
|
https://github.com/zephyrproject-rtos/zephyr
|
||||||
|
"""
|
||||||
|
|
||||||
|
from os.path import join
|
||||||
|
|
||||||
|
from SCons.Script import Import, SConscript
|
||||||
|
|
||||||
|
Import("env")
|
||||||
|
|
||||||
|
SConscript(
|
||||||
|
join(env.PioPlatform().get_package_dir("framework-zephyr"), "scripts",
|
||||||
|
"platformio", "platformio-build.py"), exports="env")
|
195
builder/main.py
195
builder/main.py
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
import sys
|
import sys
|
||||||
from platform import system
|
from platform import system
|
||||||
from os import makedirs, remove
|
from os import makedirs
|
||||||
from os.path import isdir, join, isfile
|
from os.path import isdir, join, isfile
|
||||||
import re
|
import re
|
||||||
import time
|
import time
|
||||||
@ -116,16 +116,36 @@ def BeforeUpload(target, source, env): # pylint: disable=W0613,W0621
|
|||||||
|
|
||||||
|
|
||||||
def generate_uf2(target, source, env):
|
def generate_uf2(target, source, env):
|
||||||
elf_file = target[0].get_path()
|
fw_file = target[0].get_path()
|
||||||
env.Execute(
|
print("Framework is :" + str(env["PIOFRAMEWORK"]))
|
||||||
" ".join(
|
if "zephyr" in env["PIOFRAMEWORK"]:
|
||||||
[
|
FRAMEWORK_DIR = env.PioPlatform().get_package_dir("framework-zephyr")
|
||||||
"elf2uf2",
|
env.Execute(
|
||||||
'"%s"' % elf_file,
|
" ".join(
|
||||||
'"%s"' % elf_file.replace(".elf", ".uf2"),
|
[
|
||||||
]
|
"$PYTHONEXE",
|
||||||
|
'"%s"' % join(FRAMEWORK_DIR, "scripts", "uf2conv.py"),
|
||||||
|
"-c",
|
||||||
|
"-f",
|
||||||
|
"RP2040",
|
||||||
|
"-b",
|
||||||
|
board.get("upload.offset_address", "0x10000000"),
|
||||||
|
"-o",
|
||||||
|
'"%s"' % fw_file.replace(".bin", ".uf2"),
|
||||||
|
'"%s"' % fw_file,
|
||||||
|
]
|
||||||
|
)
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
env.Execute(
|
||||||
|
" ".join(
|
||||||
|
[
|
||||||
|
"elf2uf2",
|
||||||
|
'"%s"' % fw_file,
|
||||||
|
'"%s"' % fw_file.replace(".elf", ".uf2"),
|
||||||
|
]
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
env = DefaultEnvironment()
|
env = DefaultEnvironment()
|
||||||
@ -184,22 +204,6 @@ env.Append(
|
|||||||
"$TARGET"
|
"$TARGET"
|
||||||
]), "Building $TARGET"),
|
]), "Building $TARGET"),
|
||||||
suffix=".hex"
|
suffix=".hex"
|
||||||
),
|
|
||||||
BinToSignedBin=Builder(
|
|
||||||
action=env.VerboseAction(" ".join([
|
|
||||||
'"$PYTHONEXE" "%s"' % join(
|
|
||||||
platform.get_package_dir("framework-arduinopico") or "",
|
|
||||||
"tools", "signing.py"),
|
|
||||||
"--mode",
|
|
||||||
"sign",
|
|
||||||
"--privatekey",
|
|
||||||
'"%s"' % join("$PROJECT_SRC_DIR", "private.key"),
|
|
||||||
"--bin",
|
|
||||||
"$SOURCES",
|
|
||||||
"--out",
|
|
||||||
"$TARGET"
|
|
||||||
]), "Building $TARGET"),
|
|
||||||
suffix=".bin.signed"
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -225,30 +229,22 @@ env.Append(
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
is_arduino_pico_build = env.BoardConfig().get("build.core", "arduino") == "earlephilhower" and "arduino" in env.get("PIOFRAMEWORK")
|
|
||||||
if is_arduino_pico_build:
|
|
||||||
pubkey = join(env.subst("$PROJECT_SRC_DIR"), "public.key")
|
|
||||||
if isfile(pubkey):
|
|
||||||
header_file = join(env.subst("$BUILD_DIR"), "core", "Updater_Signing.h")
|
|
||||||
env.Prepend(CCFLAGS=['-I"%s"' % join("$BUILD_DIR", "core")])
|
|
||||||
env.Execute(" ".join([
|
|
||||||
'"$PYTHONEXE" "%s"' % join(
|
|
||||||
platform.get_package_dir("framework-arduinopico"), "tools", "signing.py"),
|
|
||||||
"--mode", "header",
|
|
||||||
"--publickey", '"%s"' % join("$PROJECT_SRC_DIR", "public.key"),
|
|
||||||
"--out", '"%s"' % join("$BUILD_DIR", "core", "Updater_Signing.h")
|
|
||||||
]))
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Target: Build executable and linkable firmware
|
# Target: Build executable and linkable firmware
|
||||||
#
|
#
|
||||||
|
|
||||||
|
frameworks = env.get("PIOFRAMEWORK", [])
|
||||||
|
if "zephyr" in frameworks:
|
||||||
|
env.SConscript(
|
||||||
|
join(platform.get_package_dir(
|
||||||
|
"framework-zephyr"), "scripts", "platformio", "platformio-build-pre.py"),
|
||||||
|
exports={"env": env}
|
||||||
|
)
|
||||||
|
|
||||||
target_elf = None
|
target_elf = None
|
||||||
target_signed_bin = None
|
|
||||||
if "nobuild" in COMMAND_LINE_TARGETS:
|
if "nobuild" in COMMAND_LINE_TARGETS:
|
||||||
target_elf = join("$BUILD_DIR", "${PROGNAME}.elf")
|
target_elf = join("$BUILD_DIR", "${PROGNAME}.elf")
|
||||||
target_firm = join("$BUILD_DIR", "${PROGNAME}.bin")
|
target_firm = join("$BUILD_DIR", "${PROGNAME}.bin")
|
||||||
target_firm = join("$BUILD_DIR", "${PROGNAME}.bin.signed")
|
|
||||||
else:
|
else:
|
||||||
target_elf = env.BuildProgram()
|
target_elf = env.BuildProgram()
|
||||||
if set(["buildfs", "uploadfs"]) & set(COMMAND_LINE_TARGETS):
|
if set(["buildfs", "uploadfs"]) & set(COMMAND_LINE_TARGETS):
|
||||||
@ -257,17 +253,16 @@ else:
|
|||||||
AlwaysBuild(target_firm)
|
AlwaysBuild(target_firm)
|
||||||
else:
|
else:
|
||||||
target_firm = env.ElfToBin(join("$BUILD_DIR", "${PROGNAME}"), target_elf)
|
target_firm = env.ElfToBin(join("$BUILD_DIR", "${PROGNAME}"), target_elf)
|
||||||
if is_arduino_pico_build:
|
|
||||||
target_signed_bin = env.BinToSignedBin(join("$BUILD_DIR", "${PROGNAME}"), target_firm)
|
|
||||||
env.Depends(target_signed_bin, "checkprogsize")
|
|
||||||
env.Depends(target_firm, "checkprogsize")
|
env.Depends(target_firm, "checkprogsize")
|
||||||
|
|
||||||
env.AddPlatformTarget("buildfs", target_firm, target_firm, "Build Filesystem Image")
|
env.AddPlatformTarget("buildfs", target_firm, target_firm, "Build Filesystem Image")
|
||||||
AlwaysBuild(env.Alias("nobuild", target_firm))
|
AlwaysBuild(env.Alias("nobuild", target_firm))
|
||||||
target_buildprog = env.Alias("buildprog", [target_firm, target_signed_bin], target_firm)
|
target_buildprog = env.Alias("buildprog", target_firm, target_firm)
|
||||||
|
|
||||||
|
uf2_source = target_firm if "zephyr" in env["PIOFRAMEWORK"] else target_elf
|
||||||
|
|
||||||
env.AddPostAction(
|
env.AddPostAction(
|
||||||
target_elf, env.VerboseAction(generate_uf2, "Generating UF2 image")
|
uf2_source, env.VerboseAction(generate_uf2, "Generating UF2 image")
|
||||||
)
|
)
|
||||||
|
|
||||||
def _update_max_upload_size(env):
|
def _update_max_upload_size(env):
|
||||||
@ -319,115 +314,14 @@ def UploadUF2ToDisk(target, source, env):
|
|||||||
copyfile(fpath, join(env.subst("$UPLOAD_PORT"), "%s.%s" % (progname, ext)))
|
copyfile(fpath, join(env.subst("$UPLOAD_PORT"), "%s.%s" % (progname, ext)))
|
||||||
print(
|
print(
|
||||||
"Firmware has been successfully uploaded.\n"
|
"Firmware has been successfully uploaded.\n"
|
||||||
|
"(Some boards may require manual hard reset)"
|
||||||
)
|
)
|
||||||
|
|
||||||
def TryResetPico(target, source, env):
|
|
||||||
upload_options = {}
|
|
||||||
if "BOARD" in env:
|
|
||||||
upload_options = env.BoardConfig().get("upload", {})
|
|
||||||
ports = list_serial_ports()
|
|
||||||
if len(ports) != 0:
|
|
||||||
last_port = ports[-1]["port"]
|
|
||||||
if upload_options.get("use_1200bps_touch", False):
|
|
||||||
env.TouchSerialPort(last_port, 1200)
|
|
||||||
time.sleep(2.0)
|
|
||||||
|
|
||||||
from platformio.device.list.util import list_logical_devices
|
|
||||||
from platformio.device.finder import is_pattern_port
|
|
||||||
from fnmatch import fnmatch
|
|
||||||
|
|
||||||
def find_rpi_disk(initial_port):
|
|
||||||
msdlabels = ("RPI-RP2")
|
|
||||||
item:str
|
|
||||||
for item in list_logical_devices():
|
|
||||||
if item["path"].startswith("/net"):
|
|
||||||
continue
|
|
||||||
if (
|
|
||||||
initial_port
|
|
||||||
and is_pattern_port(initial_port)
|
|
||||||
and not fnmatch(item["path"], initial_port)
|
|
||||||
):
|
|
||||||
continue
|
|
||||||
mbed_pages = [join(item["path"], n) for n in ("INDEX.HTM", "INFO_UF2.TXT")]
|
|
||||||
if any(isfile(p) for p in mbed_pages):
|
|
||||||
return item["path"]
|
|
||||||
if item["name"] and any(l in item["name"].lower() for l in msdlabels):
|
|
||||||
return item["path"]
|
|
||||||
return None
|
|
||||||
|
|
||||||
def AutodetectPicoDisk(target, source, env):
|
|
||||||
initial_port = env.subst("$UPLOAD_PORT")
|
|
||||||
if initial_port and not is_pattern_port(initial_port):
|
|
||||||
print(env.subst("Using manually specified: $UPLOAD_PORT"))
|
|
||||||
return
|
|
||||||
|
|
||||||
if upload_protocol == "mbed":
|
|
||||||
env.Replace(UPLOAD_PORT=find_rpi_disk(initial_port))
|
|
||||||
|
|
||||||
if env.subst("$UPLOAD_PORT"):
|
|
||||||
print(env.subst("Auto-detected: $UPLOAD_PORT"))
|
|
||||||
else:
|
|
||||||
sys.stderr.write(
|
|
||||||
"Error: Please specify `upload_port` for environment or use "
|
|
||||||
"global `--upload-port` option.\n"
|
|
||||||
"For some development platforms it can be a USB flash "
|
|
||||||
"drive (i.e. /media/<user>/<device name>)\n"
|
|
||||||
)
|
|
||||||
env.Exit(1)
|
|
||||||
|
|
||||||
if upload_protocol == "mbed":
|
if upload_protocol == "mbed":
|
||||||
upload_actions = [
|
upload_actions = [
|
||||||
env.VerboseAction(TryResetPico, "Trying to reset Pico into bootloader mode..."),
|
env.VerboseAction(env.AutodetectUploadPort, "Looking for upload disk..."),
|
||||||
env.VerboseAction(AutodetectPicoDisk, "Looking for upload disk..."),
|
|
||||||
env.VerboseAction(UploadUF2ToDisk, "Uploading $SOURCE")
|
env.VerboseAction(UploadUF2ToDisk, "Uploading $SOURCE")
|
||||||
]
|
]
|
||||||
|
|
||||||
elif upload_protocol.startswith("blackmagic"):
|
|
||||||
env.Replace(
|
|
||||||
UPLOADER="$GDB",
|
|
||||||
UPLOADERFLAGS=[
|
|
||||||
"-nx",
|
|
||||||
"--batch",
|
|
||||||
"-ex", "target extended-remote $UPLOAD_PORT",
|
|
||||||
"-ex", "monitor %s_scan" %
|
|
||||||
("jtag" if upload_protocol == "blackmagic-jtag" else "swdp"),
|
|
||||||
"-ex", "attach 1",
|
|
||||||
"-ex", "load",
|
|
||||||
"-ex", "compare-sections",
|
|
||||||
"-ex", "kill"
|
|
||||||
],
|
|
||||||
UPLOADCMD="$UPLOADER $UPLOADERFLAGS $SOURCE"
|
|
||||||
)
|
|
||||||
upload_source = target_elf
|
|
||||||
upload_actions = [
|
|
||||||
env.VerboseAction(env.AutodetectUploadPort, "Looking for BlackMagic port..."),
|
|
||||||
env.VerboseAction("$UPLOADCMD", "Uploading $SOURCE")
|
|
||||||
]
|
|
||||||
elif upload_protocol == "espota":
|
|
||||||
if not env.subst("$UPLOAD_PORT"):
|
|
||||||
sys.stderr.write(
|
|
||||||
"Error: Please specify IP address or host name of ESP device "
|
|
||||||
"using `upload_port` for build environment or use "
|
|
||||||
"global `--upload-port` option.\n"
|
|
||||||
"See https://docs.platformio.org/page/platforms/"
|
|
||||||
"espressif8266.html#over-the-air-ota-update\n")
|
|
||||||
env.Replace(
|
|
||||||
UPLOADER=join(
|
|
||||||
platform.get_package_dir("framework-arduinopico") or "",
|
|
||||||
"tools", "espota.py"),
|
|
||||||
UPLOADERFLAGS=["--debug", "--progress", "-i", "$UPLOAD_PORT", "-p", "2040"],
|
|
||||||
UPLOADCMD='"$PYTHONEXE" "$UPLOADER" $UPLOADERFLAGS -f $SOURCE'
|
|
||||||
)
|
|
||||||
if "uploadfs" in COMMAND_LINE_TARGETS:
|
|
||||||
env.Append(UPLOADERFLAGS=["-s"])
|
|
||||||
else:
|
|
||||||
# check if we have a .bin.signed file available.
|
|
||||||
# since the file may not be build yet, we try to predict that we will
|
|
||||||
# have that file if they private signing key exists.
|
|
||||||
if isfile(join(env.subst("$PROJECT_SRC_DIR"), "private.key")):
|
|
||||||
sys.stdout.write("Using signed OTA update file.")
|
|
||||||
upload_source = target_signed_bin
|
|
||||||
upload_actions = [env.VerboseAction("$UPLOADCMD", "Uploading $SOURCE")]
|
|
||||||
elif upload_protocol == "picotool":
|
elif upload_protocol == "picotool":
|
||||||
env.Replace(
|
env.Replace(
|
||||||
UPLOADER=join(platform.get_package_dir("tool-rp2040tools") or "", "rp2040load"),
|
UPLOADER=join(platform.get_package_dir("tool-rp2040tools") or "", "rp2040load"),
|
||||||
@ -541,4 +435,5 @@ env.AddPlatformTarget("uploadfs", target_firm, upload_actions, "Upload Filesyste
|
|||||||
#
|
#
|
||||||
# Default targets
|
# Default targets
|
||||||
#
|
#
|
||||||
|
|
||||||
Default([target_buildprog, target_size])
|
Default([target_buildprog, target_size])
|
||||||
|
@ -40,8 +40,5 @@ board = seeed_xiao_rp2040
|
|||||||
[env:sparkfun_thingplusrp2040]
|
[env:sparkfun_thingplusrp2040]
|
||||||
board = sparkfun_thingplusrp2040
|
board = sparkfun_thingplusrp2040
|
||||||
|
|
||||||
[env:pimoroni_pga2040]
|
|
||||||
board = pimoroni_pga2040
|
|
||||||
|
|
||||||
[env:rpipicow]
|
[env:rpipicow]
|
||||||
board = rpipicow
|
board = rpipicow
|
||||||
|
1
examples/arduino-ota/.gitignore
vendored
1
examples/arduino-ota/.gitignore
vendored
@ -1 +0,0 @@
|
|||||||
.pio
|
|
@ -1,33 +0,0 @@
|
|||||||
How to build PlatformIO based project
|
|
||||||
=====================================
|
|
||||||
|
|
||||||
1. [Install PlatformIO Core](https://docs.platformio.org/page/core.html)
|
|
||||||
2. Download [development platform with examples](https://github.com/platformio/platform-raspberrypi/archive/develop.zip)
|
|
||||||
3. Extract ZIP archive
|
|
||||||
4. Run these commands:
|
|
||||||
|
|
||||||
```shell
|
|
||||||
# Change directory to example
|
|
||||||
$ cd platform-raspberrypi/examples/arduino-ota
|
|
||||||
|
|
||||||
# Build project
|
|
||||||
$ pio run
|
|
||||||
|
|
||||||
# Upload firmware
|
|
||||||
$ pio run --target upload
|
|
||||||
|
|
||||||
# Clean build files
|
|
||||||
$ pio run --target clean
|
|
||||||
```
|
|
||||||
|
|
||||||
## Notes
|
|
||||||
|
|
||||||
This examples showcases the usage of Over-The-Air (OTA) updates with the Raspberry Pi Pico W.
|
|
||||||
|
|
||||||
For more details, see the [documentation](https://arduino-pico.readthedocs.io/en/latest/ota.html).
|
|
||||||
|
|
||||||
For the initial firmware update, use the `rpipicow_via_usb` environment.
|
|
||||||
|
|
||||||
Then, open the serial monitor and note down the IP of the Pico that it outputs.
|
|
||||||
|
|
||||||
Use this IP as the `upload_port` in the `rpipicow_via_ota` environment and use the "Upload" project task there.
|
|
@ -1,23 +0,0 @@
|
|||||||
; PlatformIO Project Configuration File
|
|
||||||
;
|
|
||||||
; Build options: build flags, source filter, extra scripting
|
|
||||||
; Upload options: custom port, speed and extra flags
|
|
||||||
; Library options: dependencies, extra library storages
|
|
||||||
;
|
|
||||||
; Please visit documentation for the other options and examples
|
|
||||||
; https://docs.platformio.org/page/projectconf.html
|
|
||||||
|
|
||||||
[env]
|
|
||||||
platform = raspberrypi
|
|
||||||
framework = arduino
|
|
||||||
|
|
||||||
; upload via USB
|
|
||||||
[env:rpipicow_via_usb]
|
|
||||||
board = rpipicow
|
|
||||||
upload_protocol = mbed
|
|
||||||
|
|
||||||
; upload via OTA (change IP)
|
|
||||||
[env:rpipicow_via_ota]
|
|
||||||
board = rpipicow
|
|
||||||
upload_protocol = espota
|
|
||||||
upload_port = 192.168.0.206
|
|
@ -1,78 +0,0 @@
|
|||||||
#include <ESP8266WiFi.h>
|
|
||||||
#include <ESP8266mDNS.h>
|
|
||||||
#include <WiFiUdp.h>
|
|
||||||
#include <ArduinoOTA.h>
|
|
||||||
#include "Updater_Signing.h"
|
|
||||||
|
|
||||||
#ifndef STASSID
|
|
||||||
#define STASSID "YourSSID"
|
|
||||||
#define STAPSK "YourPassword"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
const char* ssid = STASSID;
|
|
||||||
const char* password = STAPSK;
|
|
||||||
|
|
||||||
void setup() {
|
|
||||||
Serial.begin(115200);
|
|
||||||
Serial.println("Booting");
|
|
||||||
WiFi.mode(WIFI_STA);
|
|
||||||
WiFi.begin(ssid, password);
|
|
||||||
while (WiFi.waitForConnectResult() != WL_CONNECTED) {
|
|
||||||
Serial.println("Connection Failed! Rebooting...");
|
|
||||||
delay(5000);
|
|
||||||
rp2040.restart();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Port defaults to 8266
|
|
||||||
// ArduinoOTA.setPort(8266);
|
|
||||||
|
|
||||||
// Hostname defaults to esp8266-[ChipID]
|
|
||||||
// ArduinoOTA.setHostname("myesp8266");
|
|
||||||
|
|
||||||
// No authentication by default
|
|
||||||
// ArduinoOTA.setPassword("admin");
|
|
||||||
|
|
||||||
// Password can be set with it's md5 value as well
|
|
||||||
// MD5(admin) = 21232f297a57a5a743894a0e4a801fc3
|
|
||||||
// ArduinoOTA.setPasswordHash("21232f297a57a5a743894a0e4a801fc3");
|
|
||||||
|
|
||||||
ArduinoOTA.onStart([]() {
|
|
||||||
String type;
|
|
||||||
if (ArduinoOTA.getCommand() == U_FLASH) {
|
|
||||||
type = "sketch";
|
|
||||||
} else { // U_FS
|
|
||||||
type = "filesystem";
|
|
||||||
}
|
|
||||||
|
|
||||||
// NOTE: if updating FS this would be the place to unmount FS using FS.end()
|
|
||||||
Serial.println("Start updating " + type);
|
|
||||||
});
|
|
||||||
ArduinoOTA.onEnd([]() {
|
|
||||||
Serial.println("\nEnd");
|
|
||||||
});
|
|
||||||
ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
|
|
||||||
Serial.printf("Progress: %u%%\r", (progress / (total / 100)));
|
|
||||||
});
|
|
||||||
ArduinoOTA.onError([](ota_error_t error) {
|
|
||||||
Serial.printf("Error[%u]: ", error);
|
|
||||||
if (error == OTA_AUTH_ERROR) {
|
|
||||||
Serial.println("Auth Failed");
|
|
||||||
} else if (error == OTA_BEGIN_ERROR) {
|
|
||||||
Serial.println("Begin Failed");
|
|
||||||
} else if (error == OTA_CONNECT_ERROR) {
|
|
||||||
Serial.println("Connect Failed");
|
|
||||||
} else if (error == OTA_RECEIVE_ERROR) {
|
|
||||||
Serial.println("Receive Failed");
|
|
||||||
} else if (error == OTA_END_ERROR) {
|
|
||||||
Serial.println("End Failed");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
ArduinoOTA.begin();
|
|
||||||
Serial.println("Ready");
|
|
||||||
Serial.print("IP address: ");
|
|
||||||
Serial.println(WiFi.localIP());
|
|
||||||
}
|
|
||||||
|
|
||||||
void loop() {
|
|
||||||
ArduinoOTA.handle();
|
|
||||||
}
|
|
1
examples/arduino-signed-ota/.gitignore
vendored
1
examples/arduino-signed-ota/.gitignore
vendored
@ -1 +0,0 @@
|
|||||||
.pio
|
|
@ -1,37 +0,0 @@
|
|||||||
How to build PlatformIO based project
|
|
||||||
=====================================
|
|
||||||
|
|
||||||
1. [Install PlatformIO Core](https://docs.platformio.org/page/core.html)
|
|
||||||
2. Download [development platform with examples](https://github.com/platformio/platform-raspberrypi/archive/develop.zip)
|
|
||||||
3. Extract ZIP archive
|
|
||||||
4. Run these commands:
|
|
||||||
|
|
||||||
```shell
|
|
||||||
# Change directory to example
|
|
||||||
$ cd platform-raspberrypi/examples/arduino-signed-ota
|
|
||||||
|
|
||||||
# Build project
|
|
||||||
$ pio run
|
|
||||||
|
|
||||||
# Upload firmware
|
|
||||||
$ pio run --target upload
|
|
||||||
|
|
||||||
# Clean build files
|
|
||||||
$ pio run --target clean
|
|
||||||
```
|
|
||||||
|
|
||||||
## Notes
|
|
||||||
|
|
||||||
This examples showcases the usage of **signed** Over-The-Air (OTA) updates with the Raspberry Pi Pico W.
|
|
||||||
|
|
||||||
The difference to regular OTA updates is that update binaries are signed using the `private.key` to produce a `firmware.bin.signed` file.
|
|
||||||
|
|
||||||
The firmware then uses the `public.key` file to verify the signature on the binary it receives in an OTA update. It will reject OTA update binaries that were not properly signed.
|
|
||||||
|
|
||||||
For more details, see the [documentation](https://arduino-pico.readthedocs.io/en/latest/ota.html).
|
|
||||||
|
|
||||||
For the initial firmware update, use the `rpipicow_via_usb` environment.
|
|
||||||
|
|
||||||
Then, open the serial monitor and note down the IP of the Pico that it outputs.
|
|
||||||
|
|
||||||
Use this IP as the `upload_port` in the `rpipicow_via_ota` environment and use the "Upload" project task there.
|
|
@ -1,39 +0,0 @@
|
|||||||
|
|
||||||
This directory is intended for project header files.
|
|
||||||
|
|
||||||
A header file is a file containing C declarations and macro definitions
|
|
||||||
to be shared between several project source files. You request the use of a
|
|
||||||
header file in your project source file (C, C++, etc) located in `src` folder
|
|
||||||
by including it, with the C preprocessing directive `#include'.
|
|
||||||
|
|
||||||
```src/main.c
|
|
||||||
|
|
||||||
#include "header.h"
|
|
||||||
|
|
||||||
int main (void)
|
|
||||||
{
|
|
||||||
...
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
Including a header file produces the same results as copying the header file
|
|
||||||
into each source file that needs it. Such copying would be time-consuming
|
|
||||||
and error-prone. With a header file, the related declarations appear
|
|
||||||
in only one place. If they need to be changed, they can be changed in one
|
|
||||||
place, and programs that include the header file will automatically use the
|
|
||||||
new version when next recompiled. The header file eliminates the labor of
|
|
||||||
finding and changing all the copies as well as the risk that a failure to
|
|
||||||
find one copy will result in inconsistencies within a program.
|
|
||||||
|
|
||||||
In C, the usual convention is to give header files names that end with `.h'.
|
|
||||||
It is most portable to use only letters, digits, dashes, and underscores in
|
|
||||||
header file names, and at most one dot.
|
|
||||||
|
|
||||||
Read more about using header files in official GCC documentation:
|
|
||||||
|
|
||||||
* Include Syntax
|
|
||||||
* Include Operation
|
|
||||||
* Once-Only Headers
|
|
||||||
* Computed Includes
|
|
||||||
|
|
||||||
https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html
|
|
@ -1,46 +0,0 @@
|
|||||||
|
|
||||||
This directory is intended for project specific (private) libraries.
|
|
||||||
PlatformIO will compile them to static libraries and link into executable file.
|
|
||||||
|
|
||||||
The source code of each library should be placed in a an own separate directory
|
|
||||||
("lib/your_library_name/[here are source files]").
|
|
||||||
|
|
||||||
For example, see a structure of the following two libraries `Foo` and `Bar`:
|
|
||||||
|
|
||||||
|--lib
|
|
||||||
| |
|
|
||||||
| |--Bar
|
|
||||||
| | |--docs
|
|
||||||
| | |--examples
|
|
||||||
| | |--src
|
|
||||||
| | |- Bar.c
|
|
||||||
| | |- Bar.h
|
|
||||||
| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
|
|
||||||
| |
|
|
||||||
| |--Foo
|
|
||||||
| | |- Foo.c
|
|
||||||
| | |- Foo.h
|
|
||||||
| |
|
|
||||||
| |- README --> THIS FILE
|
|
||||||
|
|
|
||||||
|- platformio.ini
|
|
||||||
|--src
|
|
||||||
|- main.c
|
|
||||||
|
|
||||||
and a contents of `src/main.c`:
|
|
||||||
```
|
|
||||||
#include <Foo.h>
|
|
||||||
#include <Bar.h>
|
|
||||||
|
|
||||||
int main (void)
|
|
||||||
{
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
PlatformIO Library Dependency Finder will find automatically dependent
|
|
||||||
libraries scanning project source files.
|
|
||||||
|
|
||||||
More information about PlatformIO Library Dependency Finder
|
|
||||||
- https://docs.platformio.org/page/librarymanager/ldf.html
|
|
@ -1,23 +0,0 @@
|
|||||||
; PlatformIO Project Configuration File
|
|
||||||
;
|
|
||||||
; Build options: build flags, source filter, extra scripting
|
|
||||||
; Upload options: custom port, speed and extra flags
|
|
||||||
; Library options: dependencies, extra library storages
|
|
||||||
;
|
|
||||||
; Please visit documentation for the other options and examples
|
|
||||||
; https://docs.platformio.org/page/projectconf.html
|
|
||||||
|
|
||||||
[env]
|
|
||||||
platform = raspberrypi
|
|
||||||
framework = arduino
|
|
||||||
|
|
||||||
; upload via USB
|
|
||||||
[env:rpipicow_via_usb]
|
|
||||||
board = rpipicow
|
|
||||||
upload_protocol = mbed
|
|
||||||
|
|
||||||
; upload via OTA (change IP)
|
|
||||||
[env:rpipicow_via_ota]
|
|
||||||
board = rpipicow
|
|
||||||
upload_protocol = espota
|
|
||||||
upload_port = 192.168.0.206
|
|
@ -1,78 +0,0 @@
|
|||||||
#include <ESP8266WiFi.h>
|
|
||||||
#include <ESP8266mDNS.h>
|
|
||||||
#include <WiFiUdp.h>
|
|
||||||
#include <ArduinoOTA.h>
|
|
||||||
#include "Updater_Signing.h"
|
|
||||||
|
|
||||||
#ifndef STASSID
|
|
||||||
#define STASSID "YourSSID"
|
|
||||||
#define STAPSK "YourPassword"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
const char* ssid = STASSID;
|
|
||||||
const char* password = STAPSK;
|
|
||||||
|
|
||||||
void setup() {
|
|
||||||
Serial.begin(115200);
|
|
||||||
Serial.println("Booting");
|
|
||||||
WiFi.mode(WIFI_STA);
|
|
||||||
WiFi.begin(ssid, password);
|
|
||||||
while (WiFi.waitForConnectResult() != WL_CONNECTED) {
|
|
||||||
Serial.println("Connection Failed! Rebooting...");
|
|
||||||
delay(5000);
|
|
||||||
rp2040.restart();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Port defaults to 8266
|
|
||||||
// ArduinoOTA.setPort(8266);
|
|
||||||
|
|
||||||
// Hostname defaults to esp8266-[ChipID]
|
|
||||||
// ArduinoOTA.setHostname("myesp8266");
|
|
||||||
|
|
||||||
// No authentication by default
|
|
||||||
// ArduinoOTA.setPassword("admin");
|
|
||||||
|
|
||||||
// Password can be set with it's md5 value as well
|
|
||||||
// MD5(admin) = 21232f297a57a5a743894a0e4a801fc3
|
|
||||||
// ArduinoOTA.setPasswordHash("21232f297a57a5a743894a0e4a801fc3");
|
|
||||||
|
|
||||||
ArduinoOTA.onStart([]() {
|
|
||||||
String type;
|
|
||||||
if (ArduinoOTA.getCommand() == U_FLASH) {
|
|
||||||
type = "sketch";
|
|
||||||
} else { // U_FS
|
|
||||||
type = "filesystem";
|
|
||||||
}
|
|
||||||
|
|
||||||
// NOTE: if updating FS this would be the place to unmount FS using FS.end()
|
|
||||||
Serial.println("Start updating " + type);
|
|
||||||
});
|
|
||||||
ArduinoOTA.onEnd([]() {
|
|
||||||
Serial.println("\nEnd");
|
|
||||||
});
|
|
||||||
ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
|
|
||||||
Serial.printf("Progress: %u%%\r", (progress / (total / 100)));
|
|
||||||
});
|
|
||||||
ArduinoOTA.onError([](ota_error_t error) {
|
|
||||||
Serial.printf("Error[%u]: ", error);
|
|
||||||
if (error == OTA_AUTH_ERROR) {
|
|
||||||
Serial.println("Auth Failed");
|
|
||||||
} else if (error == OTA_BEGIN_ERROR) {
|
|
||||||
Serial.println("Begin Failed");
|
|
||||||
} else if (error == OTA_CONNECT_ERROR) {
|
|
||||||
Serial.println("Connect Failed");
|
|
||||||
} else if (error == OTA_RECEIVE_ERROR) {
|
|
||||||
Serial.println("Receive Failed");
|
|
||||||
} else if (error == OTA_END_ERROR) {
|
|
||||||
Serial.println("End Failed");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
ArduinoOTA.begin();
|
|
||||||
Serial.println("Ready");
|
|
||||||
Serial.print("IP address: ");
|
|
||||||
Serial.println(WiFi.localIP());
|
|
||||||
}
|
|
||||||
|
|
||||||
void loop() {
|
|
||||||
ArduinoOTA.handle();
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
-----BEGIN RSA PRIVATE KEY-----
|
|
||||||
MIIEogIBAAKCAQEAu1Pt7yEk/xI+6cozLj5Bu4xV8gXDXcHS0rSJFfl4wBTk4UXp
|
|
||||||
aJRaLfR1k0juEEa5LBRZaoA0iLj2e6kfCibONx0VVoWmeqN2HBc3zkA1eqCksI0Q
|
|
||||||
Uudzto4KhKHp0odiZ2zo6c/2Tn1zqD/m3OLoSjVTbsJmGuwx8RGMBXozpg/uL0hH
|
|
||||||
flihX+HND4Xfw92QXv7SaPBhgvM9xyRxn0/w3J2nNjtuPuVN5vcQkd8ncMexVfy9
|
|
||||||
AWp+HSA5AT5N8CJ/EeIsdDMY1US28bUePzj1WIo75bZHKZNFw/iXe2xoPpm74qri
|
|
||||||
MNSlW2craFP2K3KYnI28vJeUU6t9I6LS9zt2zQIDAQABAoIBAE5GpuDKb8Qp4qIc
|
|
||||||
fMBxAVSWMn+cSuONj0O+bp4BDaTt1ioP5ZVukDQtt0ehLOEePFgf9LEc+1a6Ozy3
|
|
||||||
EaJTTs4W2Ai8djE+xqa8SPRlPjOMluSzPUP3NRHuTpTXd3YiXksrZjP1U02+/Cos
|
|
||||||
8ZIROtFvcPqSPso3MjMyitjrFFPqEtf1P+UiamjDrMSM72YX4W55kOkiCWCnAOmw
|
|
||||||
mGTlXOIqDSTBb1lloKWJfpB3RdnNo2izkU1HMBn7hVi433NUBA22o+RZhDFSZdD4
|
|
||||||
3kbkUqXd4p+vc/sh6muJtWS/COSIPFkLzdEYpBdt3XQ4FhlsRtILJaPWXa4OPjR6
|
|
||||||
ZoOwMB0CgYEA6OHfIofQiu4+HlTDN5YdyTmtYEYcrtbaQUxuQSEa2mshBphHP8uT
|
|
||||||
mYRVl2BzuprFmXZPz+FcjnPnfxqEehljvA3wMjA/PE+nQo9yyOC0N4ulXpkkqHdR
|
|
||||||
f+4KZVR7D+hesGe+57OQmvTqYZSHEt/ubjC9wZ90UFonLjsa4zibbrsCgYEAzexn
|
|
||||||
XDnThb3ffyBgvprP0IJjgMAEY0pXD++PKPQqPu9JMz68t7roYzkKFCFVOsaWpKxC
|
|
||||||
vX9mvYjTBjLpWh+ltIAN+EFz6seIbeSJ0RNybsAXYwT/mFWGHx2tMtlW6DgBu3UD
|
|
||||||
J2Yf76n0JaddBkfNMQI00Dl41+MU+AwwTB9fTBcCgYB2+f6Pm6d1cyYVROS/X1g0
|
|
||||||
V9011FwPDwFOXwftCka31Ad5YQ71jsIHqk44GjTF3xCYyJMZ917cAGcCzr9jydjk
|
|
||||||
WJKgcXm9DEy9ep//9Jzdy+BepgrObrcajriM8E424FaP9VDY+yojoICl/cXMZM9h
|
|
||||||
SFGJvDcmXgiqW9PuxhrSxQKBgAMN2oqXoPd+1W3BQS4ShbqF9IvYTThbxebKmsj0
|
|
||||||
thuw2NkVuR7Qetnd4rRhui3g/CL9GxBMb22oNdkFsEhR59dBfvOLpPh6dR+MIC8l
|
|
||||||
prDV0IL7c/8CZbbYbdUvPAa9rejl12IiNZ8MWj6kuNB7CCQN8FKWR6CMEaeMJrs6
|
|
||||||
S+OJAoGAbehNOUwEzmUKkfxf+279kBkgabcQ3NTaeSx0QOnI9KWHFGLYLQk9cMSu
|
|
||||||
maQJ1TYpbIoP1njzJ4bI2tynhwEuSMEhh4afP6U5H10NJX4PqSd0Rqc1vSJYcszr
|
|
||||||
5mUWil8FfbCBZ8jod2NQ55KYMVY5CphCqaK/s2bw2pvIR3uqJGg=
|
|
||||||
-----END RSA PRIVATE KEY-----
|
|
@ -1,9 +0,0 @@
|
|||||||
-----BEGIN PUBLIC KEY-----
|
|
||||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu1Pt7yEk/xI+6cozLj5B
|
|
||||||
u4xV8gXDXcHS0rSJFfl4wBTk4UXpaJRaLfR1k0juEEa5LBRZaoA0iLj2e6kfCibO
|
|
||||||
Nx0VVoWmeqN2HBc3zkA1eqCksI0QUudzto4KhKHp0odiZ2zo6c/2Tn1zqD/m3OLo
|
|
||||||
SjVTbsJmGuwx8RGMBXozpg/uL0hHflihX+HND4Xfw92QXv7SaPBhgvM9xyRxn0/w
|
|
||||||
3J2nNjtuPuVN5vcQkd8ncMexVfy9AWp+HSA5AT5N8CJ/EeIsdDMY1US28bUePzj1
|
|
||||||
WIo75bZHKZNFw/iXe2xoPpm74qriMNSlW2craFP2K3KYnI28vJeUU6t9I6LS9zt2
|
|
||||||
zQIDAQAB
|
|
||||||
-----END PUBLIC KEY-----
|
|
@ -1,11 +0,0 @@
|
|||||||
|
|
||||||
This directory is intended for PIO Unit Testing and project tests.
|
|
||||||
|
|
||||||
Unit Testing is a software testing method by which individual units of
|
|
||||||
source code, sets of one or more MCU program modules together with associated
|
|
||||||
control data, usage procedures, and operating procedures, are tested to
|
|
||||||
determine whether they are fit for use. Unit testing finds problems early
|
|
||||||
in the development cycle.
|
|
||||||
|
|
||||||
More information about PIO Unit Testing:
|
|
||||||
- https://docs.platformio.org/page/plus/unit-testing.html
|
|
14
examples/zephyr-blink/platformio.ini
Normal file
14
examples/zephyr-blink/platformio.ini
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
; PlatformIO Project Configuration File
|
||||||
|
;
|
||||||
|
; Build options: build flags, source filter
|
||||||
|
; Upload options: custom upload port, speed and extra flags
|
||||||
|
; Library options: dependencies, extra library storages
|
||||||
|
; Advanced options: extra scripting
|
||||||
|
;
|
||||||
|
; Please visit documentation for the other options and examples
|
||||||
|
; https://docs.platformio.org/page/projectconf.html
|
||||||
|
|
||||||
|
[env:pico]
|
||||||
|
platform = https://github.com/maxgerhardt/platform-raspberrypi.git
|
||||||
|
board = pico
|
||||||
|
framework = zephyr
|
51
examples/zephyr-blink/src/main.c
Normal file
51
examples/zephyr-blink/src/main.c
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2016 Intel Corporation
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <zephyr.h>
|
||||||
|
#include <device.h>
|
||||||
|
#include <devicetree.h>
|
||||||
|
#include <drivers/gpio.h>
|
||||||
|
|
||||||
|
/* 1000 msec = 1 sec */
|
||||||
|
#define SLEEP_TIME_MS 1000
|
||||||
|
|
||||||
|
/* The devicetree node identifier for the "led0" alias. */
|
||||||
|
#define LED0_NODE DT_ALIAS(led0)
|
||||||
|
|
||||||
|
#if DT_NODE_HAS_STATUS(LED0_NODE, okay)
|
||||||
|
#define LED0 DT_GPIO_LABEL(LED0_NODE, gpios)
|
||||||
|
#define PIN DT_GPIO_PIN(LED0_NODE, gpios)
|
||||||
|
#define FLAGS DT_GPIO_FLAGS(LED0_NODE, gpios)
|
||||||
|
#else
|
||||||
|
/* A build error here means your board isn't set up to blink an LED. */
|
||||||
|
#error "Unsupported board: led0 devicetree alias is not defined"
|
||||||
|
#define LED0 ""
|
||||||
|
#define PIN 0
|
||||||
|
#define FLAGS 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void main(void)
|
||||||
|
{
|
||||||
|
const struct device *dev;
|
||||||
|
bool led_is_on = true;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
dev = device_get_binding(LED0);
|
||||||
|
if (dev == NULL) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = gpio_pin_configure(dev, PIN, GPIO_OUTPUT_ACTIVE | FLAGS);
|
||||||
|
if (ret < 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
while (1) {
|
||||||
|
gpio_pin_set(dev, PIN, (int)led_is_on);
|
||||||
|
led_is_on = !led_is_on;
|
||||||
|
k_msleep(SLEEP_TIME_MS);
|
||||||
|
}
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
This directory is intended for PIO Unit Testing and project tests.
|
This directory is intended for PlatformIO Test Runner and project tests.
|
||||||
|
|
||||||
Unit Testing is a software testing method by which individual units of
|
Unit Testing is a software testing method by which individual units of
|
||||||
source code, sets of one or more MCU program modules together with associated
|
source code, sets of one or more MCU program modules together with associated
|
||||||
@ -7,5 +7,5 @@ control data, usage procedures, and operating procedures, are tested to
|
|||||||
determine whether they are fit for use. Unit testing finds problems early
|
determine whether they are fit for use. Unit testing finds problems early
|
||||||
in the development cycle.
|
in the development cycle.
|
||||||
|
|
||||||
More information about PIO Unit Testing:
|
More information about PlatformIO Unit Testing:
|
||||||
- https://docs.platformio.org/page/plus/unit-testing.html
|
- https://docs.platformio.org/en/latest/advanced/unit-testing/index.html
|
7
examples/zephyr-blink/zephyr/CMakeLists.txt
Normal file
7
examples/zephyr-blink/zephyr/CMakeLists.txt
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
cmake_minimum_required(VERSION 3.20.0)
|
||||||
|
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
|
||||||
|
project(blinky)
|
||||||
|
|
||||||
|
target_sources(app PRIVATE ../src/main.c)
|
1
examples/zephyr-blink/zephyr/prj.conf
Normal file
1
examples/zephyr-blink/zephyr/prj.conf
Normal file
@ -0,0 +1 @@
|
|||||||
|
# nothing here
|
@ -18,11 +18,18 @@
|
|||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/platformio/platform-raspberrypi.git"
|
"url": "https://github.com/platformio/platform-raspberrypi.git"
|
||||||
},
|
},
|
||||||
"version": "1.9.0",
|
"version": "1.7.0",
|
||||||
"frameworks": {
|
"frameworks": {
|
||||||
"arduino": {
|
"arduino": {
|
||||||
"package": "framework-arduino-mbed",
|
"package": "framework-arduino-mbed",
|
||||||
"script": "builder/frameworks/arduino/arduino.py"
|
"script": "builder/frameworks/arduino/arduino.py"
|
||||||
|
},
|
||||||
|
"zephyr": {
|
||||||
|
"package": "framework-zephyr",
|
||||||
|
"script": "builder/frameworks/zephyr.py",
|
||||||
|
"description": "The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind",
|
||||||
|
"homepage": "https://www.zephyrproject.org",
|
||||||
|
"title": "Zephyr RTOS"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages": {
|
"packages": {
|
||||||
@ -35,19 +42,25 @@
|
|||||||
"type": "toolchain",
|
"type": "toolchain",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"owner": "earlephilhower",
|
"owner": "earlephilhower",
|
||||||
"version": "~5.100300.0"
|
"version": "5.100300.220714"
|
||||||
},
|
},
|
||||||
"framework-arduino-mbed": {
|
"framework-arduino-mbed": {
|
||||||
"type": "framework",
|
"type": "framework",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"owner": "platformio",
|
"owner": "platformio",
|
||||||
"version": "~4.0.2"
|
"version": "~3.1.1"
|
||||||
},
|
},
|
||||||
"framework-arduinopico": {
|
"framework-arduinopico": {
|
||||||
"type": "framework",
|
"type": "framework",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"owner": "earlephilhower",
|
"owner": "earlephilhower",
|
||||||
"version": "https://github.com/earlephilhower/arduino-pico.git#456b474a48175328ec251711761dcf957bf09801"
|
"version": "~1.20303.0"
|
||||||
|
},
|
||||||
|
"framework-zephyr": {
|
||||||
|
"type": "framework",
|
||||||
|
"optional": true,
|
||||||
|
"owner": "platformio",
|
||||||
|
"version": "https://github.com/maxgerhardt/zephyr.git#3.1.0_pio"
|
||||||
},
|
},
|
||||||
"tool-rp2040tools": {
|
"tool-rp2040tools": {
|
||||||
"type": "uploader",
|
"type": "uploader",
|
||||||
@ -71,6 +84,26 @@
|
|||||||
"optional": true,
|
"optional": true,
|
||||||
"owner": "earlephilhower",
|
"owner": "earlephilhower",
|
||||||
"version": "~5.100300.0"
|
"version": "~5.100300.0"
|
||||||
|
},
|
||||||
|
"tool-cmake": {
|
||||||
|
"optional": true,
|
||||||
|
"owner": "platformio",
|
||||||
|
"version": "~3.21.0"
|
||||||
|
},
|
||||||
|
"tool-dtc": {
|
||||||
|
"optional": true,
|
||||||
|
"owner": "platformio",
|
||||||
|
"version": "~1.4.7"
|
||||||
|
},
|
||||||
|
"tool-ninja": {
|
||||||
|
"optional": true,
|
||||||
|
"owner": "platformio",
|
||||||
|
"version": "^1.7.0"
|
||||||
|
},
|
||||||
|
"tool-gperf": {
|
||||||
|
"optional": true,
|
||||||
|
"owner": "platformio",
|
||||||
|
"version": "^3.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
35
platform.py
35
platform.py
@ -13,9 +13,12 @@
|
|||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
import platform
|
import platform
|
||||||
|
import sys
|
||||||
|
|
||||||
from platformio.public import PlatformBase
|
from platformio.public import PlatformBase
|
||||||
import sys
|
|
||||||
|
|
||||||
|
IS_WINDOWS = sys.platform.startswith("win")
|
||||||
|
|
||||||
class RaspberrypiPlatform(PlatformBase):
|
class RaspberrypiPlatform(PlatformBase):
|
||||||
|
|
||||||
@ -51,6 +54,15 @@ class RaspberrypiPlatform(PlatformBase):
|
|||||||
if "buildfs" in targets:
|
if "buildfs" in targets:
|
||||||
self.packages["tool-mklittlefs-rp2040-earlephilhower"]["optional"] = False
|
self.packages["tool-mklittlefs-rp2040-earlephilhower"]["optional"] = False
|
||||||
|
|
||||||
|
if "zephyr" in variables.get("pioframework", []):
|
||||||
|
for p in self.packages:
|
||||||
|
if p in ("tool-cmake", "tool-dtc", "tool-ninja"):
|
||||||
|
self.packages[p]["optional"] = False
|
||||||
|
self.packages["toolchain-gccarmnoneeabi"]["version"] = "~1.80201.0"
|
||||||
|
self.packages.pop("toolchain-rp2040-earlephilhower", None)
|
||||||
|
if not IS_WINDOWS:
|
||||||
|
self.packages["tool-gperf"]["optional"] = False
|
||||||
|
|
||||||
# configure J-LINK tool
|
# configure J-LINK tool
|
||||||
jlink_conds = [
|
jlink_conds = [
|
||||||
"jlink" in variables.get(option, "")
|
"jlink" in variables.get(option, "")
|
||||||
@ -86,15 +98,11 @@ class RaspberrypiPlatform(PlatformBase):
|
|||||||
if "tools" not in debug:
|
if "tools" not in debug:
|
||||||
debug["tools"] = {}
|
debug["tools"] = {}
|
||||||
|
|
||||||
for link in ("blackmagic", "cmsis-dap", "jlink", "raspberrypi-swd", "picoprobe", "pico-debug"):
|
for link in ("cmsis-dap", "jlink", "raspberrypi-swd", "picoprobe"):
|
||||||
if link not in upload_protocols or link in debug["tools"]:
|
if link not in upload_protocols or link in debug["tools"]:
|
||||||
continue
|
continue
|
||||||
if link == "blackmagic":
|
|
||||||
debug["tools"]["blackmagic"] = {
|
if link == "jlink":
|
||||||
"hwids": [["0x1d50", "0x6018"]],
|
|
||||||
"require_debug_port": True
|
|
||||||
}
|
|
||||||
elif link == "jlink":
|
|
||||||
assert debug.get("jlink_device"), (
|
assert debug.get("jlink_device"), (
|
||||||
"Missed J-Link Device ID for %s" % board.id)
|
"Missed J-Link Device ID for %s" % board.id)
|
||||||
debug["tools"][link] = {
|
debug["tools"][link] = {
|
||||||
@ -113,17 +121,6 @@ class RaspberrypiPlatform(PlatformBase):
|
|||||||
},
|
},
|
||||||
"onboard": link in debug.get("onboard_tools", [])
|
"onboard": link in debug.get("onboard_tools", [])
|
||||||
}
|
}
|
||||||
elif link == "pico-debug":
|
|
||||||
debug["tools"][link] = {
|
|
||||||
"server": {
|
|
||||||
"executable": "bin/openocd",
|
|
||||||
"package": "tool-openocd-rp2040-earlephilhower",
|
|
||||||
"arguments": [
|
|
||||||
"-s", "$PACKAGE_DIR/share/openocd/scripts",
|
|
||||||
"-f", "board/%s.cfg" % link,
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else:
|
else:
|
||||||
openocd_target = debug.get("openocd_target")
|
openocd_target = debug.get("openocd_target")
|
||||||
assert openocd_target, ("Missing target configuration for %s" %
|
assert openocd_target, ("Missing target configuration for %s" %
|
||||||
|
Loading…
x
Reference in New Issue
Block a user