Embedded Artists
Contact Us Home
About Us Products Services Support Projects Web Shop
Knowledge
» LPC2000 Overview
» LPC3000 Overview

Book Reviews

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.

The books are presented in association with www.amazon.com and www.bokus.com.

Amazon.com online book shop Bokus.com online book shop

The reviews have been divided into the following categories:

  • Data Structures & Algorithms
  • Embedded Systems
  • Programming
  • TCP/IP and Related Protocols
  • Real-time Operating Systems
  • Communication
  • Communication Security

Data Structures & Algorithms

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.



Algorithms in C: Fundamentals, Data Structures, Sorting, Searching, third edition
by Robert Sedgewick
ISBN: 0-201-31452-5
cover  
Find out more information
Buy from Bokus.com
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.

Data Structures and Algorithm Analysis in C, second edition
by Mark Allen Weiss
ISBN: 0-201-49840-5
cover  
Find out more information
Buy from Bokus.com
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.

An Introduction to the Analysis of Algorithms
by Robert Sedgewick and Philippe Flajolet
ISBN: 0-201-40009-X
cover  
Find out more information
Buy from Bokus.com
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.

The Art of Computer Programming, Volume 1: Fundamental Algorithms, third edition
by Donald Knuth
ISBN: 0-201-89683-4
cover  
Find out more information
Buy from Bokus.com

Art of Computer Programming, Volume 2: Seminumerical Algorithms, third edition
by Donald Knuth
ISBN: 0-201-89684-2
cover  
Find out more information
Buy from Bokus.com

The Art of Computer Programming, Volume 3: Sorting and Searching, second edition
by Donald Knuth
ISBN: 0-201-89685-0
cover  
Find out more information Buy from Bokus.com

The Art of Computer Programming, Volumes 1-3 Boxed Set
by Donald Knuth
ISBN: 0-201-48541-9
cover  
Find out more information
Buy from Bokus.com
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).


Embedded Systems

This list of books specifically presents and address Embedded Systems. The books have been selected based on how easy they are to read and how well-written thay are. Most of the books are introductionary text, i.e., for "newbies".



Embedded Systems Design: An Introduction to Processes, Tools and Techniques
by Arnold S. Berger
ISBN: 1578200733
cover  
Find out more information
Buy from Bokus.com
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.

The Art of Designing Embedded Systems
by Jack Ganssle
ISBN: 0750698691
cover  
Find out more information
Buy from Bokus.com
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.

C and the 8051 Complete
by Thomas Schultz
ISBN: 158961237X
cover  
Find out more information
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.

Embedded Systems Building Blocks: Complete and Ready-To-Use Modules in C
by Jean J. Labrosse
ISBN: 0879306041
cover  
Find out more information
Buy from Bokus.com
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.

An Embedded Software Primer
by David E. Simon
ISBN: 020161569X
cover  
Find out more information
Buy from Bokus.com
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".

Embedded Systems Firmware Demystified
by Ed Sutter
ISBN: 1-57820-099-7
cover  
Find out more information
Buy from Bokus.com
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.


Programming

There are dozens of book that push one specific tool - such books are not listed here. Only books that try to teach us, programmers, how to work more effectively and produce better programs (faster, simpler, smaller, more maintainable, etc.), i.e., books that gives an overview or present a general methodology.



Programming Pearls, second edition
by Jon Bentley
ISBN: 0-201-65788-0
cover  
Find out more information
Buy from Bokus.com
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.

Who Should Read This Book?
Everyone!

The Pragmatic Programmer: From Journeyman to Master
by Andrew Hunt, David Thomas, Ward Cunningham
ISBN: 020161622X
cover  
Find out more information
Buy from Bokus.com
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!

Small Memory Software - Patterns for systems with limited memory
by James Noble and Charles Weir
ISBN: 0-201-59607-5
cover  
Find out more information
Buy from Bokus.com
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.

Practical Statecharts in C/C++: Quantum Programming for Embedded Systems
by Miro Samek
ISBN: 1-57820-110-1
cover  
Find out more information
Buy from Bokus.com
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.

