What we've been reading in January
Happy New Year! Here are the articles, videos, and tools we’ve been excited about this past month.
We hope you enjoy these links, and we look forward to hearing what you’ve been reading in the comments.
- A Compiler Writing Journey by Warren Toomey - An epic 62 part journey to write a self-hosting C compiler.
- Extracting secrets from an ArmV8-M Trustzone MCU by LimitedResults - A demonstration of fault injection techniques to alter and extract secrets on a Nuvoton M2351 (Cortex-M23).
- Newlib & FreeRTOS by Dave Nadler - An article explaining how to use newlib safely in a FreeRTOS project.
- Recovering information from Cortex-M0 Faults by Dmitry Grinberg - The Cortex-M0 has limited fault handling capability compared to its M4 and M7 cousins. Dmitry Grinberg develops a technique to get as much fault information from those cores.
- Glitch by Cliff L. Biffle - A walk through the internals of Glitch, a demo pushing graphics capabilities of an STM32F4 to their very limits.
- ARM Cortex RTOS How-To by Adrian Gin - A three part tutorial on building an RTOS for cortex-M.
- My Business Card Runs Linux by George Hilliard - A tutorial on building a business card fit for an embedded software dev.
- Devops for Embedded by dimtass - A multi-part series on ways to apply DevOps concepts to embedded software development.
- Jaywalking around the compiler by Jason Sachs. An exposition of a subtle class of embedded software bugs and their consequences.
Reference & Learning
- Object-Oriented Programming with ANSI C - A great reference on modern C programming.
- Riscure Side-Channel Analysis for Embedded Developers - A free online course on side-channel analysis attacks, and ways to protect against them.
- Discovering the STM32 Microcontroller - A hands-on manual for learning how to design systems using the STM32 F1 family of micro-controllers.
- Writing a Simple Buffer Overflow Exploit - A video tutorial on how to write an attack for a common type of security flaws.
- Accomplishing the Impossible with LUTs - An amazing look at the class of problems you can solve by implementing LUTs rather than complex algorithms.