https://www.mlrelated.com/showarticle/1596/creating-a-hardware-abstraction-layers-hal-in-c
Creating a Hardware Abstraction Layer (HAL) in C - Jacob Beningo
Implement a portable I2C hardware abstraction layer in C, using function-pointer structs, dependency injection, and driver wrappers to swap drivers easily.
hardware abstraction layerjacob beningocreatinghal
https://embeddedrelated.com/showarticle/1579.php
C to C++: Using Abstract Interfaces to Create Hardware Abstraction Layers (HAL) - Jacob Beningo
Learn how to use C++ abstract interfaces to build hardware abstraction layers for portable, testable embedded firmware, using an ILed example and practical...
abstraction layersjacob beningousinginterfacescreate