There seems to be inconsistency between the map file and the sizes reported
by msp430-size. In a current project using an MSP430F149, msp430-size shows
msp430-size ccas.elf
text data bss dec hex filename
18620 12 1570 20202 4eea ccas.elf
In the map file, excerpted values:
.data 0x00000200 0xc load address 0x0000599c
...
0x0000020c _edata = .
...
.bss 0x0000020c 0x59a
0x0000020c PROVIDE (__bss_start, .)
...
0x000007a6 PROVIDE (__bss_end, .)
0x000007a6 _end = .
.noinit 0x000007a6 0x0
0x000007a6 PROVIDE (__noinit_start, .)
*(.noinit)
*(COMMON)
0x000007a6 PROVIDE (__noinit_end, .)
...
0x00000a00 PROVIDE (__stack, 0xa00)
This shows the .data size as 0xc or decimal 12, consistent with the report
from msp430_size, and the .bss size as 0x59a or decimal 1434, in contrast to
the reported 1570 in msp430_size. I can't find anything else in the map file
to account for the discrepancy.
I've been assuming the stack can occupy the space between __noinit_end and
__stack. When one has only 2k of RAM, an error of 136 in the space available
for the stack is quite important. Have I missed something?
--
Rick Jenkins <[email protected]>
Hartman Technica http://www.hartmantech.com
Phone +1 (403) 230-1987 voice & fax
221 35 Avenue. N.E., Calgary, Alberta, Canada T2E 2K5