cortex-a
scapegoat
cortex-a | scapegoat | |
---|---|---|
2 | 5 | |
122 | 236 | |
- | - | |
7.4 | 0.0 | |
over 1 year ago | about 2 years ago | |
Rust | Rust | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cortex-a
-
Liblithium: A lightweight and portable cryptography library
I'm latching onto a non-main argument to be pedantic, but I'd like to mention that Rust is fine for _non-embedded_ kernel development too, in my experience.
As you're likely aware, Rust for embedded sucks when there's no HAL, but should be very pleasant otherwise. Have you looked into the cortex-a[1] crate?
Some unnecessary instructions could also be a part of an ongoing optimization effort[2][3].
[1]: https://github.com/rust-embedded/cortex-a
[2]: https://old.reddit.com/r/rust/comments/yn6105/optimization_o...
[3]: https://arewestackefficientyet.com
-
Rust OS cortex a5
It looks like you can. I have no experience with this but you can also check out the rust channel of the embedded engineers discord for help if you hit a snag.
scapegoat
-
10-12x smaller executable footprint than `std::collections::BTreeMap` - accurate?
Woah that made a huge difference! Thanks for taking the time to try that out and type it up. Was able to retrace your steps and get the same 8.4KB result. I've updated the writeup again.
-
no_std dups
IndexMax is not used directly and the one that is used directly is dynamic. https://github.com/tnballo/scapegoat is closer, but, still does not take advantage of const (uses rebalancing)
What are some alternatives?
cortex-m-quickstart - Template to develop bare metal applications for Cortex-M microcontrollers
heapless - Heapless, `static` friendly data structures
cortex-m - Low level access to Cortex-M processors
min-sized-rust - 🦀 How to minimize Rust binary size 📦
liblithium - A lightweight and portable cryptography library.
bst-rs - Recursive & Iterative Binary Search Tree Implementations within Rust
syscall.rs - Raw system calls for Rust
xargo - The sysroot manager that lets you build and customize `std`
cortex-m-rt - Minimal startup / runtime for Cortex-M microcontrollers
option-block - A minimal utility Rust crate for small, fixed-size blocks of optional types.
rtic - Real-Time Interrupt-driven Concurrency (RTIC) framework for ARM Cortex-M microcontrollers
bitfield-struct-rs - Procedural macro for bitfields.