Stringham, Gary. Hardware/Firmware Interface Design: best practices for improving embedded systems development - Oxford Newnes