| Crates.io | pico-xs |
| lib.rs | pico-xs |
| version | 0.2.3 |
| created_at | 2024-10-25 01:57:00.220155+00 |
| updated_at | 2024-12-30 10:12:49.038298+00 |
| description | A Rust Embedded-SDK for bare-metal development on the RP2040 Raspberry Pi Pico microcontroller. |
| homepage | |
| repository | https://github.com/fischer36/pico_xs |
| max_upload_size | |
| id | 1421988 |
| size | 67,512 |
Pico XS is an independent, bare-metal, all-in-one SDK for embedded Rust development on the ARM Cortex-M0+ Raspberry Pi Pico microcontroller. This project offers minimal, low-level access to the hardware features of the microcontroller, providing developers with precise control and the ability to work directly with the hardware.
# Add the ARM Cortex-M0+ compilation target required for the Pico
rustup target add thumbv6m-none-eabi
# Install elf2uf2-rs to convert ELF binaries to UF2 format
cargo install elf2uf2-rs --locked
You can either build from the pico-xs-project-template or manually configure your project:
cargo add pico_xs
cargo build --release --target thumbv6m-none-eabi
elf2uf2-rs target/thumbv6m-none-eabi/release/<project_name>.elf <project_name>.uf2
# Clone the Repository
git clone https://github.com/fischer36/pico_xs
cd pico_xs
# Install elf2uf2-rs
cargo install elf2uf2-rs --locked
# Compile and Run the blinky Example
# Ensure the Pico is in USB Bootloader Mode before running this command.
cargo run --example blinky
Pico XS is exclusively designed for embedded development on the Raspberry Pi Pico microcontroller, requiring a strict compilation process in accordance with the microcontroller's specifications. Pico XS provides all the necessary compilation steps by default, requiring only the user to set the appropriate target. Here's an overview of the compilation steps:
rustup target add thumbv6m-none-eabi
cargo build --release --target thumbv6m-none-eabi
The contents of this repository (excluding boot2.bin) are licensed under the Apache License 2.0. See the LICENSE file for details. The boot2.bin file is licensed under the BSD-3-Clause License. See the LICENSE-BSD3 file for details.