|
| 1 | +# Embedded Working Group Meeting Notes |
| 2 | + |
| 3 | +* [Coordination Repository] |
| 4 | +* Meetings: Tuesday 8pm Europe/Berlin time |
| 5 | +* [Join the Chat] |
| 6 | +* Today's meeting: 2019-11-12 |
| 7 | + |
| 8 | +[Coordination Repository]: https://github.com/rust-embedded/wg |
| 9 | +[Join the Chat]: https://riot.im/app/#/room/#rust-embedded:matrix.org |
| 10 | + |
| 11 | +## Attendance |
| 12 | + |
| 13 | +Write your GH username or Matrix handle here! |
| 14 | + |
| 15 | +* jamesmunns |
| 16 | +* therealprof |
| 17 | +* korken89 |
| 18 | +* japaric |
| 19 | +* adamgreig |
| 20 | +* charles |
| 21 | + |
| 22 | +## Reminders |
| 23 | + |
| 24 | +* Blog Post |
| 25 | + * https://github.com/rust-embedded/blog/blob/master/content/2019-11-28-newsletter-21.md |
| 26 | + |
| 27 | +## This Week's Agenda |
| 28 | + |
| 29 | +* From last week: |
| 30 | + * Foundational crates push to 1.0 |
| 31 | + * https://github.com/rust-embedded/wg/issues/383 |
| 32 | + * cortex-m |
| 33 | + * Still has unsound mutex |
| 34 | + * Issue #? |
| 35 | + * svd2rust - still in flux |
| 36 | + * Major version support policy? |
| 37 | + * Only current major? |
| 38 | + * Current and previous major (debian style)? |
| 39 | + * Homework: https://github.com/rust-lang/rfcs/pull/2803 |
| 40 | + * RFC: Official support policy (at least for >= 1.0.0)? |
| 41 | + * Make tracking issue(s) for crate stabilization? |
| 42 | + * Changing the way embedded-hal receives cool stuff: https://github.com/rust-embedded/embedded-hal/issues/163 |
| 43 | + * Infra team is asking whether we would like to use Rust infrastructure more and are willing to have their bot have full access to embedded WG repositories, giving us: |
| 44 | + * Proper team membership handling including sub-teams |
| 45 | + * Automatic permission handling for all bots and repositories |
| 46 | + * Sub-team displays on the Rust Governance page |
| 47 | + * Access to all current and new bots they run, cf. https://github.com/rust-lang/team |
| 48 | + * PSA from adamgreig: stm32-rs 0.9 was released 🎉 |
| 49 | + |
| 50 | +* Didn't get to this week: |
| 51 | + * Mutex Trait (@korken89) |
| 52 | + * https://github.com/rust-embedded/wg/pull/377 |
| 53 | + * No consensus about associated type, slight preference of `Data` |
| 54 | + * Reference impl: https://github.com/korken89/core-mutex/blob/master/src/lib.rs |
| 55 | + * Randomizing symbol names vs. reproducible builds (@jschievink): |
| 56 | + * https://github.com/rust-embedded/cortex-m-rt/pull/205 |
| 57 | + * Waiting for @jschievink to implement the trampoline approach |
| 58 | + * Meeting participants in favour of getting rid of the randomizing hack |
| 59 | + |
| 60 | +## This Week's Action Items |
| 61 | +* [ ] Read https://github.com/rust-lang/rfcs/pull/2803 |
| 62 | +* [ ] Add notes re: stabilization to the tracking issue |
| 63 | + |
| 64 | + |
| 65 | +## Last Week's Agenda |
| 66 | + |
| 67 | +* From last week: |
| 68 | + * Foundational crates push to 1.0 |
| 69 | + * https://github.com/rust-embedded/wg/issues/383 |
| 70 | + * cortex-m |
| 71 | + * Still has unsound mutex |
| 72 | + * Issue #? |
| 73 | + * svd2rust - still in flux |
| 74 | + * Major version support policy? |
| 75 | + * Only current major? |
| 76 | + * Current and previous major (debian style)? |
| 77 | + * Homework: https://github.com/rust-lang/rfcs/pull/2803 |
| 78 | + * RFC: Official support policy (at least for >= 1.0.0)? |
| 79 | + * Make tracking issue(s) for crate stabilization? |
| 80 | + * Mutex Trait (@korken89) |
| 81 | + * https://github.com/rust-embedded/wg/pull/377 |
| 82 | + * No consensus about associated type, slight preference of `Data` |
| 83 | + * Reference impl: https://github.com/korken89/core-mutex/blob/master/src/lib.rs |
| 84 | +* Didn't get to this week |
| 85 | + * Randomizing symbol names vs. reproducible builds (@jschievink): |
| 86 | + * https://github.com/rust-embedded/cortex-m-rt/pull/205 |
| 87 | + * Waiting for @jschievink to implement the trampoline approach |
| 88 | + * Meeting participants in favour of getting rid of the randomizing hack |
| 89 | + * PSA from @japaric, new PR to fix Mutex impl: https://github.com/rust-embedded/wg/pull/388 |
| 90 | + |
| 91 | +## Last Week's Action Items |
| 92 | + |
| 93 | +* [x] @therealprof write an RFC for changing the embedded-hal trait inclusion mechanics |
| 94 | + * https://github.com/rust-embedded/embedded-hal/issues/163 |
| 95 | +* [ ] Read https://github.com/rust-lang/rfcs/pull/2803 |
| 96 | +* [ ] Add notes re: stabilization to the tracking issue |
| 97 | +* [x] @jamesmunns: Go release the newsletter |
| 98 | + |
| 99 | +## Crates to Stabilize |
| 100 | + |
| 101 | +Please list for each crate: "Why" and "Any Blockers". Ex: |
| 102 | + |
| 103 | +* crate-foo |
| 104 | + * Why: It's used by every bar |
| 105 | + * Blockers: Needs `baz` to stabilize |
| 106 | + |
| 107 | +### List: |
| 108 | + |
| 109 | +* [`cortex-m`](https://github.com/rust-embedded/cortex-m) |
| 110 | + * Why: Foundational to majority of supported MCUs |
| 111 | + * Blockers: |
| 112 | + * MMIO/Register reference soundness? |
| 113 | + * Possibly need to use `svd2rust` for peripherals? |
| 114 | +* [`cortex-m-rt`](https://github.com/rust-embedded/cortex-m-rt) |
| 115 | + * Why: Foundational to majority of supported MCUs |
| 116 | + * Blockers: Review pending RFCs/PRs for potential breaking changes |
| 117 | + * ramfuncs, more user defined memory segments |
| 118 | +* [`aligned`](https://github.com/japaric/aligned) |
| 119 | + * Why: `cortex-m` depends on it |
| 120 | + * Blockers: |
| 121 | +* [`as-slice`](https://github.com/japaric/as-slice) |
| 122 | + * Why: `aligned` depends on it |
| 123 | + * Blockers: |
| 124 | +* [`generic-array`](https://github.com/fizyk20/generic-array) |
| 125 | + * Why: |
| 126 | + * Used for generic numeric types until const generics lands |
| 127 | + * Still a number of issues to address for [const generics](https://github.com/rust-lang/rust/labels/A-const-generics) as of today |
| 128 | + * Blockers: |
| 129 | +* [`bare-metal`](https://github.com/japaric/bare-metal) |
| 130 | + * Why: Foundational to pretty much every MCU application written in Rust |
| 131 | + * Blockers: Not in WG hand, depends on @japaric / @korken89 |
| 132 | +* [`vcell`](https://github.com/japaric/vcell) |
| 133 | + * Why: `svd2rust`-generated crates and `cortex-m` depend on it |
| 134 | + * Blockers: |
| 135 | +* [`volatile-register`](https://github.com/japaric/vcell) |
| 136 | + * Why: |
| 137 | + * Primary abstraction for MMIO |
| 138 | + * Blockers: |
| 139 | + * potential MMIO soundness issues (spurious reads) |
| 140 | +* [`panic-halt`](https://github.com/korken89/panic-halt) |
| 141 | + * Why: This has become one of the primary panic implementations, which is necessary for a `#![no_std]`application |
| 142 | + * Blockers: |
| 143 | + * Probably none, @korken89 is interested in making it happen |
| 144 | +* [`embedded-hal`](https://github.com/rust-embedded/embedded-hal) |
| 145 | + * Why: Foundational for applications using common peripherals |
| 146 | + * Blockers: |
| 147 | + * Many open issues, lots of peripherals still missing |
| 148 | + * `digital::v1` vs. `digital::v2` kerfuffle |
| 149 | + * Lots of traits are `unproven` |
| 150 | +* [`svd2rust`](https://github.com/japaric/vcell) |
| 151 | + * Why: Main tool to generate register interfaces for MCUs |
| 152 | + * Blockers: More optimisation to make created code sound and viable for production, still very slow and bloaty |
| 153 | +* [`heapless`](https://github.com/japaric/heapless) |
| 154 | + * Why: Some things are some much nicer if they can use dynamic memory |
| 155 | + * Blockers: Not in WG hand, depends on @japaric / @korken89 |
| 156 | + |
| 157 | +### Crates we need |
| 158 | + |
| 159 | +* `panic-reset` |
| 160 | +* Some kind of basic stable allocator? |
| 161 | + * `alloc-cortex-m` still unstable, blocked on https://github.com/rust-lang/rust/issues/51540 |
| 162 | +* `async`/`await` support and a task executor |
| 163 | + * Blocked on: https://github.com/rust-lang/rust/issues/62918 |
0 commit comments