This section of our web site contains a number of recommended books,
addressing different aspects of embedded systems development.
Observe that only books that we really recommended are listed here.
If you are interested in a complete list of embedded systems books,
please look at: www.embedded.com/books
or micro.filetap.com.
There exist very few books solely devoted to data structures and data types.
However, the second university course in programming in most universities is typically
a data structures and algorithm course. There are a lot of books addressing these courses,
and the material is relevant to study when working with data types.
Description
A very well written and easy to read book that is highly recommended. It gives every
programmer a relevant "toolbox" of algorithms and data structures.
Further, it contains a good overview of different sorting algorithms and includes an
in-depth coverage of Quicksort, Mergesort, and Heapsort.
Who Should Read This Book?
Engineers wanting to refresh their skills (from under-graduate school) in data structures and
(especially) sorting algorithms.
Description
This book is a typical textbook for a second programming course. It is excellently written
and ranks on the same level as Algorithms in C by Robert Sedgewick.
Who Should Read This Book?
Engineers wanting to refresh their skills (from under-graduate school) in data structures and
(especially) sorting algorithms.
Description
A very well written and easy to read book that is highly recommended. It gives every
programmer a relevant "toolbox" of algorithms and data structures.
Further, it contains a good overview of different sorting algorithms and includes an
in-depth coverage of Quicksort, Mergesort, and Heapsort.
Who Should Read This Book?
Engineers wanting to refresh their skills (from under-graduate school) in algorithm design.
Description
The definite reference that contains a relevant description of classical science.
Many programmers consider this set of books a must to have on every programmer's bookshelf.
Volume 1: Covers algorithms for linked-lists, stacks, queues, deques, and trees. Volume 2: Covers seminumerical algorithms, such as random number generators and floating point operations. Volume 3: Contains in-depth analyses of different sorting algorithm.
Who Should Read These Books?
Engineers wanting a reference work (and maybe a bookend, supporting all you other great books).
Description
This book covers the entire design cycle of an embedded system: choosing the hardware,
selecting the development tools, applying essential software techniques, using debugging tools,
and finally ensuring a proper test of the system.
The author has a great amount of real-world experience and share a number of "From the Trenches" stories.
Who Should Read This Book?
Engineers that are fairly new to embedded systems and want a complete overview of developing embedded systems.
Description
This book is part primer and part reference. It address both software and hardware issues.
Who Should Read This Book?
Practicing embedded engineers that want to refresh the knowledge in designing embedded
systems, but also newcomers can benefit from reading this book.
Description
This book will give you an excellent introduction to the famous 8051 8-bit microcontroller family.
The material is presented with a practical view and each example is thoroughly explained.
You will also learn a number of practical, real-life, hardware interface circuits, such as small-area networks.
Also, two different real-time operating systems are presented and examined.
Who Should Read This Book?
Engineers that are fairly new to embedded systems and wants to examine example code for low-level interfacing to hardware devices.
Description
This book presents a number of pre-designed building blocks suitable for embedded systems
The functions address low-level interfacing with hardware devices, such as keyboards and LCDs.
Who Should Read This Book?
Engineers that are fairly new to embedded systems and wants to examine example code for
low-level interfacing to hardware devices.
Description
This book is an introduction text, which provides a good overview on the different
microcontroller architectures available. It also covers real-time operating systems
(when to use, how to use, and common mistakes).
Who Should Read This Book?
Engineers that are fairly new to embedded systems, and wants an overview of the "embedded systems area".
Description
This is an excellent book. It presents a complete monitor application suitable for embedded systems development.
Who Should Read This Book?
Practicing engineers that wants to learn about developing more general embedded systems,
in order to ease program development, debugging, and future upgrades.
Description
Contains an excellent and interesting collection of programming problems, which are all analyzed
and evaluated. The importance of selecting appropriate data structures/types and accompanying
algorithms becomes very obvious after reading about the problems.
Description
This is an entertaining book, containing dozens of tips to becoming better at what you do (typically
programming). Anecdotes and technical problems are used to help present the material - nothing earth shattering,
just a number of concrete examples that will improve your programming skills.
Topics covered are (amongst other) specification development, customer relations, team management,
design practices, development tools, and testing procedures.
Who Should Read This Book?
Engineers that wants to work more effectively and become better programmers.
Better, make that everyone!
Description
This book describes 27 patterns that affect the memory use in embedded systems,
i.e., memory resource-constraint systems. There is also an accompanying website:
www.smallmemory.com.
Who Should Read This Book?
Practicing embedded engineers, wanting to refresh their skills in designing program architectures.
Description
Statechart is an alternative method to create reactive systems, but it can also co-exist with
a real-time operating system. This book is highly recommended for all programmers that want to
understand the philosophy, use, and practical implementation of Statecharts. Readers of this book
will likely improve their program design abilities. The book describes both the methodological
implications of using Statecharts as well as practical implementations when creating reactive
applications in embedded systems.
Who Should Read This Book?
Practicing embedded engineers, wanting to broaden their repertoire of programming architectures/structures.
Description
This book is truly unique and very well written - highly recommended. A technique for creating
reusable components in a non-object oriented language, such as ANSI-C, is described. Also, a
program documentation technique called Literate Programming is explained and demonstrated.
As a bonus, the book contains 24 really useable components.
Who Should Read This Book?
Practicing embedded engineers, wanting to broaden their repertoire of programming architectures/structures.
Description
This book contains a comprehensive tutorial and reference to the C programming language.
Also contains moving from "C to C++" and "C to Java" sections. Highly recommended!
Who Should Read This Book?
Engineers that are fairly new to programming, or wanting to refresh their skills.
Reusable Software Components: Object-Oriented Embedded Systems Programming in C
by Ted Van Sickle
ISBN: 0136136885
Find out more information
Description
This book provides a method of utilizing the advantages of Object-Oriented Programming (OOP)
by using ANSI-C rather than C++. It presents a number of objects that are useful for smaller embedded systems.
Who Should Read This Book?
Practicing embedded engineers, wanting to broaden their repertoire of programming architectures/structures.
TCP/IP Tutorial and Technical Overview (7th Edition)
by Adolfo Rodriguez, John Gatrell, John Karas, Roland Peschke
ISBN: 0130676101
Find out more information Buy from Bokus.com
Description
A very well written book that covers a very large spectrum, including routers.
The book is nearly 1000 pages long. It is therefore not recommended to read the
book from cover to cover, but it serves very well as a reference book (and it is
very easy to find relevant topics).
The book is also available online for free at: www.redbooks.ibm.com.
Who Should Read This Book?
Practicing engineers wanting a complete reference covering TCP/IP and related protocols.
Description
The definite reference and a classical book that explains the entire TCP/IP protocol
stack on a protocol level. A highly recommended book on the bookshelf.
Who Should Read This Book?
Practicing engineers wanting a complete reference covering TCP/IP.
Description
The second volume in the series. Also a definite reference and a classical book that explains the
implementation of the entire TCP/IP protocol stack. A highly recommended book on the bookshelf.
Who Should Read This Book?
Practicing engineers wanting a complete understanding of one of the reference implementations of TCP/IP.
Internetworking with TCP/IP, Volume II: Design, Implementation, and Internals, Third Edition
by Douglas E. Comer and David L. Stevens
ISBN: 0-13-973843-6
Find out more information Buy from Bokus.com
Description
This book provides a detailed tour of the protocols: TCP, IP, ICMP, IGMP, UDP, ARP,
RIP, SNMP, and parts of OSPF. Fully working source code is provided and each part of
the code base is discussed and explained.
Who Should Read This Book?
Practicing engineers wanting a complete understanding of one of the reference implementations of TCP/IP.
Description
This book explains a number of commonly used Internet application protocols, such as
SMTP, POP3, NNTP, SNMP, and HTTP. Source code is provided for all protocols. The book
especially addresses the use of these protocols in embedded systems.
Who Should Read This Book?
Practicing engineers wanting a set of typical application examples where TCP/IP is used
as communication channel, and a presentation of suitable application protocols.
Description
This book describes a scaled-down, bare-bone implementation of a TCP/IP protocol stack
along with a suitable embedded web server on top of the protocol stack. The emphasis is
on very small embedded systems and the tradeoffs made are many, which affect the performance
and functionality to a large extent. However, the book provides a good description of how
far a scaled-down implementation can be taken.
Who Should Read This Book?
Practicing engineers wanting an example of how far a scaled-down TCP/IP and web server implementation
can be taken.
Web Protocols and Practice - HTTP/1.1, Networking Protocols, Caching and Traffic Measurements
by Balachander Krishnamurthy, Jennifer Rexford
ISBN: 0-201-71088-9
Find out more information Buy from Bokus.com
Description
This highly recommended book gives a good overview of the web as a complete system,
including protocols, implementations, and research. It gives a complete description of HTTP.
What's missing is a chapter about CGI, SSI and HTML forms. A thorough description of caching
and research areas concludes this book.
Who Should Read This Book?
Engineers wanting a in-depth understaning of HTTP and interaction between TCP/IP and web servers.
Description
This is an interactive training book for the person who wants to become a web administrator
through self instruction. It starts from the ground up and discusses web concepts without
assuming any prior knowledge. It does a superficial walk-through of HTML forms, CGI and SSI
concepts. Web security is an important part of this book, which is targeted at the beginner,
rather than the advanced web guru.
Who Should Read This Book?
Anyone who wants to become a web administrator.
Description
Gives a very comprehensive description about everything needed in order to set up a web server,
write HTML documents, forms, CGI scripts, SSI pages, and deal with security issues. The chapters
on JavaScript and Java applets are extensive.
This book is a good choice when designing/writing web pages is an issue.
Who Should Read This Book?
Anyone wanting a in-depth description of how to manage web sites (also embedded ones).
Description
An easy to read, yet comprehensive treatment of real-time systems. Contains an in-depth
reasoning around scheduling principles. Treats the material in a theoretical and mathematical
manner, but is yet easy to read. This book will serve as a good reference.
Who Should Read This Book?
Practicing embedded engineers, wanting a deeper understanding and theoretical ground for
scheduling of real-time systems.
Real Time Systems and Programming Languages: Ada 95, Real-Time Java and Real-Time C/POSIX (3rd Edition)
by Alan Burns and Andrew J. Wellings
ISBN: 0-201-72988-1
Find out more information Buy from Bokus.com
Description
A comprehensive book that explores different real-time programming techniques.
This book is highly recommended reading to get a system perspective of real-time systems.
Who Should Read This Book?
Practicing embedded engineers, wanting a deeper understanding of real-time systems.
Description
This book describes one specific implementation on a real-time operating system.
The RTOS is preemptive, portable, and ROMable suitable for resource constraint 8-16 bit
microcontrollers. All implementation details are very well explained. However, do not
expect a deeper discussion of alternative implementations, alternative system architectures,
or different synchronization primitives.
Who Should Read This Book?
Engineers wanting to get a deeper understanding of implementation issues in operating systems.
Description
A classical introduction book to computer networks in general, with a fairly large coverage
of TCP/IP. A highly recommended book as an introduction text for persons unfamiliar with
the finer details of computer communication. This book is just ad good as Data & Computer
Communications by Stallings.
Who Should Read This Book?
Engineers that want to learn the area of computer communication.
Description
A classical introduction book to computer networks in general, with a fairly large coverage
of TCP/IP. A highly recommended book as an introduction text for persons unfamiliar with
the finer details of computer communication. This book is just as good as Computer Networks by Tanenbaum.
Who Should Read This Book?
Engineers that want to learn the area of computer communication.
Description
This is a unique book in the sense that it's the only one that addresses the subject of
protocol implementation in "smaller" embedded systems. However, this is not a book for
experienced and advanced programmers. The book only scratches the surface and makes general
(and fairly obvious) comments and recommendations. The illustrations are sloppy and seem
to have been drawn in a hurry.
Who Should Read This Book?
Despite the criticism above, the book is recommended for engineers that are new to the area
and want a get an introduction. Managers (leading protocol programmers) may also find the
material useful.
Description
This highly recommended book gives a comprehensive survey of modern cryptography.
It describes dozens of cryptography algorithms, gives practical advice on how to
implement them into cryptographic software, and shows how they can be used to solve
security problems (such as web server communication).
Who Should Read This Book?
Engineers implementing encryption and security protocols.
Description
It is surprising how entertaining, informative, and yet easy to read this book is.
It is divided into three parts, covering the turn-of-the-century landscape of systems
and threats, the technologies used to protect and intercept data, and strategies for
proper implementation of security systems.
The main point of the book is that security is not a product; it is a process.
Who Should Read This Book?
Everyone that wants a non-technical, yet comprehensive, presentation of what digital
security is all about. Highly recommended book! Actually, everyone should read this book!
Description
This book is a follow-up guide to the book Applied Cryptography, which address the how-to of cryptography.
It provides a bridge between cryptographic theory and real-world implementation of cryptographic applications.
Who Should Read This Book?
Engineers implementing encryption and security protocols.