Makefiles are a fundamental tool that every embedded software developer needs to understand. Even if you use an Eclipse-based IDE, behind the scenes, a makefile is generated to build your objects ...
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.