book
tock
book | tock | |
---|---|---|
7 | 32 | |
158 | 5,018 | |
10.1% | 1.9% | |
7.6 | 9.9 | |
7 days ago | about 21 hours ago | |
JavaScript | Rust | |
Apache License 2.0 | GNU General Public License v3.0 or later |
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.
book
- Building an occupancy sensor with a $5 ESP32 and a serverless DB
-
Safety vs. Performance. A case study of C, C++ and Rust sort implementations
It actually does. You can modify Rust to run without stdlib, reducing its size significantly. There are also tons of tricks to make this work really well so it's very close to C performance.
https://esp-rs.github.io/book/
-
ESP32 Standard Library Embedded Rust: GPIO Control
To get started with environments and hardware the Rust on ESP Book provides a great starting point. However, if using Wokwi, much of that is not needed.
-
Unlocking Possibilities: 4 Reasons Why ESP32 and Rust Make a Winning Combination
Good places to get started with std Rust on ESP include the Rust on ESP book, Embedded Rust on Espressif by Ferrous Systems. There's also the Awesome ESP Rust GitHub repository that contains a lot of useful material and project examples.
-
Embedded Rust on ESP32: compatibility issue with esp_idf_hal and embedded_hal?
I'm not new to microcontrollers or Rust, but I am new to trying Rust on an ESP32. I have followed the Rust on ESP book, and I have everything compiling and flashing fine, at least with a very basic "Hello, World!" printed to the serial console.
-
ESP32 Embedded Rust at the HAL: Button-Controlled Blinking by Timer Polling
Familiarity with the basic template for creating embedded applications in Rust for the ESP32 (The Rust on ESP Book is a good resource).
-
Embedded Rust tutorials on the ESP32-C3
For environment setup guidelines it would be better to reference the book, although we are working on a great improvement of it: https://github.com/esp-rs/book/issues/59
tock
-
OxidOS Automotive
Hi! This is Daniel from OxidOS Automotive (stating this for disclaimer purposes).
Yes, our OS is based on TockOS, and our CEO (Alex Radovici) is #7 in the contributors list (https://github.com/tock/tock/graphs/contributors), with other colleagues contributing in the past years.
- What is the best library to write a SCADA-like application for web?
-
Safety vs. Performance. A case study of C, C++ and Rust sort implementations
I'm definitely not the best person to answer this, but honestly it's not bad. Here's an example of a moderately complex peripheral, the cortex-m MPU, and how one rust OS handles it:
https://github.com/tock/tock/blob/3a0527d586702b8ae8cb242391...
Reads and writes turn into volatile reads, so everything works out under the hood. You get the benefits of everything having good names, declared sizes, and proper typing on your register accesses. You can extend that to bit accesses as well.
Rust still has a few areas it isn't competitive in, like your hyper limited or obscure chips (e.g. 8051s, XAP), mature tooling around formal methods, and a certification story for safety critical code. People are working on these latter two issues (e.g. ferrocene) and supposedly very close to public delivery, but you know how slow the industry is to adopt new things even then.
- Ask HN: Any Hardware Startups Here?
-
Real-Time Operating Systems 101: Basics for Efficient Computing
There's Tock (https://www.tockos.org/), which is written in Rust (with sprinkles of assembly).
-
Unwinding the Stack the Hard Way
Yeah, and I like I mentioned in the earlier comment, omitting the frame pointer reduces code size by 10% on RISC-V targets, which is huge when dealing with embedded flash: https://github.com/tock/tock/pull/1660
- Where are the C Alternatives?
-
Embedded real time OS
Tock is an excellent embedded OS written in Rust and has some good industrial support. I think Tock gets a lot of stuff right and I highly recommend some of the talks the developers gave on it.
-
Fedora now has frame pointers
Unfortunately, it increases the code size by 10%. I was looking into this just last week, and can confirm that it's still a problem on the latest version of Rust nightly: https://github.com/tock/tock/pull/1660
I wish we could have frame pointers, because they would make working in embedded land so much easier and more reliable, but a 10% increase in code size just isn't worth it.
-
Rust OS
TockOS was the first rust RTOS I found. Coincidentally, it has had support for the esp32c3 for over a year now.
What are some alternatives?
rustzx-esp32 - ESP32 implementation of RustZX Spectrum emulator
awesome-embedded-rust - Curated list of resources for Embedded and Low-level development in the Rust programming language
ruduino - Reusable components for the Arduino Uno.
rust-raspberrypi-OS-tutorials - :books: Learn to write an embedded OS in Rust :crab:
esp-rust-board - Open Hardware with ESP32-C3 compatible with Feather specification designed in KiCad
hubris - A lightweight, memory-protected, message-passing kernel for deeply embedded systems.
esp-template - A minimal esp-hal application template for use with cargo-generate
redox - Mirror of https://gitlab.redox-os.org/redox-os/redox
sort-research-rs - Test and benchmark suite for sort implementations.
rtic - Real-Time Interrupt-driven Concurrency (RTIC) framework for ARM Cortex-M microcontrollers
esp-idf-template - A "Hello, world!" template of a Rust binary crate for the ESP-IDF framework.
smoltcp - a smol tcp/ip stack