© Jacob Beningo 2017

Jacob Beningo, Reusable Firmware Development, https://doi.org/10.1007/978-1-4842-3297-2_6

6. The Hardware Abstraction Layer Design Process

Jacob Beningo

(1)Linden, Michigan, USA

“Design is the fundamental soul of a man-made creation that ends up expressing itself in successive outer layers of the product or service.”

—Steve Jobs

Why Use a HAL?

Using a HAL is a great way to develop software that can be easily reused and ported from one application and platform to the next. Why would a developer want to do such a thing? For starters, reinventing the wheel over and over again gets pretty boring. I believe most developers want to be working on cutting-edge development work instead of being stuck in a never-ending Groundhog Day1

Get Reusable Firmware Development: A Practical Approach to APIs, HALs and Drivers now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.