Hardware abstraction layers (HALs) are an important layer to every embedded software application. A HAL allows a developer to abstract or decouple the hardware details from the application code.
Have you and your team ever taken some time to sit down and define what your build system should be? I often see teams start a project with the loose idea that they ...