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 <r...@hartmantech.com>
Hartman Technica           http://www.hartmantech.com 
Phone +1 (403) 230-1987 voice & fax
221 35 Avenue. N.E., Calgary, Alberta, Canada T2E 2K5

Reply via email to