Embedded Systems

Preface
This book is about microcontrollers, in the field of digital control systems. We will discuss embedded systems, real-time operating systems, and other topics of interest. It is important to realize that embedded systems rarely have display capabilities, and if they do have displays, they are usually limited to small text-only LCD displays. The challenge of programming an embedded system then is that it is difficult to get real-time feedback from the system without a display. It is common to use a simple serial interface for diagnostic purposes, for example by connecting to a PC running terminal software via a RS-232 to USB adapter. Also, embedded systems usually have very strict memory limitations, processor limitations, and speed limitations that must play a factor in designing an embedded system, and programming an embedded computer. This book talks about some of the specific issues involved in programming an embedded computer. It also covers some basic topics such as microprocessor architectures, FPGAs, and some general low-level computing topics. While many of the issues discussed in this book may apply to PCs, and non-embedded computers, this book remains focused on topics that apply to embedded systems only.

This book has incorporated a number of smaller books, stub-books, and half-books that were previously written about this subject.

Table of Contents

 * Embedded Systems Introduction
 * Terminology

Microprocessor Basics

 * Microprocessor Introduction
 * Theory, Design and Implementation
 * Embedded System Basics
 * Microprocessor Architectures
 * Programmable Controllers
 * /Floating Point Unit/ and fixed-point numbers
 * Parity
 * Memory
 * Memory Units
 * /Watchdog Timer/

Programming Embedded Systems

 * /C Programming/
 * /Assembly Language/
 * /Mixed C and Assembly Programming/
 * I/O Programming
 * Serial and Parallel I/O
 * /Super Loop Architecture/
 * /Protected Mode and Real Mode/ (x86)
 * /Bootloaders and Bootsectors/
 * /Terminate and Stay Resident/ (TSR)

Real Time Operating System

 * Real-Time Operating Systems (RTOS)
 * Threading and Synchronization
 * Interrupts
 * RTOS Implementation
 * Locks and Critical Sections
 * Common RTOS


 * Palm OS
 * Windows CE
 * MS-DOS or DOS Clones
 * Linux

Interfacing

 * /Interfacing Basics/
 * External ICs
 * /Low-Voltage Circuits/
 * High-Voltage Circuits

Particular Microprocessor Families

 * Particular Microprocessors
 * Intel Microprocessors
 * PIC Microcontroller
 * PIC programming
 * 8051 Microcontroller
 * Freescale Microcontrollers
 * /Texas Instruments MSP430 microcontrollers/
 * Atmel AVR
 * Operating systems and task managers
 * /ARM Microprocessors/
 * /ARM Assembly Language/
 * /ARM Instructions/
 * AT91SAM7S64
 * Cypress PSoC Microcontroller
 * Cypress PSoC application notes

Appendices

 * Common Protocols
 * Where To Buy

Resources and Licensing

 * /Resources/
 * /Licensing/

Sulautetut järjestelmät 嵌入式系统