Making Embedded Systems: Design Patterns for Great Software

Elecia White 2011

Interested in developing embedded systems? Since they don't tolerate inefficiency, these systems require a disciplined approach to programming. This easy-to-read guide helps you cultivate a host of good development practices, based on classic software design patterns and new patterns unique to embedded programming. Learn how to build system architecture for processors, not operating systems, and discover specific techniques for dealing with hardware difficulties and manufacturing...


Test Driven Development for Embedded C (Pragmatic Programmers)

James W. Grenning 2011

Another day without Test-Driven Development means more time wasted chasing bugs and watching your code deteriorate. You thought TDD was for someone else, but it's not! It's for you, the embedded C programmer. TDD helps you prevent defects and build software with a long useful life. This is the first book to teach the hows and whys of TDD for C programmers.TDD is a modern programming practice C developers need to know. It's a different way to program---unit tests are written in a tight...


ARM Assembly Language - an Introduction

J. R. Gibson 2011

The ARM core is probably the most widely used embedded central processing unit incorporated in programmed electronic systems. Millions of products with an ARM core are sold every day. ARM cores are components in so many electronic products that ARM is increasingly chosen as the main CPU example for electronic engineering course. This is an introductory text describing the ARM assembly language and its use for simple tasks. It is suitable for students who have not previously used any assembly...


Design Patterns for Embedded Systems in C: An Embedded Software Engineering Toolkit

Bruce Powel Douglass 2010

A recent survey stated that 52% of embedded projects are late by 4-5 months. This book can help get those projects in on-time with design patterns. The author carefully takes into account the special concerns found in designing and developing embedded applications specifically concurrency, communication, speed, and memory usage. Patterns are given in UML (Unified Modeling Language) with examples including ANSI C for direct and practical application to C code. A basic C knowledge is a...


Embedded Linux Primer: A Practical Real-World Approach (2nd Edition)

Christopher Hallinan 2010

Up-to-the-Minute, Complete Guidance for Developing Embedded Solutions with Linux

 

Linux has emerged as today’s #1 operating system for embedded products. Christopher Hallinan’s Embedded Linux Primer has proven itself as the definitive real-world guide to building efficient, high-value, embedded systems with Linux. Now, Hallinan has thoroughly updated this highly praised book for the newest Linux kernels, capabilities, tools, and hardware support, including advanced multicore...


Demystifying Embedded Systems Middleware

Tammy Noergaard 2010

This practical technical guide to embedded middleware implementation offers a coherent framework that guides readers through all the key concepts necessary to gain an understanding of this broad topic. Big picture theoretical discussion is integrated with down-to-earth advice on successful real-world use via step-by-step examples of each type of middleware implementation. Technically detailed case studies bring it all together, by providing insight into typical engineering situations readers...


uC/OS-III: The Real-Time Kernel and the Renesas SH7216

Jean J Labrosse 2010

This two-part book puts the spotlight on how a real-time kernel works using Micrium's μC/OS-III kernel as a reference. Part I includes an overview of the operation of real-time kernels, and walks through various aspects of μC/OS-III implementation and usage. Part II provides application examples (using the versatile Renesas YRDKSH7216 Evaluation Board, available separately) that enable readers to rapidly develop their own prototypes. This book is written for serious embedded systems...


Better Embedded System Software

Philip Koopman 2010

This book distills the experience of more than 90 design reviews on real embedded systems into a set of bite-size lessons learned in the areas of software development process, requirements, architecture, design, implementation, verification & validation, and critical system properties.

Each chapter describes an area that tends to be a problem in embedded system design, symptoms that tend to indicate you need to make changes, the risks of not fixing problems in this area, and concrete ways to...


Hardware/Firmware Interface Design: Best Practices for Improving Embedded Systems Development

Gary Stringham 2009

Why care about hardware/firmware interaction? These interfaces are critical, a solid hardware design married with adaptive firmware can access all the capabilities of an application and overcome limitations caused by poor communication. For the first time, a book has come along that will help hardware engineers and firmware engineers work together to mitigate or eliminate problems that occur when hardware and firmware are not optimally compatible. Solving these issues will save time and...


Beginner's Guide to Embedded C Programming - Volume 2: Timers, Interrupts, Communication, Displays and More

Chuck Hellebuyck 2009

If you liked his first C book "Beginner's Guide to Embedded C Programming" then you will love this one. In this "Volume 2" Chuck takes the reader to the next level by introducing how to drive displays, how to use interrupts, how to use serial communication, how to use the internal hardware peripherals of the PIC16F690 Microcontroller such as SPI, PWM and Timers. He even introduces how to drive a stepper motor for those looking for electromechanical design help. He tackles these topics with...