freertos-sys2

Crates.iofreertos-sys2
lib.rsfreertos-sys2
version0.2.1
sourcesrc
created_at2022-04-05 21:44:11.761825
updated_at2023-06-01 17:30:12.179438
descriptionLow-level bindings to FreeRTOS. User's responsibility to provide the FreeRTOS
homepage
repositoryhttps://github.com/junelife/freertos-sys2
max_upload_size
id562800
size21,272
juneoslite-misc-admins (github:junelife:juneoslite-misc-admins)

documentation

https://docs.rs/freertos-sys2

README

freertos-sys2

Raw/direct bindings to FreeRTOS functions and types

Principles

  1. Support APIs for directly interacting with FreeRTOS APIs and datastructures
  2. Keep the build fast and robust
  • Right now, this means we don't use bindgen (but bindgen is not totally excluded)
  1. Make sure that check can always pass
  • cargo check is important for developer tooling. Make sure this always can complete check regardless of features selected (unless they are specifically incompatible) and the rust target used
  • Right now, there are no target cfgs or feature cfgs (this can change)

Other freertos bindings that might work for your project

  1. freertos-rust
    • Like freertos-sys2, this assumes that FreeRTOS is built seperately and linked in by some external mechanism
    • Unlike freertos-sys2, this binds all FreeRTOS APIs by using stub functions written in C.
    • Unlike freertos-sys2, this provides higher level APIs directly. Does not expose direct bindings to FreeRTOS APIs
  2. freertos-sys
    • Unlike freertos-sys2, builds FreeRTOS in it's build.rs script
    • Unlike freertos-sys2, does not export any FreeRTOS specific functions, instead exporting cmsis-rtos2
  3. freertos_rs
    • Unlike freertos-sys2, uses shims written in C to interact with FreeRTOS rather than binding the symbols directly
    • Unlike freertos-sys2, does not expose the low level function calls. Only high level abstractions are exposed
    • Like freertos-sys2, assumes that FreeRTOS is built seperately and linked together by some external mechanism.

License

Licensed under either of

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 7

cargo fmt