rp-hal
A Rust HAL impl for the RP family of microcontrollers from the Raspberry Pi Foundation
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
-
Getting Started
- Usage
- Roadmap
- Contributing
- License
- Contact
- Acknowledgements
## Getting Started
To get a local copy up and running follow these simple steps.
### Prerequisites
* A [Rust](https://www.rust-lang.org/tools/install) toolchain
### Installation
1. Clone the repo or use the crate
```sh
git clone https://github.com/rp-rs/rp-hal
```
or
```sh
cargo install rpXXXX-hal
```
## Usage
Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.
For more examples, please refer to the [Documentation](https://github.com/rp-rs/rp-hal)
### Run examples
Install [`uf2conv`](https://github.com/sajattack/uf2conv-rs) and [`cargo-binutils`](https://github.com/rust-embedded/cargo-binutils) as well as the `llvm-tools-preview` component:
```sh
cargo install uf2conv cargo-binutils
rustup component add llvm-tools-preview
```
For boards with uf2 flashloaders you can use the following lines to run the examples:
```sh
export RPI_MOUNT_FOLDER=/media/RPI-RP2/
export EXAMPLE=pico_blinky; # See `cargo check --example` for valid values
cargo check --example $EXAMPLE && \
cargo objcopy --release --example $EXAMPLE -- -O binary target/$EXAMPLE.bin && \
uf2conv target/$EXAMPLE.bin --base 0x10000000 --family 0xe48bff56 --output target/$EXAMPLE.uf2 && \
cp target/$EXAMPLE.uf2 $RPI_MOUNT_FOLDER
```
## Roadmap
NOTE This HAL is under active development. As such, it is likely to remain volatile until a 1.0.0 release.
See the [open issues](https://github.com/rp-rs/rp-hal/issues) for a list of proposed features (and known issues).
## Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.
1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
## License
Distributed under the MIT OR Apache2.0 License. See `MIT` or `APACHE2.0` for more information.
## Contact
Project Link: [https://github.com/rp-rs/rp-hal/issues](https://github.com/rp-rs/rp-hal/issues)
## Acknowledgements
* [Othneil Drew's README template](https://github.com/othneildrew)