Hi,
My flash is really 99% used and I can save some 20KB
by using string pooling in A VERY IMPORTANT ;-) real-time system with interactive console (the strings are variable names, some 8...25 chars long (max 80 long)).
Of course all is using PROGMEM already.
Now the question is how to force it. I have found no option for that in gcc and it doesn't appears it is already done during compilation, even if I have several occurrences like:
VARNAME_A
VARNAME_A_MIN
a perfect scenario for suffix-based pooling.
So far I use PSTR macros but I can rewrite that easily.
Next step would be to put ALL strings (including error mesgs) to a pool.
I wonder if gcc can do this at all.
Anybody got custom codes for that?
I considered bit-rating strings at 6bits, but minor gain (only 25%).
Before I put LHA on it, would be nice to know what to try in an evening?