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