Issue 111 - Embedded systems newsletter

Embedded systems #111

Sometimes people do interesting things and end up writing a quick brief in a forum post, Twitter or Reddit. The last one is where you can read how to free up two GPIOs on the Raspberry Pi Pico. I thought it is a cool enough trick to be included just like that in the introduction. A kind of icing on the cake.

Thank you to Daniel Bogdanoff for the header’s picture.

Happy reading!

Articles

Debugging with JTAG
After a tiny history of the JTAG interface the article describes in details how to debug with the JTAG through the TAP controller. It finishes by demonstrating how to control hardware without firmware by using the boundary scan features and the BSDL file specific to the target.

Rules for secure C language software development
Written by the ANSSI (In French Agence Nationale de la sécurité des systèmes d’information), this guide exists to help secure developments in fields not covered by normative constraints such as automotive or aeronautical industries.

STM32F4 Embedded Rust at the HAL: Timer Ultrasonic Distance Measurement
Omar Hiari is doing a series of post on embedded development with Rust with the constraint to not go deeper than the HAL (Hardware Abstraction Layer) crate. It means no direct usage of the PAC (Peripheral Access Crate) that gives more control but makes the portability complicated. The article linked above is the most recent one. In it, you can find a direct link to the previous ones.

Locking Engineering Principles
Reading this one, I discovered lockdep: the Linux kernel runtime locking correctness validator. Daniel Vetter is a very experienced developer. He shares with us a very valuable experience here.

The different ways to handle errors in C
A total of 11 different ways are presented. Some of them are direct recipes to catastrophe, but I have included the article anyway. It’s interesting to be confronted to “different” ways of doing routine code.

News / Business

The Ferrocene Language Specification is here!
The first draft of the Ferrocene Language Specification (FLS) is out. The FLS aims to deliver an ISO26262 qualified Rust compiler tool chain. The plan includes as well an expansion in others sectors than automotive like avionic (DO-178C) or railway (IEC 62278). The collaboration between AdaCore and Ferrous Systems makes me believe in the project.

Education / Community

Big O notation
Most of the article is focused, with the help of graphs, on explaining what is time complexity. After this clear explanation, I believe the introduction of the Big O notation at the end is really easy to understand.

Tools / Libraries

STM32 Emulator
The developer created this emulator to facilitate his effort reverse engineering the Anycubic Photon Mono 4K 3D printer. If you’re waiting for a STM32 microcontroller (really?) it’s probably your chance to run your code before you die.

Misc

How Does The James Webb Telescope Phone Home?
The JWT is a fantastic technical achievement in so many aspects that it looks like there is always something interesting to write about it. This time it is mainly about the 68 GB SSD onboard (the Solid State Recorder) and its role in the communication with Earth.