esp-idf-hal
stm32-hal
esp-idf-hal | stm32-hal | |
---|---|---|
3 | 7 | |
391 | 141 | |
3.6% | - | |
9.2 | 8.6 | |
9 days ago | 2 days ago | |
Rust | Rust | |
Apache License 2.0 | MIT License |
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.
esp-idf-hal
-
What the HAL? The Quest for Finding a Suitable Embedded Rust HAL
HALs with std support: This is exclusive to ESP32 devices right now.
-
How to write HALs and get into microcontroller programming
Hey everybody, I'm Santiago a software engineer who recently pick interest on microcontrollers, I have been looking around the ecosystem and everything seems to be written in C/C++, nonetheless I saw this project esp-rs on github and I was fascinated and at the same time confused, I've never written any HAL or even dive into system programming.
- Using Rust's standard library on ESP32 microncontrollers
stm32-hal
- The bane of my existence: Supporting both async and sync code in Rust
-
What the HAL? The Quest for Finding a Suitable Embedded Rust HAL
Typestate-free HALs: This is in exchange for better ergonomics as the author claims. Only two HALs fall in this category right now which are the STM32-HAL & nRF-HAL.
-
6 Things I Wish I Knew Starting with Embedded Rust
As I worked with the stm32, as implied earlier, the HALs that I worked with were ones built around embedded-hal traits. Nevertheless, I came across a HAL at a certain point that adopted a different approach that felt more practical and easy to understand. This was the stm32-hal stm32-hal that I found to be more wholesome as it incroporated multiple families of the STM32 under a single HAL umbrella (my original expectation). The STM32-hal eliminates much of the trait confusion that I had encountered before. The thing is the stm32-hal does not seem to be mainstream yet. From what I understand, the HALs built with the mebedded-hal as a basis seem to be the ones mainly adopted by the embedded working group. Additionally, I am not sure if the stm32-hal has any equivalent counterparts for other manufacturer devices.
-
STM32F4 Embedded Rust at the HAL: GPIO Button Controlled Blinking
📝 At the time of writing this post, it came to my attention that there is an additional HAL that targets STM32 device families (the stm32-hal). From what I figure, right now there seem to be two approaches for developing HALs. The first approach is trait driven so to speak where the embedded-hal is used as a foundation. The second approach is more application-driven and provides a high-level API that targets several families of a device. However, this exists only for the stm32 through the stm32-hal. Right now, the first approach is what I found to be more widespread as it covers different microcontrollers and what this post is based on.
- Rust on Espressif chips Q1 2022
-
Any frameworks in Rust for developing on SiFive / ST / NXP boards?
For STM32, check out the Peripheral Access Crates by the stm32-rs ream. For higher-level access, I wrote This HAL library for STM32. Works on most newer variants, and includes examples for specific peripherals, and simple applications.
- What are your recommended repositories to learn embedded systems from? You can share your own repository!
What are some alternatives?
esp-hal - no_std Hardware Abstraction Layers for ESP32 microcontrollers
awesome-embedded-rust - Curated list of resources for Embedded and Low-level development in the Rust programming language
espup - Tool for installing and maintaining Espressif Rust ecosystem.
C++ Middleware Writer - The repo contains library code to support messaging and serialization. There are also two programs in the repo that are needed to use the CMW.
no_std-training - Getting-started guide on using the Rust with Espressif SoCs using no_std.
stm32-rs - Embedded Rust device crates for STM32 microcontrollers
esp-idf-sys - Bindings for ESP-IDF (Espressif's IoT Development Framework)
baremetal
notecard-rs - Rust driver for the Blues.io Notecard (https://blues.io/products/notecard/)
generic_embedded - generic embedded stuff used throughout hobby projs
mspenv - a dev env to build, flash, and debug msp430 firmware without an IDE
cortex-m - Low level access to Cortex-M processors