C Programming for Embedded Systems

Table of Contents
Introduction
Problem Specification
Microcontrollers In-depth
Design Process
C for Embedded Systems
Data Types and Variables
C Statements, Structures, and Operations
Libraries
Optimizing and Testing Embedded C Programs
Sample Project
Fact: Today the number of embedded processors already significantly exceeds those targeted for desktop units.
By the year 2004, industry experts project that embedded processors will outnumber PC processors by 3-to-1. The majority of embedded systems operate on 8-bit microprocessors and are vastly used today in consumer products and automobiles. They are also used in the newest controller applications, such as USB peripherals and Internet-enabled appliances. Now designers can learn to transfer their C language skills to the 8-bit microcontroller embedded environment with the help of Kirk Zurrell's book, C Programming for Embedded Systems.

C Programming for Embedded Systems provides a complete, intermediate-level discussion of microcontroller programming using the C programming language.
The book covers the adaptations to C that are necessary for an embedded environment and the common components of a successful development project. Designers who have chosen to use 8-bit controllers have usually resorted to hand coding in assembly language. Manual assembly programming for precise control may never go out of style. However, C is the language of choice for programming larger microcontrollers (MCU), which are based on 32-bit cores. And there are advantages in compiling high-level C language to even the limited resources of an 8-bit MCU.

Some of the advantages and direct benefits of using C in embedded systems design are as follows:

  • Designers will not be overwhelmed by details
  • Designers will learn the basics of portability
  • Designers can reduce costs through traditional programming techniques
  • Designers can spend more time on algorithm design and less time on implementation
Examples of what some of the chapters in the book will cover are:
  • An introduction to 8-bit microprocessors
  • The design process
  • Hardware representation in C; a catalog of all the required setup for the program source
  • Insight into embedded data
  • Embedded-specific information on functions, statements, and operators
  • An introduction about libraries and the benefits of their functionality
  • An insight into optimization
The last chapter of the book presents a sample project for the reader to build.
The reader can design and build a thermostat while applying the C programming skills learned throughout the book. Source code for the thermostat project is provided on the CD that is included with the book. Further updates and revised information are available on the Web at http://www.bytecraft.com/embedded_C/.

About the author:
Kirk Zurell is a technical writer and embedded programmer for Byte Craft Ltd. in Waterloo, Ontario, Canada. Kirk has been programming and writing for desktop environments and embedded systems for more than 15 years. His first 8-bit projects were with the 6502. Having attended the University of Windsor (Ontario, Canada) in Communication Studies, Kirk has introduced technical topics in support, training, and technical writing capacities. His goal is to build and write the system software for a 32-bit computer of his own design.

For information on how to obtain a copy of Kirk Zurell's book contact:
Publishers Group West
1700 Fourth Street
Berkeley, CA 94710
ISBN 1-929629-04-4