From Hardware to Application: Understanding the Role of HAL in Embedded Platforms
Suppose you are creating an embedded application and later need to alter certain sections of the firmware because there has been a change either to the processor or to a peripheral. Although the application logic could stay unchanged, the method in which the software accesses the hardware might be different from one platform to another.