At the beginning, you should know what an embedded system is and what it is used for. I encourage you to read What's Embedded? article which tries to define these kind of systems.
"An embedded system is an application that contains at least one programmable computer (typically in the form of a microcontroller, a microprocessor or digital signal processor chip) and which is used by individuals who are, in the main, unaware that the system is computer-based."
The list below describes books, which I think are very important and helpful in the daily work as embedded system developer:
"Embedded Linux Primer: A Practical Real-World Approach" - Christopher Hallinan
The primary book for each of embedded software developers who use Linux in their embedded applications. It describes in the easy and interesting way the basic mechanisms, kernel structure and development tools for embedded Linux operating system. It also contains information and hints about porting Linux to new hardware platform.
"Embedded C" - Michael J. Pont
This book is an ideal introduction to embedded software development. It describes the most important aspects of microprocessor devices programming. The book is for beginner developers.
"The Firmware Handbook" - Jack Ganssle
The book is useful for every embedded software engineer. It mainly describes hardware, but it comes close to the most important embedded system design aspects. It is not a tutorial to someone totally new in the embedded world.
This lecture precisely describes numerical methods used in the embedded systems. Book could be used as a collection of ready algorithms. It is for advanced software engineers.
"Embedded Software: Know It All" - J. Labrosse, J. Ganssle, R. Oshana, C. Walls, K. Curtis, J. Andrews, D. Katz, R. Gentile, K. Hyder, B. Perrin
Probably the most important book for low-level programmers. It describes in detail each of embedded software aspects. I think it is intended for intermediate readers.
"Podstawy systemów operacyjnych" - A. Silberschatz, P. Galvin, G. Gagne
The book describes the most of aspects of operating system design. This is very valuable book for intermediate readers.
"Secure Programming for Linux and Unix HOWTO" - David A. Wheeler
This free book touches very important subject which is often ignored by many of software engineers. It gives an overview of the main security issues and suggests the guidelines how to write the secure and professional software. Very useful book.
I would like here to enumerate the important sources which are related with embedded systems.
Embedded.com - The Official Site of the Embedded Development Community.
Military Embedded Systems - The Official Site of the Military Embedded Systems magazine.
Real-time and Embedded Software Design - The set of sources of embedded systems.
The Ganssle Group - Jack Ganssle's homepage which is a source for hundreds of practical articles, tips, papers and resources about developing embedded systems.