I think I now have it clear in my head (someone please confirm) which type of RAM is used for what!
Here's one of my compiles.
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 00000894 3ffe8000 3ffe8000 000000e0 2**4
CONTENTS, ALLOC, LOAD, DATA
1 .rodata 0000275c 3ffe88a0 3ffe88a0 00000980 2**4
CONTENTS, ALLOC, LOAD, READONLY, DATA
3 .bss 00009a80 3ffeb008 3ffeb008 000030e8 2**4
ALLOC
4 .text 00007786 40100000 40100000 000030e8 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
5 .irom0.text 0003ce04 40202010 40202010 0000a870 2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE
So we have DATA which is used for initialised variables - I've used 0x894 - but what is the MAXIMUM?
We have RODATA which is used for read only data (don't understand why that's not in FLASH if it is read only) - I've used 0x275c - but what is the MAXIMUM?
bss for variables which are NOT initialised - I've used 0x9a80 - but what is the MAXIMUM?
text - use for code that is not in FLASH (I assume this should only be used for time-critical functions?) - I've used 0x7786 - I'm assuming the limit is0x8000 ???
irrom0_text - That's FLASH and we know that this would be 512k or more depending on the chip...
Can someone clarify the RAM questions above. Are these different types fixed in size (I'm always near the edge with TEXT)..
Pete.Statistics: Posted by scargill — Tue Sep 15, 2015 5:59 pm
]]>