Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Third newsletter #85

Merged
merged 5 commits into from
Apr 16, 2018
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions newsletters/2018-04-14.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# The Embedded Working Group Newsletter - 3

> 2018-04-14

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!

If you want to mention something in [the next newsletter], make sure to leave a comment on the issue.

[the next newsletter]: https://github.com/rust-lang-nursery/embedded-wg/issues/84
[Embedded WG]: https://github.com/rust-lang-nursery/embedded-wg

## Highlights

* Crates for the Embedded Rust Ecosystem are now being tracked in the [Awesome Embedded Rust] repository
* Progress has been made as part of the [Embedded Rust on Stable] initiative, including:
* `extern crate compiler_builtins` is [now included in the no_std prelude]
* [xargo no longer needed] for ARM Cortex-M development
* We also made some progress on simplifying the embedded development setup: You can now link Embedded Rust programs [using lld]
* [Wilfried] kicked off a blog series about [using embedded rust]
* [Andre Richter] is writing a tutorial for using Rust to write [bare metal Raspberry Pi 3] applications
* The Embedonomicon and the Embedded Rust Books are [now kept] in the [Embedded WG] repository, and pull requests are welcome!

[Awesome Embedded Rust]: https://github.com/rust-embedded/awesome-embedded-rust
[Embedded Rust on Stable]: https://github.com/rust-lang-nursery/embedded-wg/issues/42
[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
[xargo no longer needed]: https://users.rust-lang.org/t/psa-you-no-longer-need-xargo-to-do-arm-cortex-m-development/16703
[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
[Wilfried]: https://github.com/ithinuel
[using embedded rust]: http://ithinuel.me/embedded-rust-why/
[Andre Richter]: https://github.com/andre-richter
[bare metal Raspberry Pi 3]: https://github.com/andre-richter/rust-raspi3-tutorial
[now kept]: https://github.com/rust-lang-nursery/embedded-wg/pull/78

## Embedded Projects

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!

* [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)
* [myeisha] released the first version of their [thumb2-stack-size] tool, which helps determine the maximum stack size used in embedded code

[japaric]: https://github.com/japaric
[cargo-binutils]: https://github.com/japaric/cargo-binutils
[issue 49584]: https://github.com/rust-lang/rust/issues/49584
[myeisha]: https://github.com/myeisha
[thumb2-stack-size]: https://crates.io/crates/thumb2-stack-size

### `embedded-hal` Ecosystem Crates

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:

| Type | Status | Count |
| :--- | :----- | :---- |
| [Device Crates] | released | 13 |
| [HAL Impl Crates] | released | 10 |
| [Driver Crates Released] | released | 7 |
| [Driver Crates WIP] | WIP | 26 |

[Weekly Driver Initiative]: https://github.com/rust-lang-nursery/embedded-wg/issues/39
[Device Crates]: https://github.com/rust-embedded/awesome-embedded-rust#device-crates
[HAL Impl Crates]: https://github.com/rust-embedded/awesome-embedded-rust#hal-implementation-crates
[Driver Crates Released]: https://github.com/rust-embedded/awesome-embedded-rust#driver-crates
[Driver Crates WIP]: https://github.com/rust-embedded/awesome-embedded-rust#wip

## Help Wanted

* We need help working on [RFC2070], stabilizing usage of custom Panic behavior. [nagisa] is willing to mentor!
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps make RFC2070 link to more recent comment (rust-lang/rust#44489 (comment)) by nagisa?

* 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

[RFC2070]: https://github.com/rust-lang/rust/issues/44489#issuecomment-381324623
[nagisa]: https://github.com/nagisa
[used most often]: https://github.com/rust-lang-nursery/embedded-wg/issues/63#issue-305114817