3 Books for Embedded Software Engineer
When you start as an embedded engineer, EPCB would like to share the top 3 books we think that every embedded engineer should read as early as possible in his/her career.
Book 1: The C Programming Language by Brian Kernighan and Dennis Ritchie
The first and the best book you should read about C. For long, this book has been the specification manual for C programming. The authors present the complete guide to ANSI standard C language programming. Written by the developers of C, this new version helps readers keep up with the finalized ANSI standard for C while showing how to take advantage of C's rich set of operators, economy of expression, improved control flow, and data structures. The 2/E has been completely rewritten with additional examples and problem sets to clarify the implementation of difficult language constructs.
Book 2: Advanced Programming in the Unix Environment by W. Richard Stevens
You may start as a newbie but become an expert by the time you complete this book. For more than 20 years, serious C programmers have relied on this book for practical, in-depth knowledge of the programming interfaces.
Book 3: Understanding the Linux Kernel by Daniel P. Bovet
After the above 2 books, you will understand C and how to use that on a system and take advantage of what the system offers. Then read this book definitely will be an awesome learning experience if you want to understand how Linux works. The kernel handles all interactions between the CPU and the external world, and determines which programs will share processor time, in what order.