https://github.com/patryk27/simavr-ffi
Low-level Rust bindings to simavr
https://github.com/patryk27/simavr-ffi
avr bindings emulation rust simavr simulation
Last synced: over 1 year ago
JSON representation
Low-level Rust bindings to simavr
- Host: GitHub
- URL: https://github.com/patryk27/simavr-ffi
- Owner: Patryk27
- License: mit
- Created: 2022-05-24T19:00:45.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-10-29T18:48:34.000Z (over 1 year ago)
- Last Synced: 2025-03-08T18:45:51.913Z (over 1 year ago)
- Topics: avr, bindings, emulation, rust, simavr, simulation
- Language: Rust
- Homepage:
- Size: 51.8 KB
- Stars: 3
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# simavr-ffi [![crates-badge]][crates-link]
[crates-badge]: https://img.shields.io/crates/v/simavr-ffi.svg
[crates-link]: https://crates.io/crates/simavr-ffi
Low-level unsafe bindings to [simavr](https://github.com/buserror/simavr):
```toml
[dependencies]
simavr-ffi = "1"
```
Supported platforms: Linux & Mac (pull requests for Windows etc. welcome!).
If you're looking for something high-level and safe, see [AvrTester](https://github.com/Patryk27/avr-tester).
## Requirements
Compile-time:
- clang,
- patch (optional, required only if you enable the `patch-twi-inconsistencies` feature flag),
- libelf,
- pkg-config,
- zlib.
### Nix (Linux / Mac)
``` bash
$ nix develop
```
### Ubuntu
```bash
$ sudo apt install clang libelf-dev pkg-config
```
### Mac
```bash
$ brew install libelf pkg-config
```
## Feature flags
If you want, you can activate following feature flags (disabled by default):
- `patch-twi-inconsistencies` - applies a fix for https://github.com/buserror/simavr/issues/453
## FAQ
### How does it compare to `simavr-sys`?
[`simavr-sys`](https://github.com/dylanmckay/simavr-sim) seems unmaintained at
the moment, while `simavr-ffi` is up-to-date.
## License
Copyright (c) 2022 Patryk Wychowaniec .
Licensed under the MIT license.