Embedded Systems Weekly #114
Tags: embedded, c, cpp, rust
Published: 2022-08-19 08:36:57

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](https://clas.pt/mes3) starting tomorrow the 20th of August.

Happy reading!

## Articles 
[Debugging bare-metal STM32 from the seventh level of hell](https://jpieper.com/2022/08/05/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](https://utcc.utoronto.ca/~cks/space/blog/programming/CAPIsEffectsOfMalloc)
A short and interesting article that highlights how C memory management impacts negatively some more advanced functions.

[Formally Verifying Rust's Opaque Types](https://dylanj.xyz/posts/rust-coq-opaque-types/)
An article that is a lot more academic than usual. The author is using [Coq](https://coq.inria.fr/) to prove a fundamental property of the Rust type system.

[The tooling ecosystem that adds joy to KiCad](https://media.ccc.de/v/mch2022-332-the-tooling-ecosystem-that-adds-joy-to-kicad)
The value of [Kicad](https://www.kicad.org/), 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](https://apollolabsblog.hashnode.dev/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](https://resources.sei.cmu.edu/downloads/secure-coding/assets/sei-cert-c-coding-standard-2016-v01.pdf)
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](https://techcrunch.com/2022/08/17/google-cloud-will-shutter-its-iot-core-service-next-year/)
Google's bad habit of [killing services](https://killedbygoogle.com/) 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](https://www.etlcpp.com/)
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)](https://jobs.embedsysweekly.com/job/PzY1qYO5/embedded-c-engineer)
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?](https://www.sobyte.net/post/2022-05/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.