How you organize your firmware project might seem like a minor detail. It isn't. It's one of the highest-leverage decisions ...
Ask most embedded developers why they're still writing firmware in C, and you'll hear the same answer: "C++ is too heavy for embedded." That concern has merit. It's also more than 20 years out of date ...