Sources that I recon are worth to be read when you are interested in embedded systems:
- What every systems programmer should know about concurrency, Matt Kline
- What Every Programmer Should Know About Memory, Ulrich Drepper Red Hat, Inc.
- What every computer scientist should know about floating-point arithmetic, David Goldberg
- Making Embedded Systems. Design Patterns for Great Software, Elecia White
- Effective Modern C++, Scott Meyers
- What is the Strict Aliasing Rule and Why do we care?, N/A
- Type Punning, Strict Aliasing, and Optimization, John Regehr, Professor of Computer Science, University of Utah, USA
- BARR-C:2018 Embedded C Coding Standard, Michael Bar
- JOINT STRIKE FIGHTER AIR VEHICLE C++ CODING STANDARDS, Lockheed Martin Corporation
- Mastering the FreeRTOS Real Time Kernel-A Hands-On Tutorial Guide, frertos.org
- Beej’s Guide to Network Programming, Brian "Beej" Hall
- Alignment in C, Sven-Hendrik Haase
- A beginners' guide away from scanf(), Felix Palmen
- How to Allocate Dynamic Memory Safely, Baar group
- Porting and Using Newlib in Embedded System, William Gatliff
- Get the most out of the linker map file, Cyril Fourgeray
- Makefile tutorial
- Structure Packing
- SEI CERT C standard code
- C++ project setup with CMake & unit tests (google test)
- Secure Application Programming in the Presence of Side Channel Attacks
- Embedded Systems Architecture, Daniele Lacamera
- Design Patterns for Embedded Systems in C: An Embedded Software Engineering Toolkit, Bruce Powel Douglass
- TCP/IP Illustrated, Vol. 1: The Protocols, W. Richard Stevens
- ITU-T Rec. H.264 (06/2019) Advanced video coding for generic audiovisual services
Other: