I have a M328P program that occupies 32720 bytes (as reported on the build output) with no bootloader and BOOTRST = false. RAM is it 65% and EEPROM is at 5%. Other than the fact that there are only a few bytes remaining in flash, are there any inherent problems with running this close to absolute-full?
A related question. I just discovered that, sometime in the past, I had set optimization level at -O1 (byte count above). When I change to -Os, the usage drops to 29224 bytes (nice) but I get a slew of warnings:
dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
A typical line that generates this warning is:
These are all from relatively old version fatfs library files and are absent with -O1. What are the issues of ignoring this?