Dynamic memory and SDRAM

In resource-constrained embedded systems, the programmer should know all resource requirements up front. So dynamic allocation shouldn’t be necessary to adapt to user input or environmental variations.

Worst case, your gadget might crash, needing a reboot. Less drastic would be wasted CPU cycles.

But there’s no need to be dogmatic. You might, for instance, use dynamic memory only during startup, and not be doing any malloc/free stuff after initialization. This might be more a notational convenience, completely safe.

Bottom line, pay attention to resource requirements, and you probably don’t really need to use dynamic memory.