Unified Build System (base.mk)
To ensure consistent optimization and hardware acceleration across all projects, I utilized a shared Makefile logic.
⚙️ Compiler & Linker Configuration
- Optimization:
-O0is used for debugging clarity and register-level visibility. - FPU Acceleration: Flags
-mfloat-abi=hardand-mfpu=fpv4-sp-d16enable the hardware FPU. - Standard Library Management: Used
-nostdlibbut explicitly linked-lm(math) and-lgcc(helpers) to support floating-point to integer conversions.
🛠 VPATH Strategy
The build system uses a VPATH to pull in shared drivers automatically: ```makefile COMMON_SRCS = startup.c uart.c i2c.c dma.c hts221.c