What we've been reading in April (2020)
Here are the articles, videos, and tools that we’ve been excited about this April.
We hope you enjoy these links, and we look forward to hearing what you’ve been reading in the comments.
Articles & Learning
Checking the Code of Zephyr Operating System by Andrey Karpov from PVS-Studio
The Zephyr RTOS source code is run through a professional static code analyzer, PVS-Studio, by its founder and he reports the findings.
Consider the Source - Microsoft RTOS White Paper (PDF)
A white-paper from Microsoft shadow-pitching its newly acquired Azure RTOS (formerly ThreadX). Everything in here is obvious, but useful if you want to convince people to use an open-source RTOS instead of a proprietary one.
CppCon 2018: Matt Godbolt “The Bits Between the Bits: How We Get to main()” (Video 1h3m) by Matt Godbolt
Great talk from CppCon 2018 given by the creator of Compiler Explorer detailing what happens before the
main()function is called.
20 part linker essay by Ian Lance Taylor
A compiled list of all the parts to the “20 part linker essay”. Oldie but goodie and worth linking again (and many more times in the future).
MattPD/cpplinks - A categorized list of C++ resources
We found this repository which contains a gold-mine of C++ resources.
embedding binary objects in c
Succinct post on embedded blobs of data into a C program. This is a problem every embedded developer experiences, so bookmark this. A nice discussion on HN as well.
Noisefloor: Writing One Firmware for 3 Cortex-M Chips by Max Vilimpoc
From the author of the to-be-released book, “From Plan to Prototype” comes a nice walk-through on building designing, architecture, and building firmware for nRF5 devices.
Hardware Reversing to find UART and shell by Tony Gambacorta
A post and complimentary video of reverse engineering a D-Link Camera.
Selecting the right hardware for embedded development of open-source protocol adapters by Christofer Dutz
The step-by-step thought process on picking the hardware, process, software to build a low-level network gateway using Apache MyNewt
Neat Open Source Projects
rideskip/anchor - SONAR Protocol Spec & Implementation Added
Another awesome open-source contribution by Skip Scooters. “SONAR is point-to-point, client-server data communication protocol which allows two endpoints to reliably communicate over an arbitrary physical layer.” I’d definitely keep an eye on this repo for more production quality contributions.
lief-project/LIEF - Library to Instrument Executable Formats
Cross platform library to parse, modify and abstract ELF, PE and MachO formats.
Learn to write an embedded OS in Rust
A thorough step-by-step lesson-plan for writing an embedded operating system in Rust for a Raspberry Pi.
IntelliJ CLion for Embedded Improvements
My favorite embedded development environment gets even better, with support for PlatformIO, IAR, and custom remote targets. If you haven’t tried out CLion recently, it’s time to try again.
It appears that the NuttX RTOS is now Apache NuttX and is undergoing Incubation at The Apache Software Foundation.
New Azure RTOS Collaborations
Azure RTOS seems to be shaping up, and I’m excited for the open sourcing of the project, given that Microsoft wrote an entire white-paper about how the only RTOS’s that should be considered are ones that are open source.