rp-hal-boards/rp2040-hal
9names 0e7abdc705
Make BSPs provide boot2 as a default feature (#153)
* Add boot2 feature. Add boot2 linkage into each BSP optional on feature

* Enable boot2 feature in BSPs by default. Remove boot2 decl from all BSP examples

* Add EXTERN in memory.x for BOOT2_FIRMWARE, rename bootloader static slice to BOOT2_FIRMWARE

* Update new examples and itsy_bitsy BSP to use boot2 feature

* Remove boot2 as a dev-dependency for the BSPs, no longer needed

* Add no_mangle BOOT2_FIRMWARE to adafruit_macropad

* Fix itsy-bitsy blinky - it wasn't using the BSP, so it didn't get BOOT2_FIRMWARE linked in
2021-12-05 01:00:09 +11:00
..
examples Implements methods to allow presetting the pin state & direction (#167) 2021-10-22 21:13:22 +11:00
src Generate sev in sio.fifo.write() 2021-12-04 00:42:46 +11:00
.gitignore Initial Commit: Updated author information. 2021-01-22 09:18:12 -05:00
Cargo.toml Make BSPs provide boot2 as a default feature (#153) 2021-12-05 01:00:09 +11:00
README.md implement embedded-hal 1.0.0-alpha.5 (#131) 2021-10-02 15:36:40 +10:00


Logo

rp-hal

High-level Rust drivers for the Raspberry Silicon RP2040 Microcontroller
Explore the API docs »

View Demos · Report a Bug · Chat on Matrix

Table of Contents

  1. Introduction
  2. Getting Started
  3. Roadmap
  4. Contributing
  5. License
  6. Contact
  7. Acknowledgements

Introduction

This is the rp2040-hal package - a library crate of high-level Rust drivers for the Raspberry Silicon RP2040 microcontroller, along with a collection of non-board specific example programs for you to study. You should use this crate in your application if you want to write code for the RP2040 microcontroller. The HAL in the name standards for Hardware Abstraction Layer, and comes from the fact that many of the drivers included implement the generic hardware-abstraction interfaces defined in the Rust Embedded Working Group's embedded-hal crate.

We also provide a series of Board Support Package (BSP) crates, which take this HAL crate and pre-configure the pins according to a specific PCB design. If you are using on of the supported boards, you should use one of those crates in preference, and return here to see documentation about specific peripherals on the RP2040 and how to use them. See the boards folder in https://github.com/rp-rs/rp-hal/ for more details.

Getting Started

To include this crate in your project, amend your Cargo.toml file to include

rp2040-hal = "0.3"

To obtain a copy of the source code (e.g. if you want to propose a bug-fix or new feature, or simply to study the code), run:

$ git clone https://github.com/rp-rs/rp-hal.git

For details on how to program an RP2040 microcontroller, see the top-level rp-hal README.

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 for a list of proposed features (and known issues).

Support for embedded-hal 1.0

We plan to support embedded-hal 1.0 soon after it is released.

For now, there is preliminary support for alpha versions of embedded-hal, which can be enabled with the feature eh1_0_alpha. Please note that this support does not provide any semver compatibility guarantees: With that feature activated, there will be breaking changes even in minor versions of rp2040-hal.

Support for embedded-hal 1.0(-alpha) exists in parallel to support for embedded-hal 0.2: Traits of both versions are implemented and can be used at the same time.

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 Matrix: #rp-rs:matrix.org

Acknowledgements