| Crates.io | embassy-neorv32 |
| lib.rs | embassy-neorv32 |
| version | 0.1.0 |
| created_at | 2026-01-02 05:22:13.34993+00 |
| updated_at | 2026-01-02 05:22:13.34993+00 |
| description | Embassy Hardware Abstraction Layer (HAL) for the open-source NEORV32 RISC-V microcontroller |
| homepage | |
| repository | https://github.com/kurtjd/neorv32-rs |
| max_upload_size | |
| id | 2018012 |
| size | 155,461 |
HALs implement safe, idiomatic Rust APIs to use the hardware capabilities, so raw register manipulation is not needed.
The embassy-neorv32 HAL targets the open-source NEORV32
RISC-V microcontroller and implements both blocking and async APIs/drivers for most of the peripherals.
Additionally, async and blocking traits from embedded-hal
are implemented where appropriate.
The HAL currently supports the following peripherals and features:
mtimerAdditional peripheral support and features may be added if there is community interest!
Please see the examples folder for ideas on how to use this HAL in your own projects.
To run these examples, follow these steps:
examples/.cargo/config.toml to match your configurationexamples/memory.x to match the size of your configured DMEM and IMEMexamples/Cargo.toml features sim and fpga such that
the tick-hz feature for embassy-time matches your configurationUART_BAUD in examples/src/lib.rs to match your host UARTBASE in examples/run-sim to your neorv32 repo pathcargo run-sim --release --bin hello-worldBASE in examples/run-fpga to your neorv32 repo pathpicocom (or modify run-fpga to use your preferred tool)examples folder, run cargo run-fpga --release --bin hello-worldpicocom, manually follow these steps within host terminal:This HAL targets NEORV32 v1.12.6. There is no guarantee it will work for different versions.