Hello,
yes, the 22502 bytes are correct: this is the total size of ROM/Flash needed. But of course this might be distributed over different sections/segments.
About the second thing: have a look at you linker .prm file (at least this is what I have in my MCU10.2 beta):
You should have:
ROM = READ_ONLY 0xC000 TO 0xFFAB;
ROM1 = READ_ONLY 0x5000 TO 0x7FFF;
ROM2 = READ_ONLY 0xFFC0 TO 0xFFD1;
and:
PLACEMENT
....
COPY /* copy down information: how to initialize variables */
INTO ROM; /* ,ROM1,ROM2: To use "ROM1,ROM2" as well, pass the option -OnB=b to the compiler */
Notice the comment. And notice that it goes only into ROM (which is for LL32 around 12K).
In order to have it in ROM1 and ROM2:
Add the compiler option -OnB=b (to disable a branch optimization) and change the linker file to
INTO ROM ,ROM1,ROM2;
Hope this helps.