stm32f1xx-hal
embassy
stm32f1xx-hal | embassy | |
---|---|---|
1 | 79 | |
577 | 5,649 | |
0.5% | 3.7% | |
8.0 | 9.9 | |
17 days ago | 6 days ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
stm32f1xx-hal
-
Bare metal STM32F103C8T6 UART example?
You can also check how the Rust hal does it here :https://github.com/stm32-rs/stm32f1xx-hal/blob/master/examples/serial.rs
embassy
-
Apple is Killing Swift – A great language strangled by governance
The other comment implied it but I think it's worth pointing out that:
> embedded applications that can't have asynchronous execution
Is most definitely not the case.
They can't have the same type of async runtime that would be optimal for a web server or the likes (and I'm not sure all desktop applications and web servers are going to always benefit from the same runtime in the same way), but that's a point in favour of Rust's model imho
If you're interested this is an embedded async runtime that's expected to run in no-std and no-alloc environments
https://embassy.dev/
-
Impl Snake For Micro:bit - Embedded async Rust on BBC Micro:bit with Embassy
In this article, I will guide you through creating a Snake game in embedded Rust on the BBC Micro:bit using the asynchronous framework Embassy.
-
A review after using Rust on embedded in production for over a year
Rust solved this by autogenning code from mfgr published device xml descriptors. Eg https://embassy.dev/
Better than any C(++) embedded hal I've used
- Building a GATT Server on Pi Pico W
- Embassy-rs/embassy: Modern embedded framework, using Rust and async
- Embedded Swift [video]
-
I like the RP2040
If I get your question right, you still need some host software (like a rust compiler)! It's not exactly micropython experience.
The bare minimum would be one of the examples [1] compiled with a Rust compiler and then transformed into a .uf2 file with elf2uf2 [2]. You can then just drag and drop the .uf2 file into the "mass storage device" presented by the bootloader. To get the bootloader to mount, you press a button on a Raspberry Pico (or short two outputs if you're using bare RP2040) while plugging it in.
You'll probably want a debug probe [3] driven by probe-rs [4] at some point, it's just much more convenient to flash and debug with it.
[1]: https://github.com/embassy-rs/embassy/tree/main/examples/rp/...
[2]: https://github.com/JoNil/elf2uf2-rs
[3]: https://www.raspberrypi.com/documentation/microcontrollers/d...
[4]: https://probe.rs/
- Embassy 在 Blue Pill 上的点灯案例
-
Why choose async/await over threads?
thanks. looked that up. for the curious: https://embassy.dev/
-
Accessing the Pinecil UART with Picoprobe
Running the Embassy RP2040 USB CDC ACM serial example takes about 5 seconds on a Pico.
https://github.com/embassy-rs/embassy/blob/main/examples/rp/...
What are some alternatives?
bl602-hal - Hardware Abstract Layer for BL602 RISC-V WiFi + BLE SoC in embedded Rust
rtic - Real-Time Interrupt-driven Concurrency (RTIC) framework for ARM Cortex-M microcontrollers
atsam4-hal
rusty-clock - An alarm clock with environment stats in pure bare metal embedded rust
STM32F746-CMSIS-Minimal-Blocking-Uart-Driver - Minimalist blocking UART driver for STM32F746-Disco UART1 ST-Link COM Port
smoltcp - a smol tcp/ip stack
tock - A secure embedded operating system for microcontrollers
rust-mos - Empowering everyone to build reliable and efficient software.
nrf-hal - A Rust HAL for the nRF family of devices
gdbstub - An ergonomic, featureful, and easy-to-integrate implementation of the GDB Remote Serial Protocol in Rust (with no-compromises #![no_std] support)
async-std - Async version of the Rust standard library