Open torfmaster opened 5 years ago
Have you tried removing the feature flags one by one? I did, but I got stuck very early (Don't remember where exactly).
Off the top of my head, the following two things would get in the way:
I don't know exactly about the details, however, you can build no-std-binaries (which are probably actually libraries) using stable rust and the cortex-m-rt crate. Regarding inline assembly: We are using so little of it, we could link the few lines against an external assembly-file, if we wanted.
After https://github.com/tock/libtock-rs/pull/380 is merged and Rust 1.39.0
1.59.0
is released (which stabilizes asm!
and global_asm!
), libtock-rs
will work on stable Rust.
There are a couple things that will still require a nightly toolchain:
cargo miri
I think that should be Rust 1.59.0
I think that should be Rust 1.59.0
Good catch, fixed.
Use stable rust
Many crates (like cortex-m, cortex-m-rt etc.) can now be used using only stable features of Rust. As the tock kernel itself is language-agnostic it should be no problem to move libtock-rs to stable rust.
Advantages:
Disadvantages:
Define a "supported" version of the kernel
libtock-c and libtock-rs tend to diverge. Some drivers are only supported in libtock-c and some examples exist only for libtock-rs. Moreover, the abi was changed in incompatible ways. I have some suggestions (non-exhaustive) here
Stabilize the toolchain
My main tool for testing and developing libtock-rs is the run-example script. However, other boards are (accidentally) not supported. We could
I'd be interested in your opinions.