Getting knew about embedded systems is toilsome for an engineering graduate and a fresher who has just passed out. To learn the basic concepts and get an overview of embedded systems here are the 7 best books to learn.
Also recommended to read: Career in Embedded Systems
1. C Programming Language by Brian Kernighan and Dennis Ritchie
To control an electronic device, comprising of Integrated Circuits you need to instruct commands to the hardware. This is only possible when a device understands machine language. Hence a programming language is necessary to communicate with the device.
The most popular language evolved from the great computer scientist Dennis Ritchie was C.
This book provides all the basic concepts required to start embedded programming with the real hardware. You will get to know about Control statements, Loops, Arrays, Pointer concepts, Dynamic memory allocation, Structures, and Unions.
2. Practical C Programming by Steve Oualline
Whatever basics you learn, they are enough for building small applications. But to build real applications in real time, you need to know more. For those people, this book will be a booster.
This book covers basics as well as advanced C programming concepts in less amount of time. You will know:
- Pointers usage in memory management
- File handling with Operating system
- Dangerous usage of pointers and how to avoid them
- Best way to debug and optimize C code for a smaller footprint.
- Finally, you will know about portability issues associated with file names, null pointer, Byte order and alignment of memory.
3. The 8051 Microcontroller and Embedded Systems: Using Assembly and C by Mazidi
This is one of the books can’t put down for the hobbyists who want to know the working of software and hardware of 8051 architecture. 8051 is a popular microcontroller used in the industry for developing low end and high-end applications.
This book is structured into seventeen chapters. You will get to know how a device computes and translates human language into machine specific. Later you will learn assembly language programming, 8051 Architecture and addressing modes.
I can say this is one of the best books for newbies and students who want to learn embedded systems.
Finally, the author Mazidi provides you a deeper insight into
- Programming peripherals such as LCD
- Toggling bits of ports in 8051.
- Input-output programming.
- Turning on and off a device for a period of time with Timers
- Sending and receiving serial data to and from UART Serial port.
- Calculating analog values like battery voltage using ADC
- Detecting the external and internal events coming from the outside world using Interrupt.
- How to interface keyboard with 8051?
- Storing data into external EEPROM.
- Interfacing of analog and digital sensors.
- Generating and updating the time and date with RTC.
- Controlling Motors, Relays, and Stepper motors to drive electrical loads.
4. PIC Microcontroller and Embedded Systems: Using assembly and C for PIC 18 by Mazidi
This book uses PIC18F458 microcontroller. This book is divided into two sections.
The first part covers Assembly language programming and the second part covers interfacing of PIC microcontroller with various peripherals using Embedded C.
- You can code blinking of led using timers
- Send data to LCD screen using GPIO pins in 4-bit and 8-bit mode.
- Send data from UART to PC and PC to UART using serial communication.
- Program using interrupts to blink led.
- Know how to interface a DC motor with PIC Microcontroller.
5. AVR Microcontroller and Embedded Systems: Using Assembly and C
This is the second book by the author Mazidi. It covers the complete architecture of AVR assembly language programming. I can say this is the best platform to learn AVR programming for embedded devices.
The author explains in a lucid way,
- How to interface an LCD to AVR.
- Configuring GPIO ports to read/write the data on to the pins.
- Interfacing of the keyboard for sending data to PC.
- How ADC works and interfacing of ADC with AVR.
- How to turn on and turn off AC and DC motors with DAC peripheral.
- How to interface Analog and Digital sensors with AVR.
- Interfacing Real Time Clock (RTC) to display date, month, year and time.
After going through this book, you will be definitely play with embedded systems.
6. Making Embedded Systems by Elecia White
Making Embedded Systems is a book written taking into account the practical aspects of embedded systems.
You will know what is an embedded system really? And how it is different from standard software used in PCs.
The author Elecia White explains in the best way to develop embedded system architecture and board brings of different hardware.
In the middle part, various peripherals like USB, UART, SPI, SSP, and I2C are clearly explained.
Most importantly, you will know how to reduce Power consumption of an embedded device.
7. The Firmware Handbook (Embedded Technology) by Jack Ganssle
This book was written by Jack Ganssle lecturer and embedded consultant.
If you are one of the hobbyists who doesn’t know much about hardware this book suits you. It will cover basic electronics and digital design of logic circuits.
Moreover, you will learn about tools and methods to write better code and implement state machines.
Finally, you will learn handling errors in real time using memory diagnostics and exception handling.
The bonus tip is you will know about Watchdog Timer.
Technology is changing at a fast pace, Microcontroller used in an application may become obsolete for another application.
So, you need to update your skills.
I hope you will get to know more after reading these books.