title: mspgcc-size ROM/RAM usage in percentage
body: <p>With mspgcc-size I can get an output like this:</p>
  
  <pre><code> text      data       bss       dec       hex  
  13072       236     65296     78604     1330c
  </code></pre>
  
  <p>We know that:</p>
  
  <pre><code>Flash = data + text
  RAM = data + bss
  </code></pre>
  
  <p>How can I extract the size of ROM/RAM from the selected -mmcu=msp430g2553 with the toolchain?</p>
  
  <pre><code>e.g. ROM: 8192 Byte, RAM: 512 Byte
  </code></pre>
  
  <p>The goal is:</p>
  
  <pre><code>ROM usage XXX Bytes (40%)
  RAM usage YYY Bytes (11%)
  </code></pre>
  
  <p>mspgcc-size doesn't generate this with a switch (not like avr-gcc).</p>
  
  <p><strong>Map file:</strong></p>
  
  <pre><code>Memory Configuration
  
  Name             Origin             Length             Attributes
  sfr              0x00000000         0x00000010
  peripheral_8bit  0x00000010         0x000000f0
  peripheral_16bit 0x00000100         0x00000100
  ram              0x00000200         0x00000080         xw
  infomem          0x00001000         0x00000100
  infod            0x00001000         0x00000040
  infoc            0x00001040         0x00000040
  infob            0x00001080         0x00000040
  infoa            0x000010c0         0x00000040
  rom              0x0000f800         0x000007e0         xr
  vectors          0x0000ffe0         0x00000020
  bsl              0x00000000         0x00000000
  ram2             0x00000000         0x00000000         xw
  ram_mirror       0x00000000         0x00000000         xw
  usbram           0x00000000         0x00000000         xw
  far_rom          0x00000000         0x00000000
  *default*        0x00000000         0xffffffff
  
  Linker script and memory map
  
  
  .hash
   *(.hash)
  
  .dynsym
   *(.dynsym)
  
  .dynstr
   *(.dynstr)
  
  .gnu.version
   *(.gnu.version)
  
  .gnu.version_d
   *(.gnu.version_d)
  
  .gnu.version_r
   *(.gnu.version_r)
  
  .rel.init
   *(.rel.init)
  
  .rela.init
   *(.rela.init)
  
  .rel.fini
   *(.rel.fini)
  
  .rela.fini
   *(.rela.fini)
  
  .rel.text
   *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
  
  .rela.text
   *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
  
  .rel.rodata
   *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
  
  .rela.rodata
   *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
  
  .rel.data
   *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
  
  .rela.data
   *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
  
  .rel.bss
   *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
  
  .rela.bss
   *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
  
  .rel.ctors
   *(.rel.ctors)
  
  .rela.ctors
   *(.rela.ctors)
  
  .rel.dtors
   *(.rel.dtors)
  
  .rela.dtors
   *(.rela.dtors)
  
  .rel.got
   *(.rel.got)
  
  .rela.got
   *(.rela.got)
  
  .rel.plt
   *(.rel.plt)
  
  .rela.plt
   *(.rela.plt)
  
  .text           0x0000f800      0x59e
                  0x0000f800                . = ALIGN (0x2)
   *(.init .init.*)
   *(.init0)
   .init0         0x0000f800        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_reset_vector__.o)
                  0x0000f800                _reset_vector__
   *(.init1)
   .init1         0x0000f800        0xc c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(__watchdog_support.o)
                  0x0000f800                __watchdog_support
   *(.init2)
   .init2         0x0000f80c        0x4 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(__init_stack.o)
                  0x0000f80c                __init_stack
   *(.init3)
   .init3         0x0000f810        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(__low_level_init.o)
                  0x0000f810                __low_level_init
   *(.init4)
   .init4         0x0000f810       0x18 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_copy_data.o)
                  0x0000f810                __do_copy_data
   .init4         0x0000f828       0x16 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_clear_bss.o)
                  0x0000f828                __do_clear_bss
   *(.init5)
   *(.init6)
   *(.init7)
   *(.init8)
   *(.init9)
   .init9         0x0000f83e       0x12 obj\main.o
                  0x0000f83e                main
   *(.fini9)
   .fini9         0x0000f850        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(__stop_progExec__.o)
                  0x0000f850                __stop_progExec__
   *(.fini8)
   *(.fini7)
   *(.fini6)
   *(.fini5)
   *(.fini4)
   *(.fini3)
   *(.fini2)
   *(.fini1)
   *(.fini0)
   .fini0         0x0000f850        0x6 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_endless_loop__.o)
                  0x0000f850                _endless_loop__
   *(.fini .fini.*)
                  0x0000f856                . = ALIGN (0x2)
                  0x0000f856                __ctors_start = .
   *(.ctors)
                  0x0000f856                __ctors_end = .
                  0x0000f856                __dtors_start = .
   *(.dtors)
                  0x0000f856                __dtors_end = .
                  0x0000f856                . = ALIGN (0x2)
   *(.text .text.* .gnu.linkonce.t.*)
   .text          0x0000f856        0x4 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3/crt0ivtbl16.o
                  0x0000f856                __isr_14
                  0x0000f856                __isr_4
                  0x0000f856                __isr_11
                  0x0000f856                __isr_5
                  0x0000f856                __isr_2
                  0x0000f856                __isr_10
                  0x0000f856                __isr_7
                  0x0000f856                __isr_0
                  0x0000f856                __isr_8
                  0x0000f856                __isr_3
                  0x0000f856                __isr_12
                  0x0000f856                __isr_13
                  0x0000f856                __isr_6
                  0x0000f856                __isr_1
   .text.crt0     0x0000f85a        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3/crt0ivtbl16.o
   .text          0x0000f85a       0xec obj\adc.o
                  0x0000f85a                adc_init
                  0x0000f868                analogRead
   .text          0x0000f946        0x8 obj\adc_app.o
                  0x0000f946                ADC_app_Task
   .text          0x0000f94e       0x28 obj\Clock.o
                  0x0000f94e                Clock_init
   .text          0x0000f976      0x202 obj\dio.o
                  0x0000f976                dio_init
                  0x0000f982                digitalRead
                  0x0000f9e6                digitalWrite
                  0x0000fa86                pinMode
   .text          0x0000fb78       0x56 obj\Error_Handler.o
                  0x0000fb78                Error_Handler
   .text          0x0000fbce        0xa obj\Generic_Interrupt.o
                  0x0000fbce                Glob_Int_Enable
                  0x0000fbd2                Glob_Int_Disable
   .text          0x0000fbd8       0x34 obj\MCU_Common.o
                  0x0000fbd8                MCU_Common_init
                  0x0000fbf2                _unexpected_
   .text          0x0000fc0c        0x0 obj\main.o
   .text          0x0000fc0c       0x12 obj\PID.o
                  0x0000fc0c                PID_Task
   .text          0x0000fc1e       0x4a obj\pwm.o
                  0x0000fc1e                pwm_init
                  0x0000fc38                pwm_set
   .text          0x0000fc68        0x2 obj\Prog_Flow_Mon.o
                  0x0000fc68                pfm_checkin
   .text          0x0000fc6a       0x34 obj\Shut_Down_TMR.o
                  0x0000fc6a                Shut_Down_TMR_Task
   .text          0x0000fc9e       0x90 obj\Scheduler.o
                  0x0000fc9e                Dispatch_Tasks
                  0x0000fcfa                __isr_9
                  0x0000fcfa                TIMER0_INT_isr
   .text          0x0000fd2e        0x6 obj\Sleep.o
                  0x0000fd2e                Sleep
   .text          0x0000fd34       0x14 obj\Timer.o
                  0x0000fd34                timer_init
   .text          0x0000fd48       0x34 obj\wdt.o
                  0x0000fd48                WDT_init
                  0x0000fd6c                WDT_Reset_StartTimer
                  0x0000fd74                WDT_StopTimer
   .text          0x0000fd7c        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libgcc.a(_udivmod16.o)
   .text.libgcc   0x0000fd7c       0x22 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libgcc.a(_udivmod16.o)
                  0x0000fd7c                __ext_udivmod16
                  0x0000fd7c                __udivhi3
                  0x0000fd96                __umodhi3
   .text          0x0000fd9e        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_reset_vector__.o)
   .text          0x0000fd9e        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(__watchdog_support.o)
   .text          0x0000fd9e        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(__init_stack.o)
   .text          0x0000fd9e        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(__low_level_init.o)
   .text          0x0000fd9e        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_copy_data.o)
   .text          0x0000fd9e        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_clear_bss.o)
   .text          0x0000fd9e        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(__stop_progExec__.o)
   .text          0x0000fd9e        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_endless_loop__.o)
                  0x0000fd9e                . = ALIGN (0x2)
  
  .rodata         0x0000fd9e        0x6
                  0x0000fd9e                . = ALIGN (0x2)
   *(.rodata .rodata.* .gnu.linkonce.r.*)
   .rodata        0x0000fd9e        0x6 obj\adc.o
                  0x0000fda4                . = ALIGN (0x2)
                  0x0000fda4                _etext = .
  
  .data           0x00000200        0xe load address 0x0000fda4
                  0x00000200                . = ALIGN (0x2)
                  0x00000200                PROVIDE (__data_start, .)
   *(.data .data.* .gnu.linkonce.d.*)
   .data          0x00000200        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3/crt0ivtbl16.o
   .data          0x00000200        0x0 obj\adc.o
   .data          0x00000200        0x0 obj\adc_app.o
   .data          0x00000200        0x0 obj\Clock.o
   .data          0x00000200        0x0 obj\dio.o
   .data          0x00000200        0x0 obj\Error_Handler.o
   .data          0x00000200        0x0 obj\Generic_Interrupt.o
   .data          0x00000200        0x0 obj\MCU_Common.o
   .data          0x00000200        0x0 obj\main.o
   .data          0x00000200        0x0 obj\PID.o
   .data          0x00000200        0x0 obj\pwm.o
   .data          0x00000200        0x0 obj\Prog_Flow_Mon.o
   .data          0x00000200        0x1 obj\Shut_Down_TMR.o
   *fill*         0x00000201        0x1 00
   .data          0x00000202        0xc obj\Scheduler.o
   .data          0x0000020e        0x0 obj\Sleep.o
   .data          0x0000020e        0x0 obj\Timer.o
   .data          0x0000020e        0x0 obj\wdt.o
   .data          0x0000020e        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libgcc.a(_udivmod16.o)
   .data          0x0000020e        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_reset_vector__.o)
   .data          0x0000020e        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(__watchdog_support.o)
   .data          0x0000020e        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(__init_stack.o)
   .data          0x0000020e        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(__low_level_init.o)
   .data          0x0000020e        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_copy_data.o)
   .data          0x0000020e        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_clear_bss.o)
   .data          0x0000020e        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(__stop_progExec__.o)
   .data          0x0000020e        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_endless_loop__.o)
                  0x0000020e                . = ALIGN (0x2)
                  0x0000020e                _edata = .
                  0x0000fda4                PROVIDE (__data_load_start, LOADADDR (.data))
                  0x0000000e                PROVIDE (__data_size, SIZEOF (.data))
  
  .bss            0x0000020e        0xc load address 0x0000fdb2
                  0x0000020e                PROVIDE (__bss_start, .)
   *(.bss .bss.*)
   .bss           0x0000020e        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3/crt0ivtbl16.o
   .bss           0x0000020e        0x0 obj\adc.o
   .bss           0x0000020e        0x8 obj\adc_app.o
                  0x0000020e                ADC_App_Button_State
                  0x00000210                ADC_MotorCurrent
                  0x00000212                ADC_MotorBEMF
                  0x00000214                ADC_Current_SetPoint
   .bss           0x00000216        0x0 obj\Clock.o
   .bss           0x00000216        0x0 obj\dio.o
   .bss           0x00000216        0x0 obj\Error_Handler.o
   .bss           0x00000216        0x0 obj\Generic_Interrupt.o
   .bss           0x00000216        0x0 obj\MCU_Common.o
   .bss           0x00000216        0x0 obj\main.o
   .bss           0x00000216        0x0 obj\PID.o
   .bss           0x00000216        0x0 obj\pwm.o
   .bss           0x00000216        0x0 obj\Prog_Flow_Mon.o
   .bss           0x00000216        0x1 obj\Shut_Down_TMR.o
   .bss           0x00000217        0x2 obj\Scheduler.o
                  0x00000217                elapsed_ticks
   .bss           0x00000219        0x0 obj\Sleep.o
   .bss           0x00000219        0x0 obj\Timer.o
   .bss           0x00000219        0x0 obj\wdt.o
   .bss           0x00000219        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libgcc.a(_udivmod16.o)
   .bss           0x00000219        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_reset_vector__.o)
   .bss           0x00000219        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(__watchdog_support.o)
   .bss           0x00000219        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(__init_stack.o)
   .bss           0x00000219        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(__low_level_init.o)
   .bss           0x00000219        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_copy_data.o)
   .bss           0x00000219        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_clear_bss.o)
   .bss           0x00000219        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(__stop_progExec__.o)
   .bss           0x00000219        0x0 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_endless_loop__.o)
   *(COMMON)
                  0x0000021a                . = ALIGN (0x2)
   *fill*         0x00000219        0x1 00
                  0x0000021a                PROVIDE (__bss_end, .)
                  0x0000000c                PROVIDE (__bss_size, SIZEOF (.bss))
  
  .noinit         0x0000021a        0x2 load address 0x0000fdb2
                  0x0000021a                PROVIDE (__noinit_start, .)
   *(.noinit .noinit.*)
   .noinit.crt0   0x0000021a        0x2 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(__watchdog_support.o)
                  0x0000021a                __wdt_clear_value
                  0x0000021c                . = ALIGN (0x2)
                  0x0000021c                PROVIDE (__noinit_end, .)
                  0x0000021c                . = ALIGN (0x2)
                  0x0000021c                _end = .
  
  .infomem        0x00001000        0x0
   *(.infomem)
                  0x00001000                . = ALIGN (0x2)
   *(.infomem.*)
  
  .infomemnobits  0x00001000        0x0
   *(.infomemnobits)
                  0x00001000                . = ALIGN (0x2)
   *(.infomemnobits.*)
  
  .infoa
   *(.infoa .infoa.*)
  
  .infob
   *(.infob .infob.*)
  
  .infoc
   *(.infoc .infoc.*)
  
  .infod
   *(.infod .infod.*)
  
  .vectors        0x0000ffe0       0x20
                  0x0000ffe0                PROVIDE (__vectors_start, .)
   *(.vectors*)
   .vectors       0x0000ffe0       0x20 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3/crt0ivtbl16.o
                  0x0000ffe0                __ivtbl_16
                  0x00010000                _vectors_end = .
  
  .fartext        0x00000000        0x0
                  0x00000000                . = ALIGN (0x2)
   *(.fartext)
                  0x00000000                . = ALIGN (0x2)
   *(.fartext.*)
                  0x00000000                _efartext = .
  
  .profiler
   *(.profiler)
  
  .stab
   *(.stab)
  
  .stabstr
   *(.stabstr)
  
  .stab.excl
   *(.stab.excl)
  
  .stab.exclstr
   *(.stab.exclstr)
  
  .stab.index
   *(.stab.index)
  
  .stab.indexstr
   *(.stab.indexstr)
  
  .comment
   *(.comment)
  
  .debug
   *(.debug)
  
  .line
   *(.line)
  
  .debug_srcinfo
   *(.debug_srcinfo)
  
  .debug_sfnames
   *(.debug_sfnames)
  
  .debug_aranges  0x00000000      0x1b8
   *(.debug_aranges)
   .debug_aranges
                  0x00000000       0x14 obj\adc.o
   .debug_aranges
                  0x00000014       0x14 obj\adc_app.o
   .debug_aranges
                  0x00000028       0x14 obj\Clock.o
   .debug_aranges
                  0x0000003c       0x14 obj\dio.o
   .debug_aranges
                  0x00000050       0x14 obj\Error_Handler.o
   .debug_aranges
                  0x00000064       0x14 obj\Generic_Interrupt.o
   .debug_aranges
                  0x00000078       0x14 obj\MCU_Common.o
   .debug_aranges
                  0x0000008c       0x14 obj\main.o
   .debug_aranges
                  0x000000a0       0x14 obj\PID.o
   .debug_aranges
                  0x000000b4       0x14 obj\pwm.o
   .debug_aranges
                  0x000000c8       0x14 obj\Prog_Flow_Mon.o
   .debug_aranges
                  0x000000dc       0x14 obj\Shut_Down_TMR.o
   .debug_aranges
                  0x000000f0       0x14 obj\Scheduler.o
   .debug_aranges
                  0x00000104       0x14 obj\Sleep.o
   .debug_aranges
                  0x00000118       0x14 obj\Timer.o
   .debug_aranges
                  0x0000012c       0x14 obj\wdt.o
   .debug_aranges
                  0x00000140       0x14 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libgcc.a(_udivmod16.o)
   .debug_aranges
                  0x00000154       0x14 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(__watchdog_support.o)
   .debug_aranges
                  0x00000168       0x14 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(__init_stack.o)
   .debug_aranges
                  0x0000017c       0x14 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_copy_data.o)
   .debug_aranges
                  0x00000190       0x14 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_clear_bss.o)
   .debug_aranges
                  0x000001a4       0x14 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_endless_loop__.o)
  
  .debug_pubnames
   *(.debug_pubnames)
  
  .debug_info     0x00000000     0x1676
   *(.debug_info)
   .debug_info    0x00000000      0x244 obj\adc.o
   .debug_info    0x00000244      0x12f obj\adc_app.o
   .debug_info    0x00000373       0xc5 obj\Clock.o
   .debug_info    0x00000438      0x2f2 obj\dio.o
   .debug_info    0x0000072a      0x159 obj\Error_Handler.o
   .debug_info    0x00000883       0x88 obj\Generic_Interrupt.o
   .debug_info    0x0000090b      0x122 obj\MCU_Common.o
   .debug_info    0x00000a2d      0x124 obj\main.o
   .debug_info    0x00000b51       0xa6 obj\PID.o
   .debug_info    0x00000bf7      0x116 obj\pwm.o
   .debug_info    0x00000d0d      0x112 obj\Prog_Flow_Mon.o
   .debug_info    0x00000e1f       0xd4 obj\Shut_Down_TMR.o
   .debug_info    0x00000ef3      0x1d0 obj\Scheduler.o
   .debug_info    0x000010c3       0xb8 obj\Sleep.o
   .debug_info    0x0000117b       0xb3 obj\Timer.o
   .debug_info    0x0000122e      0x177 obj\wdt.o
   .debug_info    0x000013a5       0x8d c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libgcc.a(_udivmod16.o)
   .debug_info    0x00001432       0x74 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(__watchdog_support.o)
   .debug_info    0x000014a6       0x74 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(__init_stack.o)
   .debug_info    0x0000151a       0x74 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_copy_data.o)
   .debug_info    0x0000158e       0x74 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_clear_bss.o)
   .debug_info    0x00001602       0x74 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_endless_loop__.o)
   *(.gnu.linkonce.wi.*)
  
  .debug_abbrev   0x00000000      0x968
   *(.debug_abbrev)
   .debug_abbrev  0x00000000       0xef obj\adc.o
   .debug_abbrev  0x000000ef       0x84 obj\adc_app.o
   .debug_abbrev  0x00000173       0x5a obj\Clock.o
   .debug_abbrev  0x000001cd      0x116 obj\dio.o
   .debug_abbrev  0x000002e3       0x89 obj\Error_Handler.o
   .debug_abbrev  0x0000036c       0x3f obj\Generic_Interrupt.o
   .debug_abbrev  0x000003ab       0x6a obj\MCU_Common.o
   .debug_abbrev  0x00000415       0x66 obj\main.o
   .debug_abbrev  0x0000047b       0x5d obj\PID.o
   .debug_abbrev  0x000004d8       0x8d obj\pwm.o
   .debug_abbrev  0x00000565       0xac obj\Prog_Flow_Mon.o
   .debug_abbrev  0x00000611       0x6e obj\Shut_Down_TMR.o
   .debug_abbrev  0x0000067f       0xed obj\Scheduler.o
   .debug_abbrev  0x0000076c       0x71 obj\Sleep.o
   .debug_abbrev  0x000007dd       0x5a obj\Timer.o
   .debug_abbrev  0x00000837       0xb9 obj\wdt.o
   .debug_abbrev  0x000008f0       0x14 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libgcc.a(_udivmod16.o)
   .debug_abbrev  0x00000904       0x14 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(__watchdog_support.o)
   .debug_abbrev  0x00000918       0x14 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(__init_stack.o)
   .debug_abbrev  0x0000092c       0x14 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_copy_data.o)
   .debug_abbrev  0x00000940       0x14 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_clear_bss.o)
   .debug_abbrev  0x00000954       0x14 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_endless_loop__.o)
  
  .debug_line     0x00000000     0x1045
   *(.debug_line)
   .debug_line    0x00000000      0x157 obj\adc.o
   .debug_line    0x00000157       0xed obj\adc_app.o
   .debug_line    0x00000244       0xa9 obj\Clock.o
   .debug_line    0x000002ed      0x1b5 obj\dio.o
   .debug_line    0x000004a2      0x10f obj\Error_Handler.o
   .debug_line    0x000005b1       0x5f obj\Generic_Interrupt.o
   .debug_line    0x00000610       0x8d obj\MCU_Common.o
   .debug_line    0x0000069d       0xad obj\main.o
   .debug_line    0x0000074a       0xf3 obj\PID.o
   .debug_line    0x0000083d       0xd8 obj\pwm.o
   .debug_line    0x00000915       0xf9 obj\Prog_Flow_Mon.o
   .debug_line    0x00000a0e       0xec obj\Shut_Down_TMR.o
   .debug_line    0x00000afa      0x125 obj\Scheduler.o
   .debug_line    0x00000c1f       0x69 obj\Sleep.o
   .debug_line    0x00000c88       0xa2 obj\Timer.o
   .debug_line    0x00000d2a       0xd3 obj\wdt.o
   .debug_line    0x00000dfd       0x77 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libgcc.a(_udivmod16.o)
   .debug_line    0x00000e74       0x5c c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(__watchdog_support.o)
   .debug_line    0x00000ed0       0x5a c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(__init_stack.o)
   .debug_line    0x00000f2a       0x60 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_copy_data.o)
   .debug_line    0x00000f8a       0x60 c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_clear_bss.o)
   .debug_line    0x00000fea       0x5b c:/mspgcc/bin/../lib/gcc/msp430/4.6.3\libcrt0.a(_endless_loop__.o)
  
  .debug_frame    0x00000000      0x2ac
   *(.debug_frame)
   .debug_frame   0x00000000       0x30 obj\adc.o
   .debug_frame   0x00000030       0x1e obj\adc_app.o
   .debug_frame   0x0000004e       0x1e obj\Clock.o
   .debug_frame   0x0000006c       0x4e obj\dio.o
   .debug_frame   0x000000ba       0x24 obj\Error_Handler.o
   .debug_frame   0x000000de       0x2a obj\Generic_Interrupt.o
   .debug_frame   0x00000108       0x3e obj\MCU_Common.o
   .debug_frame   0x00000146       0x1e obj\main.o
   .debug_frame   0x00000164       0x1e obj\PID.o
   .debug_frame   0x00000182       0x2a obj\pwm.o
   .debug_frame   0x000001ac       0x1e obj\Prog_Flow_Mon.o
   .debug_frame   0x000001ca       0x1e obj\Shut_Down_TMR.o
   .debug_frame   0x000001e8       0x52 obj\Scheduler.o
   .debug_frame   0x0000023a       0x1e obj\Sleep.o
   .debug_frame   0x00000258       0x1e obj\Timer.o
   .debug_frame   0x00000276       0x36 obj\wdt.o
  
  .debug_str      0x00000000      0x8cf
   *(.debug_str)
   .debug_str     0x00000000      0x32c obj\adc.o
                                  0x37d (size before relaxing)
   .debug_str     0x0000032c       0x93 obj\adc_app.o
                                  0x1b2 (size before relaxing)
   .debug_str     0x000003bf       0x4d obj\Clock.o
                                  0x146 (size before relaxing)
   .debug_str     0x0000040c       0xf5 obj\dio.o
                                  0x39e (size before relaxing)
   .debug_str     0x00000501       0x51 obj\Error_Handler.o
                                  0x2c1 (size before relaxing)
   .debug_str     0x00000552       0x4c obj\Generic_Interrupt.o
                                  0x126 (size before relaxing)
   .debug_str     0x0000059e       0x42 obj\MCU_Common.o
                                  0x2a5 (size before relaxing)
   .debug_str     0x000005e0       0x20 obj\main.o
                                  0x288 (size before relaxing)
   .debug_str     0x00000600       0x20 obj\PID.o
                                  0x123 (size before relaxing)
   .debug_str     0x00000620       0x5b obj\pwm.o
                                  0x164 (size before relaxing)
   .debug_str     0x0000067b       0xb0 obj\Prog_Flow_Mon.o
                                  0x197 (size before relaxing)
   .debug_str     0x0000072b       0x4c obj\Shut_Down_TMR.o
                                  0x153 (size before relaxing)
   .debug_str     0x00000777       0x7e obj\Scheduler.o
                                  0x2ee (size before relaxing)
   .debug_str     0x000007f5       0x46 obj\Sleep.o
                                  0x126 (size before relaxing)
   .debug_str     0x0000083b       0x30 obj\Timer.o
                                  0x130 (size before relaxing)
   .debug_str     0x0000086b       0x64 obj\wdt.o
                                  0x2d3 (size before relaxing)
  
  .debug_loc      0x00000000      0x264
   *(.debug_loc)
   .debug_loc     0x00000000       0x26 obj\adc.o
   .debug_loc     0x00000026        0xc obj\adc_app.o
   .debug_loc     0x00000032      0x150 obj\dio.o
   .debug_loc     0x00000182       0x39 obj\Error_Handler.o
   .debug_loc     0x000001bb       0x2c obj\MCU_Common.o
   .debug_loc     0x000001e7       0x19 obj\pwm.o
   .debug_loc     0x00000200       0x64 obj\Scheduler.o
  
  .debug_macinfo
   *(.debug_macinfo)
  
  .debug_pubtypes
   *(.debug_pubtypes)
  
  .debug_ranges   0x00000000        0x8
   *(.debug_ranges)
   .debug_ranges  0x00000000        0x8 obj\main.o
                  0x00000280                PROVIDE (__stack, (ORIGIN (ram) + 0x80))
                  0x0000fda4                PROVIDE (__data_start_rom, _etext)
                  0x0000fdb2                PROVIDE (__data_end_rom, (_etext + SIZEOF (.data)))
  OUTPUT(bin\DUMMY.elf elf32-msp430)
  </code></pre>