embedded-hal
cross
embedded-hal | cross | |
---|---|---|
11 | 118 | |
1,815 | 6,024 | |
3.3% | 3.2% | |
8.6 | 9.2 | |
14 days ago | 5 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.
embedded-hal
-
Announcing the new async-hal! Featuring embedded IO traits and new interrupt-based executor
What is the difference between this and https://github.com/rust-embedded/embedded-hal/tree/master/embedded-hal-async?
-
Introducing async-hal! A hardware abstraction layer for embedded devices with futures
Maybe worth mentioning if you (or someone else) hasn't seen it before, the embedded-wg is also working on an async version of the embedded-hal traits, embedded-hal-async.
-
Microsoft is rewriting core Windows libraries in Rust
In that case you want to keep most of the unsafe in the HAL crate, and expose an interface as safe as possible. To give you an idea, is it since 2018 that a "generic" DMA safe implementation is in discussion https://github.com/rust-embedded/embedded-hal/issues/37
-
Stop Comparing Rust to Old C++
Does something like embedded hal exist in the C/C++ world? ( https://github.com/rust-embedded/embedded-hal )
-
not entirely new to rust, but very new to rust+arduino,.... eli5 the differences between these projects?
worth mentioning also is embedded-hal but my understanding is this has absolutely nothing to do with arduino, so despite being embedded probably not what I want.
-
Google announce secure Rust-based OS for embedded system
The ecosystem is great and growing, It really benefits from a language-standard embedded HAL which makes writing cross-platform drivers a cinch - e.g., you can write a bit-banged MDIO driver and use it on anything that has a timer and a two IO pins, from a Zynq Ultrascale to an arduino. Sure, this is possible in C - but Rust really benefits from a less fragmented ecosystem here.
-
Want to volunteer for your projects
Have you thought about writing/contributing to embedded-hal compatible crates (a sensor module driver for example)? It's always good to contribute to an eco system.
-
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.
-
Why doesn’t V8 fit on my microcontroller?
I can write a library for an OLED device that is driven by an platform agnostic I2C device that will run on any microcontroller that implements the necessary abstractions.
The `embedded-hal` (https://github.com/rust-embedded/embedded-hal) are these abstractions that allow this to happen
-
Hands-On: The RISC-V ESP32-C3 Will Be Your New ESP8266
Yes but there needs to be appropriate libraries available such as HAL. Well it doesn't have to but it makes my life as a beginner in both much easier. But its probably matter of time because i predict that this chip will be very popular in Rust embedded.
cross
-
Is statically compiling against glibc possible?
To compile a program with musl on a glibc system you can use cross-rs!
-
How to cross Compile on Debian for: Mac / FreeBSD / OpenBSD / Android ... ?
I cross compile to Mac, bsd, windows, etc cross ... Works great for me with either docker or podman.
-
Compiling against specific version glibc
If docker is available for you, https://github.com/cross-rs/cross is another and reliable way to solve this kind of problem. I do use it regularly.
-
Transitioning to Rust as a company
We are using https://github.com/cross-rs/cross.
-
A guide to cross-compilation in Rust
There is some built-in support in rustc for cross-compiling, but getting the build to actually work can be tricky due to the need for an appropriate linker. Instead, we’re going to use the Cross crate, which used to be maintained by the Rust Embedded Working Group Tools group.
-
Is there a definitive guide on cross-compiling with OpenSSL?
I have used cross before to cross compile from Linux to other Linux. It has a section on it's wiki about this. Maybe that could be of help.
-
Docker ARMv7 Alpine Rust builder
You can use cross to build your application and copy the artifacts into an alpine armv7 container. It would also build faster due to using cross compilation rather than QEMU.
-
Compiling Linux to Mac in CI/CD
Looks like cross is the easiest way to get something cross-compiled but its Mac support is blocked behind building your own build image. Even that repo says that it might be broken.
-
How to you develop in containers?
Bonus: if you’re working with Rust and doing a lot of cross platform stuff, check out cross. It runs QEMU in docker so you can run tests on a bunch of different emulated targets easily- literally a one line setup, it’s kind of magical.
-
What are some stuff that Rust isn't good at?
It's also not as naturally cross-compilable as Go, though that's partly a side-effect of not accepting being a semi-closed ecosystem to achieve that and cross exists as a stop-gap while things like cargo-zigbuild explore less drastic options.
What are some alternatives?
quickjs-esp32 - QuickJS port for ESP32
dockcross - Cross compiling toolchains in Docker images
microzig - Unified abstraction layer and HAL for several microcontrollers
termux-adb-fastboot - android adb-fastboot tools for termux
bl602-hal - Hardware Abstract Layer for BL602 RISC-V WiFi + BLE SoC in embedded Rust
opencv-rust - Rust bindings for OpenCV 3 & 4
nesper - Program the ESP32 with Nim! Wrappers around ESP-IDF API's.
rusqlite - Ergonomic bindings to SQLite for Rust
esp8266-quickjs - An attempt on getting QuickJS working on ESP8266 hardware
plotters - A rust drawing library for high quality data plotting for both WASM and native, statically and realtimely 🦀 📈🚀
embassy - Modern embedded framework, using Rust and async.
homebrew-macos-cross-toolchains - macOS cross compiler toolchains