|
| 1 | +# The Embedded Working Group Newsletter - 3 |
| 2 | + |
| 3 | +> 2018-04-14 |
| 4 | +
|
| 5 | +This is the third bi-weekly newsletter of the [Embedded WG] where we highlight new progress, celebrate cool projects, thank the community, and advertise projects that need help! |
| 6 | + |
| 7 | +If you want to mention something in [the next newsletter], make sure to leave a comment on the issue. |
| 8 | + |
| 9 | +[the next newsletter]: https://github.com/rust-lang-nursery/embedded-wg/issues/84 |
| 10 | +[Embedded WG]: https://github.com/rust-lang-nursery/embedded-wg |
| 11 | + |
| 12 | +## Highlights |
| 13 | + |
| 14 | +* Crates for the Embedded Rust Ecosystem are now being tracked in the [Awesome Embedded Rust] repository |
| 15 | +* Progress has been made as part of the [Embedded Rust on Stable] initiative, including: |
| 16 | + * `extern crate compiler_builtins` is [now included in the no_std prelude] |
| 17 | + * [xargo no longer needed] for ARM Cortex-M development |
| 18 | +* We also made some progress on simplifying the embedded development setup: You can now link Embedded Rust programs [using lld] |
| 19 | +* [Wilfried] kicked off a blog series about [using embedded rust] |
| 20 | +* [Andre Richter] is writing a tutorial for using Rust to write [bare metal Raspberry Pi 3] applications |
| 21 | +* The Embedonomicon and the Embedded Rust Books are [now kept] in the [Embedded WG] repository, and pull requests are welcome! |
| 22 | + |
| 23 | +[Awesome Embedded Rust]: https://github.com/rust-embedded/awesome-embedded-rust |
| 24 | +[Embedded Rust on Stable]: https://github.com/rust-lang-nursery/embedded-wg/issues/42 |
| 25 | +[now included in the no_std prelude]: https://users.rust-lang.org/t/psa-breaking-change-extern-crate-compiler-builtins-is-now-included-in-no-std-crates/16704 |
| 26 | +[xargo no longer needed]: https://users.rust-lang.org/t/psa-you-no-longer-need-xargo-to-do-arm-cortex-m-development/16703 |
| 27 | +[using lld]: https://users.rust-lang.org/t/cortex-m-rt-v0-4-0-now-you-can-link-arm-cortex-m-programs-using-lld/16751 |
| 28 | +[Wilfried]: https://github.com/ithinuel |
| 29 | +[using embedded rust]: http://ithinuel.me/embedded-rust-why/ |
| 30 | +[Andre Richter]: https://github.com/andre-richter |
| 31 | +[bare metal Raspberry Pi 3]: https://github.com/andre-richter/rust-raspi3-tutorial |
| 32 | +[now kept]: https://github.com/rust-lang-nursery/embedded-wg/pull/78 |
| 33 | + |
| 34 | +## Embedded Projects |
| 35 | + |
| 36 | +If you have an embedded project or blog post you would like to have featured in the Embedded WG Newsletter, make sure to mention it on the tracking issue for [the next newsletter], we would love to show it off! |
| 37 | + |
| 38 | +* [japaric] released an initial version of [cargo-binutils], which will allow you to use LLVM's binutils (like `nm`, `size`, `objcopy`, etc.) in the format `cargo objcopy` (once [issue 49584] has landed) |
| 39 | +* [myeisha] released the first version of their [thumb2-stack-size] tool, which helps determine the maximum stack size used in embedded code |
| 40 | + |
| 41 | +[japaric]: https://github.com/japaric |
| 42 | +[cargo-binutils]: https://github.com/japaric/cargo-binutils |
| 43 | +[issue 49584]: https://github.com/rust-lang/rust/issues/49584 |
| 44 | +[myeisha]: https://github.com/myeisha |
| 45 | +[thumb2-stack-size]: https://crates.io/crates/thumb2-stack-size |
| 46 | + |
| 47 | +### `embedded-hal` Ecosystem Crates |
| 48 | + |
| 49 | +As part of the [Weekly Driver Initiative], crates that are part of the `embedded-hal` ecosystem are now tracked in the [Awesome Embedded Rust] repository. Here is a current snapshot of what is available there: |
| 50 | + |
| 51 | +| Type | Status | Count | |
| 52 | +| :--- | :----- | :---- | |
| 53 | +| [Device Crates] | released | 13 | |
| 54 | +| [HAL Impl Crates] | released | 10 | |
| 55 | +| [Driver Crates Released] | released | 7 | |
| 56 | +| [Driver Crates WIP] | WIP | 26 | |
| 57 | + |
| 58 | +[Weekly Driver Initiative]: https://github.com/rust-lang-nursery/embedded-wg/issues/39 |
| 59 | +[Device Crates]: https://github.com/rust-embedded/awesome-embedded-rust#device-crates |
| 60 | +[HAL Impl Crates]: https://github.com/rust-embedded/awesome-embedded-rust#hal-implementation-crates |
| 61 | +[Driver Crates Released]: https://github.com/rust-embedded/awesome-embedded-rust#driver-crates |
| 62 | +[Driver Crates WIP]: https://github.com/rust-embedded/awesome-embedded-rust#wip |
| 63 | + |
| 64 | +## Help Wanted |
| 65 | + |
| 66 | +* We need help working on [RFC2070], stabilizing usage of custom Panic behavior. [nagisa] is willing to mentor! |
| 67 | +* If you use inline assembly in your Embedded Rust programs, help us capture what assembly operations are [used most often] so we can stabilize them as intrinsics |
| 68 | + |
| 69 | +[RFC2070]: https://github.com/rust-lang/rust/issues/44489#issuecomment-381324623 |
| 70 | +[nagisa]: https://github.com/nagisa |
| 71 | +[used most often]: https://github.com/rust-lang-nursery/embedded-wg/issues/63#issue-305114817 |
0 commit comments