title: Design / Implementation Patterns for Embedded Systems
body: <p><strong>Are there any good sources on design and/or implementation patterns for embedded systems out there?</strong> Books or good web-resources.</p>
  
  <p>Topic could be:</p>
  
  <ul>
  <li>Reflections on the typical way to separate register addresses from driver implementation.</li>
  <li>Or the practice of using/building a Hardware Abstraction Layer, and how to do achieve the most benefit from that.</li>
  <li>Building the same code base for multiple hardware revisions/platforms.</li>
  <li>Prioritising ISRs and separating them into a time-critical part and a to be performed when time allows part.</li>
  <li>Unit testing or even test driven development for embedded systems?</li>
  </ul>
  
  <p>I guess what I am asking for is something along the lines of GoF, but focused specifically on embedded software development.</p>
  
  <p>Thanks</p>