Portable Firmware ….
- is modular
- is loosely coupled
- has high cohesion
- is ANSI-C compliant
- has a clean interface
- has a Hardware Abstraction Layer (HAL)
- is readable and maintainable
- is simple
- uses encapsulation and abstract data types
- is well documented
How well do the characteristics of your software match the qualities of portable firmware?