Embedded Systems Weekly #114

Embedded Systems Weekly #114

I have the pleasure of announcing the Classpert giveaway winner: Congratulation mik***@g***.com! You won the free seat for the 10-week Making Embedded Systems course. For all the others, you can still buy a ticket and attend the third cohort starting tomorrow the 20th of August.

Happy reading!

Articles

Debugging bare-metal STM32 from the seventh level of hell
I had a lot of pleasure to read this STM32 (STM32G4) firmware debugging quest. The technical takeaways are the multiple methods presented to try to find the root cause of a bug when nothing is obvious. Equipped with a working version and a non-working version: comparing the code disassembled, print out all registers of all peripherals to dig differences and so on...

The pervasive effects of C's malloc() and free() on C APIs
A short and interesting article that highlights how C memory management impacts negatively some more advanced functions.

Formally Verifying Rust's Opaque Types
An article that is a lot more academic than usual. The author is using Coq to prove a fundamental property of the Rust type system.

The tooling ecosystem that adds joy to KiCad
The value of Kicad, the free EDA tool, is not to be proven anymore. This recorded presentation is highlighting the gems in the add-ons list that should make your experience even more pleasant.

6 Things I Wish I Knew Starting with Embedded Rust
This is interesting to see a Rust developer passionate, experimented and pragmatic sharing his experience. He doesn't let his passion blind him, and consequently, I believe this article gives a good overview of what an experimented embedded developer will face if he tries Rust.

SEI CERT C Coding Standard
Developed by the CERT/CC, a team of ~150 experts, the C coding standard is a set of rules and recommendations to develop safe, reliable, and secure systems. The effort to develop this standard started in 2006 and the newest version has been published in 2016. It's the result of years of experience that should not be ignored by any C developer.

News / Business

Google Cloud will shutter its IoT Core service next year
Google's bad habit of killing services without much care is hitting our field this time. Even though they give a one-year notice, that's one more signal to avoid Google services for anything long term.

Tools / Libraries

Embedded Template Library
The ETL is a header only library specifically designed for embedded systems. The main goal of the library is to replace the C++ standard library parts that are not embedded friendly. Among the "main" features, containers like those in the STL but without dynamic memory allocation and frameworks for message routing, finite state machines or task scheduling.

Jobs

Sensorfy, Embedded C++ Engineer, Full-time, Eindhoven, The Netherlands (Partially remote)
Sensorfy builds the world’s most accurate predictive maintenance solutions and work with forward-thinking manufacturers to eliminate surprises from industrial maintenance.

Misc

What exactly is TTY?
Do you know what TTY stands for? Or the history of this thing, that influenced how our terminals work? This is a great article for our general culture.