7 releases
| 0.1.10 | Jul 23, 2025 |
|---|---|
| 0.1.9 | Jul 23, 2025 |
#594 in Embedded development
Used in ra-fsp-rs
5.5MB
137K
SLoC
RA4M1 Peripheral Access Crate
A Peripheral Access API (PAC) for RA4M1 microcontrollers, generated using svd2rust.
This crate provides low‑level register and bitfield definitions for all on‑chip peripherals.
It is designed to preserve the familiar cortex-m-rt interface while handling RA4M1‑specific initialization requirements.
Features
rt: Includes IV in ".application_vectors" section. Does not enable any runtime. Either usera-fsp-sysorcortex-m-rt/device.fsp: places IV in ".application_vectors" section. You still need to addra-fsp-sys/ra4m1orra-fsp-rs/ra4m1crate to your dependencies.cortex-m-rt-device: places IV in ".vector_table.interrupts" section and enablescortex-m-rt/devicefeature.
Installation
Add this crate to your Cargo.toml:
[dependencies]
ra4m1_pac = "0.*"
To enable the FSP‑based runtime:
# If you want to use `ra-fsp-rs`
[dependencies]
ra-fsp-rs = { version = "0.*", features = ["ra4m1"] }
# If you want to use bare bindings
[dependencies]
ra4m1_pac = { version = "0.*", features = ["rt", "fsp"] }
ra-fsp-sys = { version = "0.*", features = ["ra4m1"] }
Usage
This PAC has equivalent interface to any cortex-m-rt/device-compatible PAC, thus
the code is looking exactly the same. You can use an OS like RTIC or just:
#![no_std]
#![no_main]
use cortex_m_rt::entry;
use ra4m1_pac::Peripherals;
#[entry]
fn main() -> ! {
let p = Peripherals::take().unwrap();
// Configure and use peripherals...
loop {}
}
Note: FSP manages interrupt vectors, invokes
SystemInit, and
then callsmain.cortex-m-rt::entrycan still be used, butcortex-m-rt/device
feature cannot be enabled, asFSPis responsible for the vector table andReset.
Contributing
Contributions are welcome! Please open an issue or pull request in this repository. Follow these guidelines:
- Synchronize register definitions from the latest SVD.
- Keep changes minimal—only update what’s necessary.
- Always test on real hardware.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Dependencies
~0.5–1MB
~13K SLoC