Design Patterns For Embedded Systems In C by Bruce Powel Douglass