rust-embedded / riscv

Low level access to RISC-V processors
841 stars 162 forks source link

Add `riscv-peripheral` crate #164

Closed romancardenas closed 8 months ago

romancardenas commented 10 months ago

Crate for standard RISC-V peripherals.

I've been using these peripheral APIs myself on an E310x and work properly. Let me know if you want any extra change before merging it to master

romancardenas commented 10 months ago

I reimplemented the asynchronous delay for the (A)CLINT peripheral. Now, it relies on three extern "Rust" fn _riscv_peripheral_aclint_* functions that allows us to push/pop wakers to/from a timer queue such as the one provided by embassy-time.

romancardenas commented 9 months ago

Now it finally points to embedded-hal 1.0 🥳

@rust-embedded/riscv please could you take a look to this PR?

romancardenas commented 8 months ago

ping @rust-embedded/riscv