Книга посвящена общим и частным вопросам программирования встраиваемых систем с использованием микроконтроллеров. Все вопросы сгруппированы в соответствии со стандартными этапами разработки любого программного обеспечения: анализом требований, проектированием, кодированием, отладкой и тестированием. В первой главе рассмотрены работа в реальном времени, безопасность, надежность, энергосбережение, модифицируемость и переносимость программного обеспечения встраиваемых систем. Вторая глава затрагивает два основных этапа проектирования программного обеспечения: структурный и конкурентный дизайн. В третьей главе описываются вопросы кодирования, т.е. непосредственно создания проектов и записи программ на языке С. Последняя глава посвящена отладке полученного кода и его тестированию на различных платформах. Приведены примеры из практики, содержащие ошибки, проанализированы пути их устранения. Издание проиллюстрировано примерами на С и анализом получаемого в результате компиляции машинного кода для двух популярных семейств микроконтроллеров Microchip®: PIC18 (8 бит) и PIC24 (16 бит). Рассмотренные подходы и приемы могут быть использованы при программировании микроконтроллеров других фирм.