ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Google+ ACCU at Facebook ACCU at Linked-in ACCU at Twitter Skip Navigation

Search in Book Reviews

The ACCU passes on review copies of computer books to its members for them to review. The result is a large, high quality collection of book reviews by programmers, for programmers. Currently there are 1918 reviews in the database and more every month.
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
    View all alphabetically
Embedded Systems Firmware Demystified
Ed Sutter
1 57820 099 7
CMP Books
Chris Hills
embedded systems
Appeared in:
The problem with embedded systems is that the only thing they have in common is that they are all different. Running on anything from a 4 to a 128-bit processor, with or without an OS and single or multi tasking.

At the Embedded Systems Show this year (Excel-London, May 2002) I asked the audience at the seminar I was presenting who used what. Whilst the majority were evenly split at 8, 16, and 32-bit, there were a sizeable minority on 64-bit and as many 4 as 128-bit developers in the room. Not scientific but 4-bit is not (quite) dead and 128-bit not so rare.

This particular book is looking at demystifying the techniques used mainly in the 32 and 64-bit end of the market. Though there are also some 8 and 16-bit processor families that also use these techniques. If you want to play with the PICs or 8051 this is not really the book for you.

The main target for the book is the Motorola Coldfire, not the world's most popular chip but the bundled GNU X-Tools on the CD support 20+ platforms and there are ports of the monitor package for 68K, PPC, and SH2 as well as the Coldfire. Also a complete Cygwin, which will give you most Unix utilities running under Win32!

So, having set the scene, what of the book? I found it very good. It works its way logically through from hardware (all embedded systems have an intimate relationship with the hardware) through 'bringing up a board', the initial set up which requires assembly (to create the environment that can call

) and then on to programming the flash so that you can put in a monitor to run applications. This is usually done via a JTAG. If you have a target board and a [JTAG] wiggler the book has the rest.

The main area of the book is the building and use of the target monitor. Therefore the reader learns a lot about the monitor, interfacing to hardware, communications protocols, flash programming and creating file systems. In fact most of the basics required for embedded work in the 32-64 bit market.

Students will find this book is a great introduction and lecturers should look at this book for course use. You will need to do more research and read books covering specific topics, e.g. Ethernet, file systems, etc. as this book only really talks you through the example shown. In some cases an area, recursion for example, is skimmed very lightly.

Engineers working in the 16-64 bit market (with JTAG) who spend time with the code on the CD will find it a useful insight, especially if they are using GNU X-Tools or want to develop their own debug system.

I like this book. One last point; the author's example code on the CD has his company and personal email addresses in it. You can't say fairer than that! Recommended.