You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Let's discuss topics related to Rust.
Please add topics and links to this discussion.
ivmarkov:
Some weekend action + topics/action items for discussion:
Rust STD fork
The patch of @igrr where the atomics are emulated via an invalid instruction exception handler trap is accommodated in esp-idf-sys - against ESP-IDF V4.3 - and in the Rust fork itself via a new ESP32-C3 target. We are still supporting the old story though, with rustc issuing atomics libcalls. This is our story for ESP32-S2 currently.
Action item: Discuss the long-term atomics approach for ESP32-S2
Action item: Take a decision, so that we can start submitting the Rust STD patches for review to get early feedback from the Rust maintainers
Hosting the Rust compiler fork GitHub repo
Action item: Take a decision - choose espressif or esp-rs org
esp-idf-sys (the SYS crate providing unsafe bindings to ESP-IDF, which powers esp-idf-hal and esp-idf-svc) is now published to crates.io. Many thanks to @sapir for letting me use his original esp-idf-sys name in crates.io!
Action item: Ideally we should host this crate either in the espressif or esp-rs org, because it is key to any Rust development for ESP-IDF
esp-idf-hal (the HAL crate implementing Rust's "standard" emvedded-hal driver traits on top of the ESP-IDF) is also now published to crates.io. Again, many thanks to @sapir for letting me use his original esp-idf-hal name in crates.io.
Action item: Ditto - ideally we should host this crate either in the espressif or esp-rs org, because it is key to any Rust development for ESP-IDF
esp-idf-svc and embedded-svc also published to crates.io. These are generic traits + ESP-IDF-specific implementation for stuff which belongs neither to esp-idf-hal, nor to the Rust STD fork - for example, APIs & implementations for configuring WiFi; bindings of ESP-IDF logging to Rust's log crate etc. etc.
Action item: Ideally we should host these two crates either in the espressif or esp-rs org
Low prio, only if time permits: would be good to start thinking about Rust support for the ULP RISCV chip in ESP32-S2
Action item: Exact riscv architecture? Check if already supported by stock Rust.
Of course: no_std and no-alloc. Would be good if core is still supported though
Good to have: a Rust "ulp-hal" story/feature in esp-idf-hal implementing the gpio traits from Rust embedded-hal, similar to this C-based code.
Hosted under esp-rs, I moved my fork (as it as the most searchability) there - we will need to rebase on top of @ivmarkov's patches & update readme's etc.
esp-idf-sys, esp-idf-hal
Slight hesitation given that it relies on another external tool (platformio) but I think it will be good to get these moved into esp-rs. The great work by @ivmarkov shows PoC cargo first and idf first approaches solved using this. We can always work on moving away from platformio to just cargo build scripts or integration with idf.py if we need to.
esp-idf-svc and embedded-svc
Happy to move to esp-rs, the embedded hal moves far to slowly to try and upstream this sort of thing there.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
(Migrated from archive espressif/rust)
georgik:
Let's discuss topics related to Rust.
Please add topics and links to this discussion.
ivmarkov:
Some weekend action + topics/action items for discussion:
Rust STD fork
rustc
issuing atomics libcalls. This is our story for ESP32-S2 currently.Hosting the Rust compiler fork GitHub repo
esp-idf-sys
(the SYS crate providing unsafe bindings to ESP-IDF, which powersesp-idf-hal
andesp-idf-svc
) is now published to crates.io. Many thanks to @sapir for letting me use his originalesp-idf-sys
name in crates.io!esp-idf-hal
(the HAL crate implementing Rust's "standard" emvedded-hal driver traits on top of the ESP-IDF) is also now published to crates.io. Again, many thanks to @sapir for letting me use his originalesp-idf-hal
name in crates.io.esp-idf-svc
andembedded-svc
also published to crates.io. These are generic traits + ESP-IDF-specific implementation for stuff which belongs neither toesp-idf-hal
, nor to the Rust STD fork - for example, APIs & implementations for configuring WiFi; bindings of ESP-IDF logging to Rust's log crate etc. etc.Low prio, only if time permits: would be good to start thinking about Rust support for the ULP RISCV chip in ESP32-S2
no_std
and no-alloc. Would be good ifcore
is still supported thoughesp-idf-hal
implementing the gpio traits from Rustembedded-hal
, similar to this C-based code.MabezDev:
Notes written up in the proposal issue.
Hosted under
esp-rs
, I moved my fork (as it as the most searchability) there - we will need to rebase on top of @ivmarkov's patches & update readme's etc.Slight hesitation given that it relies on another external tool (platformio) but I think it will be good to get these moved into esp-rs. The great work by @ivmarkov shows PoC cargo first and idf first approaches solved using this. We can always work on moving away from platformio to just cargo build scripts or integration with idf.py if we need to.
Happy to move to esp-rs, the embedded hal moves far to slowly to try and upstream this sort of thing there.
georgik:
Supported Linux distro
LLVM
SVD
Rust build
Beta Was this translation helpful? Give feedback.
All reactions