Initial Commit.
This commit is contained in:
commit
a048be6fa8
122
.github/workflows/micropython.yml
vendored
Normal file
122
.github/workflows/micropython.yml
vendored
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
name: MicroPython
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
pull_request:
|
||||||
|
release:
|
||||||
|
types: [created]
|
||||||
|
|
||||||
|
env:
|
||||||
|
MICROPYTHON_VERSION: feature/psram
|
||||||
|
MICROPYTHON_FLAVOUR: pimoroni
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: ${{ matrix.name }} (${{ matrix.board }})
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
continue-on-error: true
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- name: pico2_rp2350
|
||||||
|
board: RPI_PICO2
|
||||||
|
- name: pico2b_rp2350
|
||||||
|
board: RPI_PICO2B
|
||||||
|
- name: plasma2350
|
||||||
|
board: PIMORONI_PLASMA2350
|
||||||
|
- name: tiny2350
|
||||||
|
board: PIMORONI_TINY2350
|
||||||
|
- name: pico_plus2_rp2350_psram
|
||||||
|
board: PIMORONI_PICO_PLUS2
|
||||||
|
- name: pico_plus2_rp2350
|
||||||
|
board: PIMORONI_PICO_PLUS2
|
||||||
|
variant: PSRAM
|
||||||
|
|
||||||
|
env:
|
||||||
|
# MicroPython version will be contained in github.event.release.tag_name for releases
|
||||||
|
RELEASE_FILE: ${{ matrix.name }}-${{ github.event.release.tag_name || github.sha }}-pimoroni-micropython
|
||||||
|
PIMORONI_PICO_DIR: "${{ github.workspace }}/pimoroni-pico-rp2350-${{ github.sha }}"
|
||||||
|
MICROPY_BOARD_DIR: "${{ github.workspace }}/pimoroni-pico-rp2350-${{ github.sha }}/micropython/board/${{ matrix.BOARD }}"
|
||||||
|
USER_C_MODULES: "${{ github.workspace }}/pimoroni-pico-rp2350-${{ github.sha }}/micropython/modules/micropython-${{ matrix.name }}.cmake"
|
||||||
|
TAG_OR_SHA: ${{ github.event.release.tag_name || github.sha }}
|
||||||
|
MICROPY_BOARD: ${{ matrix.board }}
|
||||||
|
MICROPY_BOARD_VARIANT: ${{ matrix.variant }}
|
||||||
|
BOARD_NAME: ${{ matrix.name }}
|
||||||
|
BUILD_TOOLS: pimoroni-pico-rp2350-${{ github.sha }}/ci/micropython.sh
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Compiler Cache
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: /home/runner/.ccache
|
||||||
|
key: ccache-micropython-${{ matrix.name }}-${{ github.ref }}-${{ github.sha }}
|
||||||
|
restore-keys: |
|
||||||
|
ccache-micropython-${{ matrix.name }}-${{ github.ref }}
|
||||||
|
ccache-micropython-${{ matrix.name }}-
|
||||||
|
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
path: pimoroni-pico-rp2350-${{ github.sha }}
|
||||||
|
|
||||||
|
- name: Install Arm GNU Toolchain (arm-none-eabi-gcc)
|
||||||
|
uses: carlosperate/arm-none-eabi-gcc-action@v1
|
||||||
|
with:
|
||||||
|
release: '9-2020-q2'
|
||||||
|
|
||||||
|
- name: Install CCache
|
||||||
|
run: |
|
||||||
|
source $BUILD_TOOLS
|
||||||
|
apt_install_build_deps
|
||||||
|
|
||||||
|
- name: Checkout MicroPython & Submodules
|
||||||
|
run: |
|
||||||
|
source $BUILD_TOOLS
|
||||||
|
micropython_clone
|
||||||
|
|
||||||
|
- name: "Py_Decl: Checkout py_decl"
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
repository: gadgetoid/py_decl
|
||||||
|
ref: v0.0.1
|
||||||
|
path: py_decl
|
||||||
|
|
||||||
|
- name: Build MPY Cross
|
||||||
|
run: |
|
||||||
|
source $BUILD_TOOLS
|
||||||
|
micropython_build_mpy_cross
|
||||||
|
|
||||||
|
- name: Configure MicroPython
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
source $BUILD_TOOLS
|
||||||
|
micropython_version
|
||||||
|
cmake_configure
|
||||||
|
|
||||||
|
- name: Build MicroPython
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
source $BUILD_TOOLS
|
||||||
|
cmake_build
|
||||||
|
|
||||||
|
- name: "Py_Decl: Verify UF2"
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
python3 py_decl/py_decl.py --to-json --verify build-${{ matrix.name }}/${{ env.RELEASE_FILE }}.uf2
|
||||||
|
|
||||||
|
- name: Store .uf2 as artifact
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: ${{ env.RELEASE_FILE }}.uf2
|
||||||
|
path: build-${{ matrix.name }}/${{ env.RELEASE_FILE }}.uf2
|
||||||
|
|
||||||
|
- name: Upload .uf2
|
||||||
|
if: github.event_name == 'release'
|
||||||
|
uses: actions/upload-release-asset@v1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
asset_path: build-${{ matrix.name }}/firmware.uf2
|
||||||
|
upload_url: ${{ github.event.release.upload_url }}
|
||||||
|
asset_name: ${{ env.RELEASE_FILE }}.uf2
|
||||||
|
asset_content_type: application/octet-stream
|
||||||
13
README.md
Normal file
13
README.md
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# Pimoroni Pico MicroPython for RP2350 / Pico2 boards
|
||||||
|
|
||||||
|
This repository includes board definitions and build tooling for the Pimoroni,
|
||||||
|
batteries-included flavour of MicroPython for RP2350 / Pico2 boards.
|
||||||
|
|
||||||
|
| Board | MicroPython Flavour | Download Link | Notes |
|
||||||
|
|-------|---------------------|---------------|-------|
|
||||||
|
| Pico Plus 2 | pico_plus2_rp2350 | TBC | Does not enable PSRAM
|
||||||
|
| Pico Plus 2 PSRAM | pico_plus2_rp2350_psram | TBC | :warning: Experimental: Enables PSRAM
|
||||||
|
| Plasma 2350 | plasma2350 | TBC |
|
||||||
|
| Tiny 2350 | tiny2350 | TBC |
|
||||||
|
| PGA2350 | pico2b_rp2350 | TBC | Requires the "B" variant for extra pins
|
||||||
|
| Pi Pico 2 | pico2_rp2350 | TBC | This gives you the Pimoroni Pico libs on a vanilla Pico 2
|
||||||
65
ci/micropython.sh
Normal file
65
ci/micropython.sh
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
export TERM=${TERM:="xterm-256color"}
|
||||||
|
|
||||||
|
function log_success {
|
||||||
|
echo -e "$(tput setaf 2)$1$(tput sgr0)"
|
||||||
|
}
|
||||||
|
|
||||||
|
function log_inform {
|
||||||
|
echo -e "$(tput setaf 6)$1$(tput sgr0)"
|
||||||
|
}
|
||||||
|
|
||||||
|
function log_warning {
|
||||||
|
echo -e "$(tput setaf 1)$1$(tput sgr0)"
|
||||||
|
}
|
||||||
|
|
||||||
|
function micropython_clone {
|
||||||
|
log_inform "Using MicroPython $MICROPYTHON_VERSION"
|
||||||
|
git clone https://github.com/$MICROPYTHON_FLAVOUR/micropython
|
||||||
|
cd micropython
|
||||||
|
git checkout $MICROPYTHON_VERSION
|
||||||
|
git submodule update --init lib/pico-sdk
|
||||||
|
git submodule update --init lib/cyw43-driver
|
||||||
|
git submodule update --init lib/lwip
|
||||||
|
git submodule update --init lib/mbedtls
|
||||||
|
git submodule update --init lib/micropython-lib
|
||||||
|
git submodule update --init lib/tinyusb
|
||||||
|
git submodule update --init lib/btstack
|
||||||
|
cd ../
|
||||||
|
}
|
||||||
|
|
||||||
|
function micropython_build_mpy_cross {
|
||||||
|
cd micropython/mpy-cross
|
||||||
|
ccache --zero-stats || true
|
||||||
|
CROSS_COMPILE="ccache " make
|
||||||
|
ccache --show-stats || true
|
||||||
|
cd ../../
|
||||||
|
}
|
||||||
|
|
||||||
|
function apt_install_build_deps {
|
||||||
|
sudo apt update && sudo apt install ccache
|
||||||
|
}
|
||||||
|
|
||||||
|
function micropython_version {
|
||||||
|
echo "MICROPY_GIT_TAG=$MICROPYTHON_VERSION, $BOARD_NAME $TAG_OR_SHA" >> $GITHUB_ENV
|
||||||
|
echo "MICROPY_GIT_HASH=$MICROPYTHON_VERSION-$TAG_OR_SHA" >> $GITHUB_ENV
|
||||||
|
}
|
||||||
|
|
||||||
|
function cmake_configure {
|
||||||
|
cmake -S micropython/ports/rp2 -B build-$BOARD_NAME \
|
||||||
|
-DPICO_BUILD_DOCS=0 \
|
||||||
|
-DPICO_NO_COPRO_DIS=1 \
|
||||||
|
-DUSER_C_MODULES=$USER_C_MODULES \
|
||||||
|
-DMICROPY_BOARD_DIR=$MICROPY_BOARD_DIR \
|
||||||
|
-DMICROPY_BOARD=$MICROPY_BOARD \
|
||||||
|
-DMICROPY_BOARD_VARIANT=$MICROPY_BOARD_VARIANT \
|
||||||
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
||||||
|
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||||
|
}
|
||||||
|
|
||||||
|
function cmake_build {
|
||||||
|
ccache --zero-stats || true
|
||||||
|
cmake --build build-$BOARD_NAME -j 2
|
||||||
|
ccache --show-stats || true
|
||||||
|
cd build-$BOARD_NAME
|
||||||
|
cp firmware.uf2 $RELEASE_FILE.uf2
|
||||||
|
}
|
||||||
19
micropython/board/PIMORONI_PICO_PLUS2/board.json
Normal file
19
micropython/board/PIMORONI_PICO_PLUS2/board.json
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"deploy": [
|
||||||
|
"../deploy.md"
|
||||||
|
],
|
||||||
|
"docs": "",
|
||||||
|
"features": [
|
||||||
|
"Dual-core",
|
||||||
|
"External Flash",
|
||||||
|
"USB"
|
||||||
|
],
|
||||||
|
"images": [
|
||||||
|
"rp2-picos.jpg"
|
||||||
|
],
|
||||||
|
"mcu": "rp2350",
|
||||||
|
"product": "Pico2",
|
||||||
|
"thumbnail": "",
|
||||||
|
"url": "https://shop.pimoroni.com/products/raspberry-pi-pico-plus2/",
|
||||||
|
"vendor": "Raspberry Pi"
|
||||||
|
}
|
||||||
3
micropython/board/PIMORONI_PICO_PLUS2/manifest.py
Normal file
3
micropython/board/PIMORONI_PICO_PLUS2/manifest.py
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
include("$(PORT_DIR)/boards/manifest.py")
|
||||||
|
|
||||||
|
include("../manifest_pico.py")
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
# cmake file for Raspberry Pi Pico
|
||||||
|
set(PICO_BOARD "pimoroni_pico_plus2_rp2350")
|
||||||
|
set(PICO_PLATFORM "rp2350")
|
||||||
|
set(PICO_NUM_GPIOS 48)
|
||||||
|
|
||||||
|
# Board specific version of the frozen manifest
|
||||||
|
set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py)
|
||||||
|
|
||||||
|
set(MICROPY_C_HEAP_SIZE 4096)
|
||||||
8
micropython/board/PIMORONI_PICO_PLUS2/mpconfigboard.h
Normal file
8
micropython/board/PIMORONI_PICO_PLUS2/mpconfigboard.h
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
// Board and hardware specific configuration
|
||||||
|
#ifndef MICROPY_HW_BOARD_NAME
|
||||||
|
// Might be defined by mpconfigvariant.cmake
|
||||||
|
#define MICROPY_HW_BOARD_NAME "Pimoroni Pico Plus 2"
|
||||||
|
#endif
|
||||||
|
#define MICROPY_HW_FLASH_STORAGE_BYTES (1024 * 1024 * 15)
|
||||||
|
|
||||||
|
#define MICROPY_HW_PSRAM_CS_PIN PIMORONI_PICO_PLUS2_PSRAM_CS_PIN
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
# Override the MicroPython board name
|
||||||
|
list(APPEND MICROPY_DEF_BOARD
|
||||||
|
"MICROPY_HW_ENABLE_PSRAM=1"
|
||||||
|
"MICROPY_HW_BOARD_NAME=\"Pimoroni Pico Plus 2 (PSRAM)\""
|
||||||
|
)
|
||||||
47
micropython/board/PIMORONI_PICO_PLUS2/pins.csv
Normal file
47
micropython/board/PIMORONI_PICO_PLUS2/pins.csv
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
GP0,GPIO0
|
||||||
|
GP1,GPIO1
|
||||||
|
GP2,GPIO2
|
||||||
|
GP3,GPIO3
|
||||||
|
GP4,GPIO4
|
||||||
|
GP5,GPIO5
|
||||||
|
GP6,GPIO6
|
||||||
|
GP7,GPIO7
|
||||||
|
GP8,GPIO8
|
||||||
|
GP9,GPIO9
|
||||||
|
GP10,GPIO10
|
||||||
|
GP11,GPIO11
|
||||||
|
GP12,GPIO12
|
||||||
|
GP13,GPIO13
|
||||||
|
GP14,GPIO14
|
||||||
|
GP15,GPIO15
|
||||||
|
GP16,GPIO16
|
||||||
|
GP17,GPIO17
|
||||||
|
GP18,GPIO18
|
||||||
|
GP19,GPIO19
|
||||||
|
GP20,GPIO20
|
||||||
|
GP21,GPIO21
|
||||||
|
GP22,GPIO22
|
||||||
|
GP25,GPIO25
|
||||||
|
GP26,GPIO26
|
||||||
|
GP27,GPIO27
|
||||||
|
GP28,GPIO28
|
||||||
|
GP29,GPIO29
|
||||||
|
GP30,GPIO30
|
||||||
|
GP31,GPIO31
|
||||||
|
GP32,GPIO32
|
||||||
|
GP33,GPIO33
|
||||||
|
GP34,GPIO34
|
||||||
|
GP35,GPIO35
|
||||||
|
GP36,GPIO36
|
||||||
|
GP37,GPIO37
|
||||||
|
GP38,GPIO38
|
||||||
|
GP39,GPIO39
|
||||||
|
GP40,GPIO40
|
||||||
|
GP41,GPIO41
|
||||||
|
GP42,GPIO42
|
||||||
|
GP43,GPIO43
|
||||||
|
GP44,GPIO44
|
||||||
|
GP45,GPIO45
|
||||||
|
GP46,GPIO46
|
||||||
|
GP47,GPIO47
|
||||||
|
LED,GPIO25
|
||||||
|
20
micropython/board/PIMORONI_PLASMA2350/board.json
Normal file
20
micropython/board/PIMORONI_PLASMA2350/board.json
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"deploy": [
|
||||||
|
"../deploy.md"
|
||||||
|
],
|
||||||
|
"docs": "",
|
||||||
|
"features": [
|
||||||
|
"Breadboard Friendly",
|
||||||
|
"Castellated Pads",
|
||||||
|
"RGB LED",
|
||||||
|
"USB-C"
|
||||||
|
],
|
||||||
|
"images": [
|
||||||
|
"tiny-2040-on-white-1_1024x1024.jpg"
|
||||||
|
],
|
||||||
|
"mcu": "rp2350",
|
||||||
|
"product": "Tiny2350",
|
||||||
|
"thumbnail": "",
|
||||||
|
"url": "https://shop.pimoroni.com/products/tiny-2350",
|
||||||
|
"vendor": "Pimoroni"
|
||||||
|
}
|
||||||
3
micropython/board/PIMORONI_PLASMA2350/manifest.py
Normal file
3
micropython/board/PIMORONI_PLASMA2350/manifest.py
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
include("$(PORT_DIR)/boards/manifest.py")
|
||||||
|
|
||||||
|
include("../manifest_pico.py")
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
# cmake file for Raspberry Pi Pico
|
||||||
|
set(PICO_BOARD "pimoroni_plasma2350")
|
||||||
|
set(PICO_PLATFORM "rp2350")
|
||||||
|
|
||||||
|
# Board specific version of the frozen manifest
|
||||||
|
set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py)
|
||||||
|
|
||||||
|
set(MICROPY_C_HEAP_SIZE 4096)
|
||||||
7
micropython/board/PIMORONI_PLASMA2350/mpconfigboard.h
Normal file
7
micropython/board/PIMORONI_PLASMA2350/mpconfigboard.h
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
// Board and hardware specific configuration
|
||||||
|
#define MICROPY_HW_BOARD_NAME "Pimoroni Plasma 2350"
|
||||||
|
#define MICROPY_HW_FLASH_STORAGE_BYTES (1024 * 1024 * 7)
|
||||||
|
|
||||||
|
// I2C0 (non-default)
|
||||||
|
#define MICROPY_HW_I2C0_SCL (PLASMA2350_SDA_PIN)
|
||||||
|
#define MICROPY_HW_I2C0_SDA (PLASMA2350_SCL_PIN)
|
||||||
33
micropython/board/PIMORONI_PLASMA2350/pins.csv
Normal file
33
micropython/board/PIMORONI_PLASMA2350/pins.csv
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
GP0,GPIO0
|
||||||
|
GP1,GPIO1
|
||||||
|
GP2,GPIO2
|
||||||
|
GP3,GPIO3
|
||||||
|
GP4,GPIO4
|
||||||
|
GP5,GPIO5
|
||||||
|
GP6,GPIO6
|
||||||
|
GP7,GPIO7
|
||||||
|
GP8,GPIO8
|
||||||
|
GP9,GPIO9
|
||||||
|
GP10,GPIO10
|
||||||
|
GP11,GPIO11
|
||||||
|
GP12,GPIO12
|
||||||
|
GP13,GPIO13
|
||||||
|
GP14,GPIO14
|
||||||
|
GP15,GPIO15
|
||||||
|
GP16,GPIO16
|
||||||
|
GP17,GPIO17
|
||||||
|
GP18,GPIO18
|
||||||
|
GP19,GPIO19
|
||||||
|
GP20,GPIO20
|
||||||
|
GP21,GPIO21
|
||||||
|
GP22,GPIO22
|
||||||
|
GP25,GPIO25
|
||||||
|
GP26,GPIO26
|
||||||
|
GP27,GPIO27
|
||||||
|
GP28,GPIO28
|
||||||
|
SW_A,GPIO12
|
||||||
|
LED,GPIO17
|
||||||
|
LED_R,GPIO16
|
||||||
|
LED_G,GPIO17
|
||||||
|
LED_B,GPIO18
|
||||||
|
USER_SW,GPIO22
|
||||||
|
20
micropython/board/PIMORONI_TINY2350/board.json
Normal file
20
micropython/board/PIMORONI_TINY2350/board.json
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"deploy": [
|
||||||
|
"../deploy.md"
|
||||||
|
],
|
||||||
|
"docs": "",
|
||||||
|
"features": [
|
||||||
|
"Breadboard Friendly",
|
||||||
|
"Castellated Pads",
|
||||||
|
"RGB LED",
|
||||||
|
"USB-C"
|
||||||
|
],
|
||||||
|
"images": [
|
||||||
|
"tiny-2040-on-white-1_1024x1024.jpg"
|
||||||
|
],
|
||||||
|
"mcu": "rp2350",
|
||||||
|
"product": "Tiny2350",
|
||||||
|
"thumbnail": "",
|
||||||
|
"url": "https://shop.pimoroni.com/products/tiny-2350",
|
||||||
|
"vendor": "Pimoroni"
|
||||||
|
}
|
||||||
3
micropython/board/PIMORONI_TINY2350/manifest.py
Normal file
3
micropython/board/PIMORONI_TINY2350/manifest.py
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
include("$(PORT_DIR)/boards/manifest.py")
|
||||||
|
|
||||||
|
include("../manifest_pico.py")
|
||||||
8
micropython/board/PIMORONI_TINY2350/mpconfigboard.cmake
Normal file
8
micropython/board/PIMORONI_TINY2350/mpconfigboard.cmake
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# cmake file for Raspberry Pi Pico
|
||||||
|
set(PICO_BOARD "pimoroni_tiny2350")
|
||||||
|
set(PICO_PLATFORM "rp2350")
|
||||||
|
|
||||||
|
# Board specific version of the frozen manifest
|
||||||
|
set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py)
|
||||||
|
|
||||||
|
set(MICROPY_C_HEAP_SIZE 4096)
|
||||||
7
micropython/board/PIMORONI_TINY2350/mpconfigboard.h
Normal file
7
micropython/board/PIMORONI_TINY2350/mpconfigboard.h
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
// Board and hardware specific configuration
|
||||||
|
#define MICROPY_HW_BOARD_NAME "Pimoroni Tiny 2350"
|
||||||
|
#define MICROPY_HW_FLASH_STORAGE_BYTES (1024 * 1024 * 7)
|
||||||
|
|
||||||
|
// I2C0 (non-default)
|
||||||
|
#define MICROPY_HW_I2C0_SCL (4)
|
||||||
|
#define MICROPY_HW_I2C0_SDA (5)
|
||||||
19
micropython/board/RPI_PICO2/board.json
Normal file
19
micropython/board/RPI_PICO2/board.json
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"deploy": [
|
||||||
|
"../deploy.md"
|
||||||
|
],
|
||||||
|
"docs": "",
|
||||||
|
"features": [
|
||||||
|
"Dual-core",
|
||||||
|
"External Flash",
|
||||||
|
"USB"
|
||||||
|
],
|
||||||
|
"images": [
|
||||||
|
"rp2-picos.jpg"
|
||||||
|
],
|
||||||
|
"mcu": "rp2350",
|
||||||
|
"product": "Pico2",
|
||||||
|
"thumbnail": "",
|
||||||
|
"url": "https://www.raspberrypi.com/products/raspberry-pi-pico2/",
|
||||||
|
"vendor": "Raspberry Pi"
|
||||||
|
}
|
||||||
3
micropython/board/RPI_PICO2/manifest.py
Normal file
3
micropython/board/RPI_PICO2/manifest.py
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
include("$(PORT_DIR)/boards/manifest.py")
|
||||||
|
|
||||||
|
include("../manifest_pico.py")
|
||||||
8
micropython/board/RPI_PICO2/mpconfigboard.cmake
Normal file
8
micropython/board/RPI_PICO2/mpconfigboard.cmake
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# cmake file for Raspberry Pi Pico
|
||||||
|
set(PICO_BOARD "pico2")
|
||||||
|
set(PICO_PLATFORM "rp2350")
|
||||||
|
|
||||||
|
# Board specific version of the frozen manifest
|
||||||
|
set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py)
|
||||||
|
|
||||||
|
set(MICROPY_C_HEAP_SIZE 4096)
|
||||||
3
micropython/board/RPI_PICO2/mpconfigboard.h
Normal file
3
micropython/board/RPI_PICO2/mpconfigboard.h
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
// Board and hardware specific configuration
|
||||||
|
#define MICROPY_HW_BOARD_NAME "Raspberry Pi Pico"
|
||||||
|
#define MICROPY_HW_FLASH_STORAGE_BYTES (1408 * 1024)
|
||||||
28
micropython/board/RPI_PICO2/pins.csv
Normal file
28
micropython/board/RPI_PICO2/pins.csv
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
GP0,GPIO0
|
||||||
|
GP1,GPIO1
|
||||||
|
GP2,GPIO2
|
||||||
|
GP3,GPIO3
|
||||||
|
GP4,GPIO4
|
||||||
|
GP5,GPIO5
|
||||||
|
GP6,GPIO6
|
||||||
|
GP7,GPIO7
|
||||||
|
GP8,GPIO8
|
||||||
|
GP9,GPIO9
|
||||||
|
GP10,GPIO10
|
||||||
|
GP11,GPIO11
|
||||||
|
GP12,GPIO12
|
||||||
|
GP13,GPIO13
|
||||||
|
GP14,GPIO14
|
||||||
|
GP15,GPIO15
|
||||||
|
GP16,GPIO16
|
||||||
|
GP17,GPIO17
|
||||||
|
GP18,GPIO18
|
||||||
|
GP19,GPIO19
|
||||||
|
GP20,GPIO20
|
||||||
|
GP21,GPIO21
|
||||||
|
GP22,GPIO22
|
||||||
|
GP25,GPIO25
|
||||||
|
GP26,GPIO26
|
||||||
|
GP27,GPIO27
|
||||||
|
GP28,GPIO28
|
||||||
|
LED,GPIO25
|
||||||
|
19
micropython/board/RPI_PICO2B/board.json
Normal file
19
micropython/board/RPI_PICO2B/board.json
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"deploy": [
|
||||||
|
"../deploy.md"
|
||||||
|
],
|
||||||
|
"docs": "",
|
||||||
|
"features": [
|
||||||
|
"Dual-core",
|
||||||
|
"External Flash",
|
||||||
|
"USB"
|
||||||
|
],
|
||||||
|
"images": [
|
||||||
|
"rp2-picos.jpg"
|
||||||
|
],
|
||||||
|
"mcu": "rp2350",
|
||||||
|
"product": "Pico2",
|
||||||
|
"thumbnail": "",
|
||||||
|
"url": "https://www.raspberrypi.com/products/raspberry-pi-pico2/",
|
||||||
|
"vendor": "Raspberry Pi"
|
||||||
|
}
|
||||||
3
micropython/board/RPI_PICO2B/manifest.py
Normal file
3
micropython/board/RPI_PICO2B/manifest.py
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
include("$(PORT_DIR)/boards/manifest.py")
|
||||||
|
|
||||||
|
include("../manifest_pico.py")
|
||||||
12
micropython/board/RPI_PICO2B/mpconfigboard.cmake
Normal file
12
micropython/board/RPI_PICO2B/mpconfigboard.cmake
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# cmake file for Raspberry Pi Pico
|
||||||
|
set(PICO_BOARD "pico2b")
|
||||||
|
set(PICO_PLATFORM "rp2350")
|
||||||
|
|
||||||
|
set(PICO_BOARD_HEADER_DIRS ${CMAKE_CURRENT_LIST_DIR})
|
||||||
|
|
||||||
|
# Board specific version of the frozen manifest
|
||||||
|
set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py)
|
||||||
|
|
||||||
|
set(MICROPY_C_HEAP_SIZE 4096)
|
||||||
|
|
||||||
|
set(PICO_NUM_GPIOS 48)
|
||||||
3
micropython/board/RPI_PICO2B/mpconfigboard.h
Normal file
3
micropython/board/RPI_PICO2B/mpconfigboard.h
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
// Board and hardware specific configuration
|
||||||
|
#define MICROPY_HW_BOARD_NAME "Raspberry Pi Pico"
|
||||||
|
#define MICROPY_HW_FLASH_STORAGE_BYTES (1408 * 1024)
|
||||||
100
micropython/board/RPI_PICO2B/pico2b.h
Normal file
100
micropython/board/RPI_PICO2B/pico2b.h
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
*/
|
||||||
|
|
||||||
|
// -----------------------------------------------------
|
||||||
|
// NOTE: THIS HEADER IS ALSO INCLUDED BY ASSEMBLER SO
|
||||||
|
// SHOULD ONLY CONSIST OF PREPROCESSOR DIRECTIVES
|
||||||
|
// -----------------------------------------------------
|
||||||
|
|
||||||
|
// This header may be included by other board headers as "boards/pico.h"
|
||||||
|
|
||||||
|
// pico_cmake_set PICO_PLATFORM=rp2350
|
||||||
|
|
||||||
|
#ifndef _BOARDS_PICO2_H
|
||||||
|
#define _BOARDS_PICO2_H
|
||||||
|
|
||||||
|
// For board detection
|
||||||
|
#define RASPBERRYPI_PICO2
|
||||||
|
|
||||||
|
// --- RP2350 VARIANT ---
|
||||||
|
// not PICO_RP2350A
|
||||||
|
|
||||||
|
// --- UART ---
|
||||||
|
#ifndef PICO_DEFAULT_UART
|
||||||
|
#define PICO_DEFAULT_UART 0
|
||||||
|
#endif
|
||||||
|
#ifndef PICO_DEFAULT_UART_TX_PIN
|
||||||
|
#define PICO_DEFAULT_UART_TX_PIN 0
|
||||||
|
#endif
|
||||||
|
#ifndef PICO_DEFAULT_UART_RX_PIN
|
||||||
|
#define PICO_DEFAULT_UART_RX_PIN 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// --- LED ---
|
||||||
|
#ifndef PICO_DEFAULT_LED_PIN
|
||||||
|
#define PICO_DEFAULT_LED_PIN 25
|
||||||
|
#endif
|
||||||
|
// no PICO_DEFAULT_WS2812_PIN
|
||||||
|
|
||||||
|
// --- I2C ---
|
||||||
|
#ifndef PICO_DEFAULT_I2C
|
||||||
|
#define PICO_DEFAULT_I2C 0
|
||||||
|
#endif
|
||||||
|
#ifndef PICO_DEFAULT_I2C_SDA_PIN
|
||||||
|
#define PICO_DEFAULT_I2C_SDA_PIN 4
|
||||||
|
#endif
|
||||||
|
#ifndef PICO_DEFAULT_I2C_SCL_PIN
|
||||||
|
#define PICO_DEFAULT_I2C_SCL_PIN 5
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// --- SPI ---
|
||||||
|
#ifndef PICO_DEFAULT_SPI
|
||||||
|
#define PICO_DEFAULT_SPI 0
|
||||||
|
#endif
|
||||||
|
#ifndef PICO_DEFAULT_SPI_SCK_PIN
|
||||||
|
#define PICO_DEFAULT_SPI_SCK_PIN 18
|
||||||
|
#endif
|
||||||
|
#ifndef PICO_DEFAULT_SPI_TX_PIN
|
||||||
|
#define PICO_DEFAULT_SPI_TX_PIN 19
|
||||||
|
#endif
|
||||||
|
#ifndef PICO_DEFAULT_SPI_RX_PIN
|
||||||
|
#define PICO_DEFAULT_SPI_RX_PIN 16
|
||||||
|
#endif
|
||||||
|
#ifndef PICO_DEFAULT_SPI_CSN_PIN
|
||||||
|
#define PICO_DEFAULT_SPI_CSN_PIN 17
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// --- FLASH ---
|
||||||
|
|
||||||
|
#define PICO_BOOT_STAGE2_CHOOSE_W25Q080 1
|
||||||
|
|
||||||
|
#ifndef PICO_FLASH_SPI_CLKDIV
|
||||||
|
#define PICO_FLASH_SPI_CLKDIV 2
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// pico_cmake_set_default PICO_FLASH_SIZE_BYTES = (4 * 1024 * 1024)
|
||||||
|
#ifndef PICO_FLASH_SIZE_BYTES
|
||||||
|
#define PICO_FLASH_SIZE_BYTES (4 * 1024 * 1024)
|
||||||
|
#endif
|
||||||
|
// Drive high to force power supply into PWM mode (lower ripple on 3V3 at light loads)
|
||||||
|
#define PICO_SMPS_MODE_PIN 23
|
||||||
|
|
||||||
|
// The GPIO Pin used to read VBUS to determine if the device is battery powered.
|
||||||
|
#ifndef PICO_VBUS_PIN
|
||||||
|
#define PICO_VBUS_PIN 24
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// The GPIO Pin used to monitor VSYS. Typically you would use this with ADC.
|
||||||
|
// There is an example in adc/read_vsys in pico-examples.
|
||||||
|
#ifndef PICO_VSYS_PIN
|
||||||
|
#define PICO_VSYS_PIN 29
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef PICO_RP2350_A2_SUPPORTED
|
||||||
|
#define PICO_RP2350_A2_SUPPORTED 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
47
micropython/board/RPI_PICO2B/pins.csv
Normal file
47
micropython/board/RPI_PICO2B/pins.csv
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
GP0,GPIO0
|
||||||
|
GP1,GPIO1
|
||||||
|
GP2,GPIO2
|
||||||
|
GP3,GPIO3
|
||||||
|
GP4,GPIO4
|
||||||
|
GP5,GPIO5
|
||||||
|
GP6,GPIO6
|
||||||
|
GP7,GPIO7
|
||||||
|
GP8,GPIO8
|
||||||
|
GP9,GPIO9
|
||||||
|
GP10,GPIO10
|
||||||
|
GP11,GPIO11
|
||||||
|
GP12,GPIO12
|
||||||
|
GP13,GPIO13
|
||||||
|
GP14,GPIO14
|
||||||
|
GP15,GPIO15
|
||||||
|
GP16,GPIO16
|
||||||
|
GP17,GPIO17
|
||||||
|
GP18,GPIO18
|
||||||
|
GP19,GPIO19
|
||||||
|
GP20,GPIO20
|
||||||
|
GP21,GPIO21
|
||||||
|
GP22,GPIO22
|
||||||
|
GP25,GPIO25
|
||||||
|
GP26,GPIO26
|
||||||
|
GP27,GPIO27
|
||||||
|
GP28,GPIO28
|
||||||
|
GP29,GPIO29
|
||||||
|
GP30,GPIO30
|
||||||
|
GP31,GPIO31
|
||||||
|
GP32,GPIO32
|
||||||
|
GP33,GPIO33
|
||||||
|
GP34,GPIO34
|
||||||
|
GP35,GPIO35
|
||||||
|
GP36,GPIO36
|
||||||
|
GP37,GPIO37
|
||||||
|
GP38,GPIO38
|
||||||
|
GP39,GPIO39
|
||||||
|
GP40,GPIO40
|
||||||
|
GP41,GPIO41
|
||||||
|
GP42,GPIO42
|
||||||
|
GP43,GPIO43
|
||||||
|
GP44,GPIO44
|
||||||
|
GP45,GPIO45
|
||||||
|
GP46,GPIO46
|
||||||
|
GP47,GPIO47
|
||||||
|
LED,GPIO25
|
||||||
|
Loading…
Reference in New Issue
Block a user