REVIEW - C and the 8051: Hardware, modular programming, and multitasking


Title:

C and the 8051: Hardware, modular programming, and multitasking

Author:

Thomas W. Schultz

ISBN:

Publisher:

Prentice Hall (1998)

Pages:

437pp

Reviewer:

Chris Hills

Reviewed:

December 2000

Rating:

★★☆☆☆


Unusually for a book on 8051 programming a large part of it is concerned with operating systems. The discussion is on the more common (and expensive) commercial RTOS but progresses to writing your own scheduler or kernel. Whilst many will never use an operating system with an 8051 the information on interrupts, context switching, register banks and scheduling will be invaluable to many. It is very useful to have an appreciation of operating systems from this perspective (a restrictive 8-bit system) as most OS theory seems to be UNIX or Windows based. Many of the techniques described will be of use on any system with more than one task or interrupts, i.e. most of them.

The remaining sections of the book cover I/O in its various guises. Unfortunately PID is only mentioned in a paragraph, with no code but speech recognition covers several pages. It is a pity that several of the other topics and algorithms covered briefly were not covered in the same depth as the speech section. There is a missed opportunity to provide some useful basic building blocks of code and useful algorithms. I do not think that speech recognition and generation, interesting as it is, will be high on the list of priorities for an 8051 system.

The very annoying aspect that this book shares with volume one are the footnotes on every page, including pages of source code. One page has more footnotes than text. This volume has many pages of source code that are to my mind superfluous as they are copied on the CD. The source code itself is not the best I have seen and not the best to learn from. Incidentally, the source code for Volume one is also on the CD. It was not on the CD with the first volume. If anyone has volume one and wants the code for it please email me. accu@phaedsys.demon.co.uk (the code is of no use without the book). A minor niggle with the code on the CD, there is no index and neither is the code in the book numbered, so you have to hunt around to find the right program.

I did not like this book, overall. I said the same of volume one but I find I use volume one a lot. This book is expensive. As part of a series, it should be a lot less. In fact at this price I would like to have seen volume one and two combined with the footnotes incorporated into the text. That would produce a book that should be on every 8051 programmer's list but as it is I am not so sure.

One general note to authors and publishers. Avoid lists of contacts. The US centred list of 8051 tools suppliers in the book I have just reviewed, does not contain the main European vendor (who have an office in the USA) but does contain a small European outfit. This is despite the fact the small company has been bought out (and dissolved) by the afore mentioned large company some two years before the publication of the book! Web addresses are more useful than postal addresses for a foreign office. Foreign in this context is any country other than the one I, the reader, not the author, am currently in. Whilst Europeans, in fact everyone outside the USA, usually gives the phone number including international dialling code for the country. The US seems to assume that everyone calls from within the USA.


Book cover image courtesy of Open Library.





Your Privacy

By clicking "Accept Non-Essential Cookies" you agree ACCU can store non-essential cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

Current Setting: Non-Essential Cookies REJECTED


By clicking "Include Third Party Content" you agree ACCU can forward your IP address to third-party sites (such as YouTube) to enhance the information presented on this site, and that third-party sites may store cookies on your device.

Current Setting: Third Party Content EXCLUDED



Settings can be changed at any time from the Cookie Policy page.