https://github.com/inthehack/dedrv
A minimal library for implementing device drivers on resource-constrained targets
https://github.com/inthehack/dedrv
drivers embedded no-alloc no-std operating-systems rust
Last synced: 2 months ago
JSON representation
A minimal library for implementing device drivers on resource-constrained targets
- Host: GitHub
- URL: https://github.com/inthehack/dedrv
- Owner: inthehack
- License: apache-2.0
- Created: 2025-02-09T16:28:46.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-02-12T11:15:36.000Z (3 months ago)
- Last Synced: 2025-03-08T21:40:12.694Z (3 months ago)
- Topics: drivers, embedded, no-alloc, no-std, operating-systems, rust
- Language: Rust
- Homepage:
- Size: 56.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# `dedrv`
`dedrv` ("de drivers" standing for "device drivers" or "delegated drivers") is a minimal library
for implementing device drivers on resource-contrained targets, like microcontrollers for instance.The library provides the internal logic for decoupling device drivers from their public interface.
As a result, one can develop device drivers for many different targets but with the same interface.Every device driver is also managed during its initialization and clean-up phase, offering
customization on these phases (e.g. ordering, priority, hook...).## For developers
The developing environment is based on Nix developer shells, which offers a all-inclusive
developer experience, at least we hope so.So as to start, just type the following.
If you have Nix with flakes:
```shell
nix develop
```If you have `direnv` and Nix with flakes:
```shell
echo "use flake" >> .envrc
direnv allow
```And if you do not want to type all this, there is a helper as a just rule:
```shell
just init direnv
```Or:
```shell
nix run nixpkgs#just -- init direnv
```if you do not have just installed on you Nix configuration.
## MSRV
The minimum supported Rust version is 1.76. `dedrv` is tested against the latest stable Rust
version and the MSRV.## License
Licensed under either of
- Apache License, Version 2.0
- MIT licenseat your option.
### Contribution
Unless you explicitely state otherwise, any contribution intentionally submitted for inclusion in
the work by you, as defined in the Apache-2.0 license, shall be licensed as above, without any
additional terms or conditions.