Embedded Firmware Best Practices