C Interfaces and Implementations - Techniques for Creating Reusable Software
by David R. Hanson
ISBN: 0-201-49841-3
cover  
Find out more information
Buy from Bokus.com
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.

A Book on C: Programming in C (4th Edition)
by Al Kelley and Ira Pohl
ISBN: 0201183994
cover  
Find out more information
Buy from Bokus.com
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
cover  
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 and Related Protocols

There exist a wealth of books about the TCP/IP protocol stack and all its related protocols. Most books have been written for general PC/workstation use. Only a few ones are specifically targeting embedded use of Internet technologies.

TCP/IP Tutorial and Technical Overview (7th Edition)
by Adolfo Rodriguez, John Gatrell, John Karas, Roland Peschke
ISBN: 0130676101
cover  
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.

TCP/IP Illustrated, Volume 1: The Protocols
by W. Richard Stevens
ISBN: 0-201-63346-9
cover  
Find out more information
Buy from Bokus.com
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.

TCP/IP Illustrated, Volume 2: The Implementation
by Gary R. Wright and W. Richard Stevens
ISBN: 0-201-63354-X
cover  
Find out more information
Buy from Bokus.com
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
cover  
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.

TCP/IP Application Layer Protocols for Embedded Systems
by M. Tim Jones
ISBN: 1-58450-247-9
cover  
Find out more information
Buy from Bokus.com
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.

TCP/IP Lean - Web Servers for Embedded Systems, second edition
by Jeremy Bentham
ISBN: 1-57820-108-X
cover  
Find out more information
Buy from Bokus.com
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
cover  
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.

Web Servers, Security, & Maintenance
by Eric Larson, Brian Stephens
ISBN: 0-13-022534-7
cover  
Find out more information
Buy from Bokus.com
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.

How to Set Up and Maintain a Web Site
by Lincoln D. Stein
ISBN: 0201634627
cover  
Find out more information
Buy from Bokus.com
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).


Real-time Operating Systems

The area of operating systems is probably one of the largest in the computer world. Fortunately, desktop and mainframe concepts and solutions can easily be ignored (even though many concepts in embedded real-time operating systems origin from mainframes and desktops). The books presented below have been selected for presenting the concepts in an easy and well-written format, and are all highly recommended.

Real-Time Systems
by Jane W. S. Liu
ISBN: 0-13-099651-3
cover  
Find out more information
Buy from Bokus.com
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
cover  
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.

MicroC/OS II: The Real Time Kernel
by Jean J. Labrosse
ISBN: 1-57820-103-9
cover  
Find out more information
Buy from Bokus.com
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.


Communication

Computer communication in general is a broad area to address. There are a number of really good under-graduate books that present the basic principle. Unfortunately, few books address the area from an embedded perspective.

Computer Networks, fourth edition
by Andrew S. Tanenbaum
ISBN: 0130661023
cover  
Find out more information
Buy from Bokus.com
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.

Data & Computer Communications, 6th edition
by William Stallings
ISBN: 0130843709
cover  
Find out more information
Buy from Bokus.com
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.

Designing Embedded Communications Software
by T. Sridhar
ISBN: 157820125X
cover  
Find out more information
Buy from Bokus.com
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.


Communication Security

Communication security is a vast knowledge area, and can be summed up as: PRIVATE communication in a PUBLIC world. There are no books that specifically address embedded systems, but the underlying principles are the same as for larger systems, such as PCs and workstations.

Applied Cryptography: Protocols, Algorithms, and Source Code in C, second edition
by Bruce Schneier
ISBN: 0471117099
cover  
Find out more information
Buy from Bokus.com
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.

Secrets and Lies : Digital Security in a Networked World
by Bruce Schneier
ISBN: 0471253111
cover  
Find out more information
Buy from Bokus.com
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!

Practical Cryptography
by Niels Ferguson and Bruce Schneier
ISBN: 0471223573
cover  
Find out more information
Buy from Bokus.com
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.


© Embedded Artists Legal Information Privacy Statement The Art of Embedded Systems Development - made Easy ™