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
Title:
Embedded Systems Building Blocks 2ed
Author:
Jean J. Labrosse
ISBN:
0 87930 604 1
Publisher:
CMP Books
Pages:
610pp+CD
Price:
$69-95
Reviewer:
Chris Hills
Subject:
embedded systems
Appeared in:
12-6
When I was first given a copy of this book I was at a loss to find a use for it. However now I have been given the book to which it is a companion, microC/OS-II the real-time kernel, I can see its value. The book contains, as you would expect a series of complete modules for common I/O requirements. However it is assumed that you will be using these modules with theauthor's RTOS microC/OS-II. A copy of the RTOS is on the CD, together with a couple of chapters in the book on it. It is possible to use the principles and I think much of the software without the microC/OS-II.

The areas covered are: universal Hex key pad module, universal 7 Segment LED, universal LCD driver (alpha and graphical), Digital I/O, Analogue I/O. A software real-time clock, timer manager, serial communications and a very useful fixed-point maths chapter. There is also a section on PC services.

Each module is more sophisticated than you might think, for example the digital I/O module will not only give a high or low. It can also give positive and or negative edge detection, toggle mode and the hardware can be bypassed with the module providing a 1 or 0 for software debug. On transitions, it will also count the number of transitions. Some of the options can be compiled out to save space. The universal keypad module includes debounce. The Analogue I/O chapter gives several methods depending on the type of hardware used. So these are a little more that the minimum required.

Each chapter has the theory and rational behind the module with plenty of diagrams and examples. The API calls are then given (a page each with an example) and a section follows on the configuration. The configuration is fairly general and will need thought from you but the code was written with this in mind. There is also the entire source code, not just the parts that need configuration. This means that the modules can be adapted and reused well outside the scope of the book.

The fixed-point maths will be of use to many (it was designed for a 16-bit

int
). It covers the basic addition, subtraction, multiply and divide. Also fixed point comparison. This will often remove the need for (large and slow) floating-point libraries.

This book is designed to stand-alone and has a couple of chapters on OS principles and microC/OS-II so if you have the OS but not the book this one might be all you need. The modules are biased towards the x86/PC. This is not as odd as it might seem, as embedded PCs are becoming quite common for a lot of embedded systems.

I think that this is a useful book for new microC/OS-II users. Given the cost of the book and the cost of your time it is probably going to be a good investment. Old hands with microC/OS-II will probably have their own libraries by now. However, some of the source and methods would still be of use.

I would think it would not be of as much use to people developing on 8 bit platforms as on the larger 16, 32, 64 bit systems. Students of operating systems and embedded systems will find the methods (and probably the source code) of use. A useful book, if you are using microC/OS-II and want a kick-start. Recommended.