Skip to content

Finding Out Total ROM/RAM Usage By Your Program

May 19, 2015

MCU architecture always come with fix ROM size and RAM size, thus it is good to know our current program ROM and RAM size. The place to look for such information is a file with extension ‘map’. Open up the map file would give you all sort of information about the program(e.g. how many bytes a function consume, where is the global variable located). Go to end of the file and you shall find the total ROM/RAM size being consume by your program. Below is one of the example:

MapFile

From above, total ROM usage would be 1256 bytes, while RAM usage will be 1640 bytes.

Refer below if you like to see the complete map file contents. This file is generated by Keil uVision target on STM32.

Component: ARM Compiler 5.05 update 1 (build 106) Tool: armlink [4d0efa]

==============================================================================

Section Cross References

    main.o(i.CPUInit) refers to main.o(i.GPIOInit) for GPIOInit
    main.o(i.CPUInit) refers to main.o(i.InterruptInit) for InterruptInit
    main.o(i.EXTI0_1_IRQHandler) refers to main.o(.data) for InputStateInterrupt
    main.o(i.InputRead) refers to main.o(.data) for InputStateInterrupt
    main.o(i.main) refers to main.o(i.CPUInit) for CPUInit
    main.o(i.main) refers to main.o(i.InputRead) for InputRead
    main.o(i.main) refers to main.o(.data) for InputStateInterrupt
    startup_stm32f030.o(STACK) refers (Special) to heapauxi.o(.text) for __use_two_region_memory
    startup_stm32f030.o(HEAP) refers (Special) to heapauxi.o(.text) for __use_two_region_memory
    startup_stm32f030.o(RESET) refers (Special) to heapauxi.o(.text) for __use_two_region_memory
    startup_stm32f030.o(RESET) refers to startup_stm32f030.o(STACK) for __initial_sp
    startup_stm32f030.o(RESET) refers to startup_stm32f030.o(.text) for Reset_Handler
    startup_stm32f030.o(RESET) refers to main.o(i.EXTI0_1_IRQHandler) for EXTI0_1_IRQHandler
    startup_stm32f030.o(.text) refers (Special) to heapauxi.o(.text) for __use_two_region_memory
    startup_stm32f030.o(.text) refers to startup_stm32f030.o(STACK) for __initial_sp
    startup_stm32f030.o(.text) refers to system_stm32f0xx.o(i.SystemInit) for SystemInit
    startup_stm32f030.o(.text) refers to __main.o(!!!main) for __main
    startup_stm32f030.o(.text) refers to startup_stm32f030.o(HEAP) for Heap_Mem
    system_stm32f0xx.o(i.SystemCoreClockUpdate) refers to aeabi_sdiv.o(.text) for __aeabi_uidivmod
    system_stm32f0xx.o(i.SystemCoreClockUpdate) refers to system_stm32f0xx.o(.data) for SystemCoreClock
    system_stm32f0xx.o(i.SystemInit) refers to system_stm32f0xx.o(i.SetSysClock) for SetSysClock
    __main.o(!!!main) refers to __rtentry.o(.ARM.Collect$$rtentry$$00000000) for __rt_entry
    __rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) for __rt_entry_li
    __rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) for __rt_entry_main
    __rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000C) for __rt_entry_postli_1
    __rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$00000009) for __rt_entry_postsh_1
    __rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$00000002) for __rt_entry_presh_1
    __rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry4.o(.ARM.Collect$$rtentry$$00000004) for __rt_entry_sh
    aeabi_idiv0_sigfpe.o(.text) refers to rt_div0.o(.text) for __rt_div0
    __rtentry2.o(.ARM.Collect$$rtentry$$00000008) refers to boardinit2.o(.text) for _platform_post_stackheap_init
    __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) refers to libinit.o(.ARM.Collect$$libinit$$00000000) for __rt_lib_init
    __rtentry2.o(.ARM.Collect$$rtentry$$0000000B) refers to boardinit3.o(.text) for _platform_post_lib_init
    __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) refers to main.o(i.main) for main
    __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) refers to exit.o(.text) for exit
    __rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$00000001) for .ARM.Collect$$rtentry$$00000001
    __rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$00000008) for .ARM.Collect$$rtentry$$00000008
    __rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) for .ARM.Collect$$rtentry$$0000000A
    __rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$0000000B) for .ARM.Collect$$rtentry$$0000000B
    __rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) for .ARM.Collect$$rtentry$$0000000D
    __rtentry4.o(.ARM.Collect$$rtentry$$00000004) refers to sys_stackheap_outer.o(.text) for __user_setup_stackheap
    __rtentry4.o(.ARM.exidx) refers to __rtentry4.o(.ARM.Collect$$rtentry$$00000004) for .ARM.Collect$$rtentry$$00000004
    rt_div0.o(.text) refers to defsig_fpe_outer.o(.text) for __rt_SIGFPE
    sys_stackheap_outer.o(.text) refers to libspace.o(.text) for __user_perproc_libspace
    sys_stackheap_outer.o(.text) refers to startup_stm32f030.o(.text) for __user_initial_stackheap
    sys_stackheap_outer.o(__vectab_stack_and_reset_area) refers to tempstk.o(.text) for __temporary_stack_top
    sys_stackheap_outer.o(__vectab_stack_and_reset_area) refers to __main.o(!!!main) for __main
    exit.o(.text) refers to rtexit.o(.ARM.Collect$$rtexit$$00000000) for __rt_exit
    defsig_fpe_outer.o(.text) refers to defsig_fpe_inner.o(.text) for __rt_SIGFPE_inner
    defsig_fpe_outer.o(.text) refers to defsig_exit.o(.text) for __sig_exit
    defsig_fpe_formal.o(.text) refers to rt_raise.o(.text) for __rt_raise
    libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000002E) for __rt_lib_init_alloca_1
    libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000002C) for __rt_lib_init_argv_1
    libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000001B) for __rt_lib_init_atexit_1
    libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000021) for __rt_lib_init_clock_1
    libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000032) for __rt_lib_init_cpp_1
    libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000030) for __rt_lib_init_exceptions_1
    libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000002) for __rt_lib_init_fp_1
    libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000001F) for __rt_lib_init_fp_trap_1
    libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000023) for __rt_lib_init_getenv_1
    libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000000A) for __rt_lib_init_heap_1
    libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000011) for __rt_lib_init_lc_collate_1
    libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000013) for __rt_lib_init_lc_ctype_1
    libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000015) for __rt_lib_init_lc_monetary_1
    libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000017) for __rt_lib_init_lc_numeric_1
    libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000019) for __rt_lib_init_lc_time_1
    libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000004) for __rt_lib_init_preinit_1
    libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000000E) for __rt_lib_init_rand_1
    libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000033) for __rt_lib_init_return
    libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000001D) for __rt_lib_init_signal_1
    libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000025) for __rt_lib_init_stdio_1
    libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000000C) for __rt_lib_init_user_alloc_1
    libspace.o(.text) refers to libspace.o(.bss) for __libspace_start
    rtexit.o(.ARM.Collect$$rtexit$$00000000) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000004) for __rt_exit_exit
    rtexit.o(.ARM.Collect$$rtexit$$00000000) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000003) for __rt_exit_ls
    rtexit.o(.ARM.Collect$$rtexit$$00000000) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000002) for __rt_exit_prels_1
    rtexit.o(.ARM.exidx) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000004) for __rt_exit_exit
    rtexit.o(.ARM.exidx) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000003) for __rt_exit_ls
    rtexit.o(.ARM.exidx) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000002) for __rt_exit_prels_1
    rtexit.o(.ARM.exidx) refers to rtexit.o(.ARM.Collect$$rtexit$$00000000) for .ARM.Collect$$rtexit$$00000000
    rt_raise.o(.text) refers to __raise.o(.text) for __raise
    rt_raise.o(.text) refers to sys_exit.o(.text) for _sys_exit
    defsig_exit.o(.text) refers to sys_exit.o(.text) for _sys_exit
    defsig_fpe_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
    libinit2.o(.ARM.Collect$$libinit$$00000010) refers to libinit2.o(.ARM.Collect$$libinit$$0000000F) for .ARM.Collect$$libinit$$0000000F
    libinit2.o(.ARM.Collect$$libinit$$00000012) refers to libinit2.o(.ARM.Collect$$libinit$$0000000F) for .ARM.Collect$$libinit$$0000000F
    libinit2.o(.ARM.Collect$$libinit$$00000014) refers to libinit2.o(.ARM.Collect$$libinit$$0000000F) for .ARM.Collect$$libinit$$0000000F
    libinit2.o(.ARM.Collect$$libinit$$00000016) refers to libinit2.o(.ARM.Collect$$libinit$$0000000F) for .ARM.Collect$$libinit$$0000000F
    libinit2.o(.ARM.Collect$$libinit$$00000018) refers to libinit2.o(.ARM.Collect$$libinit$$0000000F) for .ARM.Collect$$libinit$$0000000F
    libinit2.o(.ARM.Collect$$libinit$$00000026) refers to argv_veneer.o(.text) for __ARM_argv_veneer
    libinit2.o(.ARM.Collect$$libinit$$00000027) refers to argv_veneer.o(.text) for __ARM_argv_veneer
    sys_exit.o(.text) refers (Special) to use_no_semi.o(.text) for __I$use$semihosting
    sys_exit.o(.text) refers (Special) to indicate_semi.o(.text) for __semihosting_library_function
    rtexit2.o(.ARM.Collect$$rtexit$$00000003) refers to libshutdown.o(.ARM.Collect$$libshutdown$$00000000) for __rt_lib_shutdown
    rtexit2.o(.ARM.Collect$$rtexit$$00000004) refers to sys_exit.o(.text) for _sys_exit
    rtexit2.o(.ARM.exidx) refers to rtexit2.o(.ARM.Collect$$rtexit$$00000001) for .ARM.Collect$$rtexit$$00000001
    rtexit2.o(.ARM.exidx) refers to rtexit2.o(.ARM.Collect$$rtexit$$00000003) for .ARM.Collect$$rtexit$$00000003
    rtexit2.o(.ARM.exidx) refers to rtexit2.o(.ARM.Collect$$rtexit$$00000004) for .ARM.Collect$$rtexit$$00000004
    __raise.o(.text) refers to defsig.o(CL$$defsig) for __default_signal_handler
    defsig_general.o(.text) refers to sys_wrch.o(.text) for _ttywrch
    sys_wrch.o(.text) refers (Special) to use_no_semi.o(.text) for __I$use$semihosting
    sys_wrch.o(.text) refers (Special) to indicate_semi.o(.text) for __semihosting_library_function
    defsig.o(CL$$defsig) refers to defsig_fpe_inner.o(.text) for __rt_SIGFPE_inner
    defsig.o(CL$$defsig) refers to defsig_rtmem_inner.o(.text) for __rt_SIGRTMEM_inner
    _get_argv_nomalloc.o(.text) refers (Special) to hrguard.o(.text) for __heap_region$guard
    _get_argv_nomalloc.o(.text) refers to defsig_rtmem_outer.o(.text) for __rt_SIGRTMEM
    _get_argv_nomalloc.o(.text) refers to sys_command.o(.text) for _sys_command_string
    libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000006) for __rt_lib_shutdown_fp_trap_1
    libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E) for __rt_lib_shutdown_heap_1
    libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F) for __rt_lib_shutdown_return
    libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000009) for __rt_lib_shutdown_signal_1
    libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000003) for __rt_lib_shutdown_stdio_1
    libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$0000000B) for __rt_lib_shutdown_user_alloc_1
    sys_command.o(.text) refers (Special) to use_no_semi.o(.text) for __I$use$semihosting
    sys_command.o(.text) refers (Special) to indicate_semi.o(.text) for __semihosting_library_function
    defsig_abrt_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
    defsig_rtred_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
    defsig_rtmem_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
    defsig_rtmem_outer.o(.text) refers to defsig_rtmem_inner.o(.text) for __rt_SIGRTMEM_inner
    defsig_rtmem_outer.o(.text) refers to defsig_exit.o(.text) for __sig_exit
    defsig_rtmem_formal.o(.text) refers to rt_raise.o(.text) for __rt_raise
    defsig_stak_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
    defsig_pvfn_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
    defsig_cppl_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
    defsig_segv_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
    defsig_other.o(.text) refers to defsig_general.o(.text) for __default_signal_display


==============================================================================

Removing Unused input sections from the image.

    Removing main.o(.rev16_text), (4 bytes).
    Removing main.o(.revsh_text), (4 bytes).
    Removing system_stm32f0xx.o(.rev16_text), (4 bytes).
    Removing system_stm32f0xx.o(.revsh_text), (4 bytes).
    Removing system_stm32f0xx.o(i.SystemCoreClockUpdate), (176 bytes).
    Removing system_stm32f0xx.o(.data), (20 bytes).

6 unused section(s) (total 212 bytes) removed from the image.

==============================================================================

Image Symbol Table

    Local Symbols

    Symbol Name                              Value     Ov Type        Size  Object(Section)

    ../clib/angel/boardlib.s                 0x00000000   Number         0  boardinit3.o ABSOLUTE
    ../clib/angel/boardlib.s                 0x00000000   Number         0  boardinit2.o ABSOLUTE
    ../clib/angel/boardlib.s                 0x00000000   Number         0  boardinit1.o ABSOLUTE
    ../clib/angel/boardlib.s                 0x00000000   Number         0  boardshut.o ABSOLUTE
    ../clib/angel/handlers.s                 0x00000000   Number         0  __scatter_zi.o ABSOLUTE
    ../clib/angel/handlers.s                 0x00000000   Number         0  __scatter_copy.o ABSOLUTE
    ../clib/angel/kernel.s                   0x00000000   Number         0  __rtentry2.o ABSOLUTE
    ../clib/angel/kernel.s                   0x00000000   Number         0  rtexit2.o ABSOLUTE
    ../clib/angel/kernel.s                   0x00000000   Number         0  rtexit.o ABSOLUTE
    ../clib/angel/kernel.s                   0x00000000   Number         0  __rtentry.o ABSOLUTE
    ../clib/angel/kernel.s                   0x00000000   Number         0  __rtentry4.o ABSOLUTE
    ../clib/angel/rt.s                       0x00000000   Number         0  rt_raise.o ABSOLUTE
    ../clib/angel/rt.s                       0x00000000   Number         0  aeabi_idiv0_sigfpe.o ABSOLUTE
    ../clib/angel/rt.s                       0x00000000   Number         0  aeabi_idiv0.o ABSOLUTE
    ../clib/angel/rt.s                       0x00000000   Number         0  rt_div0.o ABSOLUTE
    ../clib/angel/scatterp.s                 0x00000000   Number         0  __scatter.o ABSOLUTE
    ../clib/angel/startup.s                  0x00000000   Number         0  __main.o ABSOLUTE
    ../clib/angel/sys.s                      0x00000000   Number         0  tempstk.o ABSOLUTE
    ../clib/angel/sys.s                      0x00000000   Number         0  libspace.o ABSOLUTE
    ../clib/angel/sys.s                      0x00000000   Number         0  use_no_semi.o ABSOLUTE
    ../clib/angel/sys.s                      0x00000000   Number         0  sys_stackheap_outer.o ABSOLUTE
    ../clib/angel/sys.s                      0x00000000   Number         0  indicate_semi.o ABSOLUTE
    ../clib/angel/sysapp.c                   0x00000000   Number         0  sys_command.o ABSOLUTE
    ../clib/angel/sysapp.c                   0x00000000   Number         0  sys_exit.o ABSOLUTE
    ../clib/angel/sysapp.c                   0x00000000   Number         0  sys_wrch.o ABSOLUTE
    ../clib/armsys.c                         0x00000000   Number         0  argv_veneer.o ABSOLUTE
    ../clib/armsys.c                         0x00000000   Number         0  _get_argv_nomalloc.o ABSOLUTE
    ../clib/armsys.c                         0x00000000   Number         0  no_argv.o ABSOLUTE
    ../clib/division.s                       0x00000000   Number         0  aeabi_sdiv_div0.o ABSOLUTE
    ../clib/division.s                       0x00000000   Number         0  aeabi_sdiv.o ABSOLUTE
    ../clib/heapalloc.c                      0x00000000   Number         0  hrguard.o ABSOLUTE
    ../clib/heapaux.c                        0x00000000   Number         0  heapauxi.o ABSOLUTE
    ../clib/libinit.s                        0x00000000   Number         0  libinit2.o ABSOLUTE
    ../clib/libinit.s                        0x00000000   Number         0  libshutdown.o ABSOLUTE
    ../clib/libinit.s                        0x00000000   Number         0  libinit.o ABSOLUTE
    ../clib/libinit.s                        0x00000000   Number         0  libshutdown2.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_exit.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_fpe_inner.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_rtred_inner.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_rtmem_inner.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_rtmem_outer.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_rtmem_formal.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_fpe_outer.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_fpe_formal.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_pvfn_inner.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_stak_inner.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_cppl_inner.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  __raise.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_segv_inner.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_abrt_inner.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_general.o ABSOLUTE
    ../clib/signal.c                         0x00000000   Number         0  defsig_other.o ABSOLUTE
    ../clib/signal.s                         0x00000000   Number         0  defsig.o ABSOLUTE
    ../clib/stdlib.c                         0x00000000   Number         0  exit.o ABSOLUTE
    ../fplib/cfplib/fpinit.c                 0x00000000   Number         0  fpinit.o ABSOLUTE
    RTE\Device\STM32F030R8\startup_stm32f030.s 0x00000000   Number         0  startup_stm32f030.o ABSOLUTE
    RTE\Device\STM32F030R8\system_stm32f0xx.c 0x00000000   Number         0  system_stm32f0xx.o ABSOLUTE
    RTE\\Device\\STM32F030R8\\system_stm32f0xx.c 0x00000000   Number         0  system_stm32f0xx.o ABSOLUTE
    dc.s                                     0x00000000   Number         0  dc.o ABSOLUTE
    main.c                                   0x00000000   Number         0  main.o ABSOLUTE
    main.c                                   0x00000000   Number         0  main.o ABSOLUTE
    RESET                                    0x08000000   Section      180  startup_stm32f030.o(RESET)
    !!!main                                  0x080000b4   Section        8  __main.o(!!!main)
    !!!scatter                               0x080000bc   Section       60  __scatter.o(!!!scatter)
    !!handler_copy                           0x080000f8   Section       26  __scatter_copy.o(!!handler_copy)
    !!handler_zi                             0x08000114   Section       28  __scatter_zi.o(!!handler_zi)
    .ARM.Collect$$libinit$$00000000          0x08000130   Section        2  libinit.o(.ARM.Collect$$libinit$$00000000)
    .ARM.Collect$$libinit$$00000002          0x08000132   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000002)
    .ARM.Collect$$libinit$$00000004          0x08000132   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000004)
    .ARM.Collect$$libinit$$0000000A          0x08000132   Section        0  libinit2.o(.ARM.Collect$$libinit$$0000000A)
    .ARM.Collect$$libinit$$0000000C          0x08000132   Section        0  libinit2.o(.ARM.Collect$$libinit$$0000000C)
    .ARM.Collect$$libinit$$0000000E          0x08000132   Section        0  libinit2.o(.ARM.Collect$$libinit$$0000000E)
    .ARM.Collect$$libinit$$00000011          0x08000132   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000011)
    .ARM.Collect$$libinit$$00000013          0x08000132   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000013)
    .ARM.Collect$$libinit$$00000015          0x08000132   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000015)
    .ARM.Collect$$libinit$$00000017          0x08000132   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000017)
    .ARM.Collect$$libinit$$00000019          0x08000132   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000019)
    .ARM.Collect$$libinit$$0000001B          0x08000132   Section        0  libinit2.o(.ARM.Collect$$libinit$$0000001B)
    .ARM.Collect$$libinit$$0000001D          0x08000132   Section        0  libinit2.o(.ARM.Collect$$libinit$$0000001D)
    .ARM.Collect$$libinit$$0000001F          0x08000132   Section        0  libinit2.o(.ARM.Collect$$libinit$$0000001F)
    .ARM.Collect$$libinit$$00000021          0x08000132   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000021)
    .ARM.Collect$$libinit$$00000023          0x08000132   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000023)
    .ARM.Collect$$libinit$$00000025          0x08000132   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000025)
    .ARM.Collect$$libinit$$0000002C          0x08000132   Section        0  libinit2.o(.ARM.Collect$$libinit$$0000002C)
    .ARM.Collect$$libinit$$0000002E          0x08000132   Section        0  libinit2.o(.ARM.Collect$$libinit$$0000002E)
    .ARM.Collect$$libinit$$00000030          0x08000132   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000030)
    .ARM.Collect$$libinit$$00000032          0x08000132   Section        0  libinit2.o(.ARM.Collect$$libinit$$00000032)
    .ARM.Collect$$libinit$$00000033          0x08000132   Section        2  libinit2.o(.ARM.Collect$$libinit$$00000033)
    .ARM.Collect$$libshutdown$$00000000      0x08000134   Section        2  libshutdown.o(.ARM.Collect$$libshutdown$$00000000)
    .ARM.Collect$$libshutdown$$00000003      0x08000136   Section        0  libshutdown2.o(.ARM.Collect$$libshutdown$$00000003)
    .ARM.Collect$$libshutdown$$00000006      0x08000136   Section        0  libshutdown2.o(.ARM.Collect$$libshutdown$$00000006)
    .ARM.Collect$$libshutdown$$00000009      0x08000136   Section        0  libshutdown2.o(.ARM.Collect$$libshutdown$$00000009)
    .ARM.Collect$$libshutdown$$0000000B      0x08000136   Section        0  libshutdown2.o(.ARM.Collect$$libshutdown$$0000000B)
    .ARM.Collect$$libshutdown$$0000000E      0x08000136   Section        0  libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E)
    .ARM.Collect$$libshutdown$$0000000F      0x08000136   Section        2  libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F)
    .ARM.Collect$$rtentry$$00000000          0x08000138   Section        0  __rtentry.o(.ARM.Collect$$rtentry$$00000000)
    .ARM.Collect$$rtentry$$00000002          0x08000138   Section        0  __rtentry2.o(.ARM.Collect$$rtentry$$00000002)
    .ARM.Collect$$rtentry$$00000004          0x08000138   Section        6  __rtentry4.o(.ARM.Collect$$rtentry$$00000004)
    .ARM.Collect$$rtentry$$00000009          0x0800013e   Section        0  __rtentry2.o(.ARM.Collect$$rtentry$$00000009)
    .ARM.Collect$$rtentry$$0000000A          0x0800013e   Section        4  __rtentry2.o(.ARM.Collect$$rtentry$$0000000A)
    .ARM.Collect$$rtentry$$0000000C          0x08000142   Section        0  __rtentry2.o(.ARM.Collect$$rtentry$$0000000C)
    .ARM.Collect$$rtentry$$0000000D          0x08000142   Section        8  __rtentry2.o(.ARM.Collect$$rtentry$$0000000D)
    .ARM.Collect$$rtexit$$00000000           0x0800014a   Section        2  rtexit.o(.ARM.Collect$$rtexit$$00000000)
    .ARM.Collect$$rtexit$$00000002           0x0800014c   Section        0  rtexit2.o(.ARM.Collect$$rtexit$$00000002)
    .ARM.Collect$$rtexit$$00000003           0x0800014c   Section        4  rtexit2.o(.ARM.Collect$$rtexit$$00000003)
    .ARM.Collect$$rtexit$$00000004           0x08000150   Section        6  rtexit2.o(.ARM.Collect$$rtexit$$00000004)
    .text                                    0x08000158   Section      116  startup_stm32f030.o(.text)
    .text                                    0x080001cc   Section        0  heapauxi.o(.text)
    .text                                    0x080001d2   Section       62  sys_stackheap_outer.o(.text)
    .text                                    0x08000210   Section        0  exit.o(.text)
    .text                                    0x0800021c   Section        8  libspace.o(.text)
    .text                                    0x08000224   Section        0  sys_exit.o(.text)
    .text                                    0x08000230   Section        2  use_no_semi.o(.text)
    .text                                    0x08000232   Section        0  indicate_semi.o(.text)
    i.CPUInit                                0x08000232   Section        0  main.o(i.CPUInit)
    i.EXTI0_1_IRQHandler                     0x08000240   Section        0  main.o(i.EXTI0_1_IRQHandler)
    i.GPIOInit                               0x08000278   Section        0  main.o(i.GPIOInit)
    i.InputRead                              0x080002c8   Section        0  main.o(i.InputRead)
    i.InterruptInit                          0x080002ec   Section        0  main.o(i.InterruptInit)
    i.SetSysClock                            0x08000334   Section        0  system_stm32f0xx.o(i.SetSysClock)
    SetSysClock                              0x08000335   Thumb Code   206  system_stm32f0xx.o(i.SetSysClock)
    i.SystemInit                             0x0800040c   Section        0  system_stm32f0xx.o(i.SystemInit)
    i.main                                   0x08000488   Section        0  main.o(i.main)
    .data                                    0x20000000   Section        1  main.o(.data)
    .bss                                     0x20000004   Section       96  libspace.o(.bss)
    HEAP                                     0x20000068   Section      512  startup_stm32f030.o(HEAP)
    Heap_Mem                                 0x20000068   Data         512  startup_stm32f030.o(HEAP)
    STACK                                    0x20000268   Section     1024  startup_stm32f030.o(STACK)
    Stack_Mem                                0x20000268   Data        1024  startup_stm32f030.o(STACK)
    __initial_sp                             0x20000668   Data           0  startup_stm32f030.o(STACK)

    Global Symbols

    Symbol Name                              Value     Ov Type        Size  Object(Section)

    BuildAttributes$$THM_ISAv3M$S$PE$A:L22$X:L11$S22$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OSPACE$ROPI$EBA8$UX$STANDARDLIB$REQ8$PRES8$EABIv2 0x00000000   Number         0  anon$$obj.o ABSOLUTE
    __ARM_use_no_argv                        0x00000000   Number         0  main.o ABSOLUTE
    __ARM_exceptions_init                     - Undefined Weak Reference
    __alloca_initialize                       - Undefined Weak Reference
    __arm_preinit_                            - Undefined Weak Reference
    __cpp_initialize__aeabi_                  - Undefined Weak Reference
    __cxa_finalize                            - Undefined Weak Reference
    __rt_locale                               - Undefined Weak Reference
    __sigvec_lookup                           - Undefined Weak Reference
    _atexit_init                              - Undefined Weak Reference
    _call_atexit_fns                          - Undefined Weak Reference
    _clock_init                               - Undefined Weak Reference
    _fp_trap_init                             - Undefined Weak Reference
    _fp_trap_shutdown                         - Undefined Weak Reference
    _get_lc_collate                           - Undefined Weak Reference
    _get_lc_ctype                             - Undefined Weak Reference
    _get_lc_monetary                          - Undefined Weak Reference
    _get_lc_numeric                           - Undefined Weak Reference
    _get_lc_time                              - Undefined Weak Reference
    _getenv_init                              - Undefined Weak Reference
    _handle_redirection                       - Undefined Weak Reference
    _init_alloc                               - Undefined Weak Reference
    _init_user_alloc                          - Undefined Weak Reference
    _initio                                   - Undefined Weak Reference
    _rand_init                                - Undefined Weak Reference
    _signal_finish                            - Undefined Weak Reference
    _signal_init                              - Undefined Weak Reference
    _terminate_alloc                          - Undefined Weak Reference
    _terminate_user_alloc                     - Undefined Weak Reference
    _terminateio                              - Undefined Weak Reference
    __Vectors_Size                           0x000000b4   Number         0  startup_stm32f030.o ABSOLUTE
    __Vectors                                0x08000000   Data           4  startup_stm32f030.o(RESET)
    __Vectors_End                            0x080000b4   Data           0  startup_stm32f030.o(RESET)
    __main                                   0x080000b5   Thumb Code     8  __main.o(!!!main)
    __scatterload                            0x080000bd   Thumb Code     0  __scatter.o(!!!scatter)
    __scatterload_rt2                        0x080000bd   Thumb Code    52  __scatter.o(!!!scatter)
    __scatterload_rt2_thumb_only             0x080000bd   Thumb Code     0  __scatter.o(!!!scatter)
    __scatterload_null                       0x080000cd   Thumb Code     0  __scatter.o(!!!scatter)
    __scatterload_copy                       0x080000f9   Thumb Code    26  __scatter_copy.o(!!handler_copy)
    __scatterload_zeroinit                   0x08000115   Thumb Code    28  __scatter_zi.o(!!handler_zi)
    __rt_lib_init                            0x08000131   Thumb Code     0  libinit.o(.ARM.Collect$$libinit$$00000000)
    __rt_lib_init_alloca_1                   0x08000133   Thumb Code     0  libinit2.o(.ARM.Collect$$libinit$$0000002E)
    __rt_lib_init_argv_1                     0x08000133   Thumb Code     0  libinit2.o(.ARM.Collect$$libinit$$0000002C)
    __rt_lib_init_atexit_1                   0x08000133   Thumb Code     0  libinit2.o(.ARM.Collect$$libinit$$0000001B)
    __rt_lib_init_clock_1                    0x08000133   Thumb Code     0  libinit2.o(.ARM.Collect$$libinit$$00000021)
    __rt_lib_init_cpp_1                      0x08000133   Thumb Code     0  libinit2.o(.ARM.Collect$$libinit$$00000032)
    __rt_lib_init_exceptions_1               0x08000133   Thumb Code     0  libinit2.o(.ARM.Collect$$libinit$$00000030)
    __rt_lib_init_fp_1                       0x08000133   Thumb Code     0  libinit2.o(.ARM.Collect$$libinit$$00000002)
    __rt_lib_init_fp_trap_1                  0x08000133   Thumb Code     0  libinit2.o(.ARM.Collect$$libinit$$0000001F)
    __rt_lib_init_getenv_1                   0x08000133   Thumb Code     0  libinit2.o(.ARM.Collect$$libinit$$00000023)
    __rt_lib_init_heap_1                     0x08000133   Thumb Code     0  libinit2.o(.ARM.Collect$$libinit$$0000000A)
    __rt_lib_init_lc_collate_1               0x08000133   Thumb Code     0  libinit2.o(.ARM.Collect$$libinit$$00000011)
    __rt_lib_init_lc_ctype_1                 0x08000133   Thumb Code     0  libinit2.o(.ARM.Collect$$libinit$$00000013)
    __rt_lib_init_lc_monetary_1              0x08000133   Thumb Code     0  libinit2.o(.ARM.Collect$$libinit$$00000015)
    __rt_lib_init_lc_numeric_1               0x08000133   Thumb Code     0  libinit2.o(.ARM.Collect$$libinit$$00000017)
    __rt_lib_init_lc_time_1                  0x08000133   Thumb Code     0  libinit2.o(.ARM.Collect$$libinit$$00000019)
    __rt_lib_init_preinit_1                  0x08000133   Thumb Code     0  libinit2.o(.ARM.Collect$$libinit$$00000004)
    __rt_lib_init_rand_1                     0x08000133   Thumb Code     0  libinit2.o(.ARM.Collect$$libinit$$0000000E)
    __rt_lib_init_return                     0x08000133   Thumb Code     0  libinit2.o(.ARM.Collect$$libinit$$00000033)
    __rt_lib_init_signal_1                   0x08000133   Thumb Code     0  libinit2.o(.ARM.Collect$$libinit$$0000001D)
    __rt_lib_init_stdio_1                    0x08000133   Thumb Code     0  libinit2.o(.ARM.Collect$$libinit$$00000025)
    __rt_lib_init_user_alloc_1               0x08000133   Thumb Code     0  libinit2.o(.ARM.Collect$$libinit$$0000000C)
    __rt_lib_shutdown                        0x08000135   Thumb Code     0  libshutdown.o(.ARM.Collect$$libshutdown$$00000000)
    __rt_lib_shutdown_fp_trap_1              0x08000137   Thumb Code     0  libshutdown2.o(.ARM.Collect$$libshutdown$$00000006)
    __rt_lib_shutdown_heap_1                 0x08000137   Thumb Code     0  libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E)
    __rt_lib_shutdown_return                 0x08000137   Thumb Code     0  libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F)
    __rt_lib_shutdown_signal_1               0x08000137   Thumb Code     0  libshutdown2.o(.ARM.Collect$$libshutdown$$00000009)
    __rt_lib_shutdown_stdio_1                0x08000137   Thumb Code     0  libshutdown2.o(.ARM.Collect$$libshutdown$$00000003)
    __rt_lib_shutdown_user_alloc_1           0x08000137   Thumb Code     0  libshutdown2.o(.ARM.Collect$$libshutdown$$0000000B)
    __rt_entry                               0x08000139   Thumb Code     0  __rtentry.o(.ARM.Collect$$rtentry$$00000000)
    __rt_entry_presh_1                       0x08000139   Thumb Code     0  __rtentry2.o(.ARM.Collect$$rtentry$$00000002)
    __rt_entry_sh                            0x08000139   Thumb Code     0  __rtentry4.o(.ARM.Collect$$rtentry$$00000004)
    __rt_entry_li                            0x0800013f   Thumb Code     0  __rtentry2.o(.ARM.Collect$$rtentry$$0000000A)
    __rt_entry_postsh_1                      0x0800013f   Thumb Code     0  __rtentry2.o(.ARM.Collect$$rtentry$$00000009)
    __rt_entry_main                          0x08000143   Thumb Code     0  __rtentry2.o(.ARM.Collect$$rtentry$$0000000D)
    __rt_entry_postli_1                      0x08000143   Thumb Code     0  __rtentry2.o(.ARM.Collect$$rtentry$$0000000C)
    __rt_exit                                0x0800014b   Thumb Code     0  rtexit.o(.ARM.Collect$$rtexit$$00000000)
    __rt_exit_ls                             0x0800014d   Thumb Code     0  rtexit2.o(.ARM.Collect$$rtexit$$00000003)
    __rt_exit_prels_1                        0x0800014d   Thumb Code     0  rtexit2.o(.ARM.Collect$$rtexit$$00000002)
    __rt_exit_exit                           0x08000151   Thumb Code     0  rtexit2.o(.ARM.Collect$$rtexit$$00000004)
    Reset_Handler                            0x08000159   Thumb Code    38  startup_stm32f030.o(.text)
    NMI_Handler                              0x0800017f   Thumb Code     2  startup_stm32f030.o(.text)
    HardFault_Handler                        0x08000181   Thumb Code     2  startup_stm32f030.o(.text)
    SVC_Handler                              0x08000183   Thumb Code     2  startup_stm32f030.o(.text)
    PendSV_Handler                           0x08000185   Thumb Code     2  startup_stm32f030.o(.text)
    SysTick_Handler                          0x08000187   Thumb Code     2  startup_stm32f030.o(.text)
    ADC1_IRQHandler                          0x08000189   Thumb Code     0  startup_stm32f030.o(.text)
    DMA1_Channel1_IRQHandler                 0x08000189   Thumb Code     0  startup_stm32f030.o(.text)
    DMA1_Channel2_3_IRQHandler               0x08000189   Thumb Code     0  startup_stm32f030.o(.text)
    DMA1_Channel4_5_IRQHandler               0x08000189   Thumb Code     0  startup_stm32f030.o(.text)
    EXTI2_3_IRQHandler                       0x08000189   Thumb Code     0  startup_stm32f030.o(.text)
    EXTI4_15_IRQHandler                      0x08000189   Thumb Code     0  startup_stm32f030.o(.text)
    FLASH_IRQHandler                         0x08000189   Thumb Code     0  startup_stm32f030.o(.text)
    I2C1_IRQHandler                          0x08000189   Thumb Code     0  startup_stm32f030.o(.text)
    I2C2_IRQHandler                          0x08000189   Thumb Code     0  startup_stm32f030.o(.text)
    RCC_IRQHandler                           0x08000189   Thumb Code     0  startup_stm32f030.o(.text)
    RTC_IRQHandler                           0x08000189   Thumb Code     0  startup_stm32f030.o(.text)
    SPI1_IRQHandler                          0x08000189   Thumb Code     0  startup_stm32f030.o(.text)
    SPI2_IRQHandler                          0x08000189   Thumb Code     0  startup_stm32f030.o(.text)
    TIM14_IRQHandler                         0x08000189   Thumb Code     0  startup_stm32f030.o(.text)
    TIM15_IRQHandler                         0x08000189   Thumb Code     0  startup_stm32f030.o(.text)
    TIM16_IRQHandler                         0x08000189   Thumb Code     0  startup_stm32f030.o(.text)
    TIM17_IRQHandler                         0x08000189   Thumb Code     0  startup_stm32f030.o(.text)
    TIM1_BRK_UP_TRG_COM_IRQHandler           0x08000189   Thumb Code     0  startup_stm32f030.o(.text)
    TIM1_CC_IRQHandler                       0x08000189   Thumb Code     0  startup_stm32f030.o(.text)
    TIM3_IRQHandler                          0x08000189   Thumb Code     0  startup_stm32f030.o(.text)
    USART1_IRQHandler                        0x08000189   Thumb Code     0  startup_stm32f030.o(.text)
    USART2_IRQHandler                        0x08000189   Thumb Code     0  startup_stm32f030.o(.text)
    WWDG_IRQHandler                          0x08000189   Thumb Code     0  startup_stm32f030.o(.text)
    __user_initial_stackheap                 0x0800018d   Thumb Code     0  startup_stm32f030.o(.text)
    __use_two_region_memory                  0x080001cd   Thumb Code     2  heapauxi.o(.text)
    __rt_heap_escrow$2region                 0x080001cf   Thumb Code     2  heapauxi.o(.text)
    __rt_heap_expand$2region                 0x080001d1   Thumb Code     2  heapauxi.o(.text)
    __user_setup_stackheap                   0x080001d3   Thumb Code    62  sys_stackheap_outer.o(.text)
    exit                                     0x08000211   Thumb Code    12  exit.o(.text)
    __user_libspace                          0x0800021d   Thumb Code     8  libspace.o(.text)
    __user_perproc_libspace                  0x0800021d   Thumb Code     0  libspace.o(.text)
    __user_perthread_libspace                0x0800021d   Thumb Code     0  libspace.o(.text)
    _sys_exit                                0x08000225   Thumb Code     8  sys_exit.o(.text)
    __I$use$semihosting                      0x08000231   Thumb Code     0  use_no_semi.o(.text)
    __use_no_semihosting_swi                 0x08000231   Thumb Code     2  use_no_semi.o(.text)
    CPUInit                                  0x08000233   Thumb Code    12  main.o(i.CPUInit)
    __semihosting_library_function           0x08000233   Thumb Code     0  indicate_semi.o(.text)
    EXTI0_1_IRQHandler                       0x08000241   Thumb Code    48  main.o(i.EXTI0_1_IRQHandler)
    GPIOInit                                 0x08000279   Thumb Code    72  main.o(i.GPIOInit)
    InputRead                                0x080002c9   Thumb Code    30  main.o(i.InputRead)
    InterruptInit                            0x080002ed   Thumb Code    58  main.o(i.InterruptInit)
    SystemInit                               0x0800040d   Thumb Code   110  system_stm32f0xx.o(i.SystemInit)
    main                                     0x08000489   Thumb Code    50  main.o(i.main)
    Region$$Table$$Base                      0x080004c4   Number         0  anon$$obj.o(Region$$Table)
    Region$$Table$$Limit                     0x080004e4   Number         0  anon$$obj.o(Region$$Table)
    InputStateInterrupt                      0x20000000   Data           1  main.o(.data)
    __libspace_start                         0x20000004   Data          96  libspace.o(.bss)
    __temporary_stack_top$libspace           0x20000064   Data           0  libspace.o(.bss)



==============================================================================

Memory Map of the image

  Image Entry point : 0x080000b5

  Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000004e8, Max: 0x00010000, ABSOLUTE)

    Execution Region ER_IROM1 (Base: 0x08000000, Size: 0x000004e4, Max: 0x00010000, ABSOLUTE)

    Base Addr    Size         Type   Attr      Idx    E Section Name        Object

    0x08000000   0x000000b4   Data   RO           78    RESET               startup_stm32f030.o
    0x080000b4   0x00000008   Code   RO          128  * !!!main             c_p.l(__main.o)
    0x080000bc   0x0000003c   Code   RO          296    !!!scatter          c_p.l(__scatter.o)
    0x080000f8   0x0000001a   Code   RO          298    !!handler_copy      c_p.l(__scatter_copy.o)
    0x08000112   0x00000002   PAD
    0x08000114   0x0000001c   Code   RO          300    !!handler_zi        c_p.l(__scatter_zi.o)
    0x08000130   0x00000002   Code   RO          166    .ARM.Collect$$libinit$$00000000  c_p.l(libinit.o)
    0x08000132   0x00000000   Code   RO          180    .ARM.Collect$$libinit$$00000002  c_p.l(libinit2.o)
    0x08000132   0x00000000   Code   RO          182    .ARM.Collect$$libinit$$00000004  c_p.l(libinit2.o)
    0x08000132   0x00000000   Code   RO          185    .ARM.Collect$$libinit$$0000000A  c_p.l(libinit2.o)
    0x08000132   0x00000000   Code   RO          187    .ARM.Collect$$libinit$$0000000C  c_p.l(libinit2.o)
    0x08000132   0x00000000   Code   RO          189    .ARM.Collect$$libinit$$0000000E  c_p.l(libinit2.o)
    0x08000132   0x00000000   Code   RO          192    .ARM.Collect$$libinit$$00000011  c_p.l(libinit2.o)
    0x08000132   0x00000000   Code   RO          194    .ARM.Collect$$libinit$$00000013  c_p.l(libinit2.o)
    0x08000132   0x00000000   Code   RO          196    .ARM.Collect$$libinit$$00000015  c_p.l(libinit2.o)
    0x08000132   0x00000000   Code   RO          198    .ARM.Collect$$libinit$$00000017  c_p.l(libinit2.o)
    0x08000132   0x00000000   Code   RO          200    .ARM.Collect$$libinit$$00000019  c_p.l(libinit2.o)
    0x08000132   0x00000000   Code   RO          202    .ARM.Collect$$libinit$$0000001B  c_p.l(libinit2.o)
    0x08000132   0x00000000   Code   RO          204    .ARM.Collect$$libinit$$0000001D  c_p.l(libinit2.o)
    0x08000132   0x00000000   Code   RO          206    .ARM.Collect$$libinit$$0000001F  c_p.l(libinit2.o)
    0x08000132   0x00000000   Code   RO          208    .ARM.Collect$$libinit$$00000021  c_p.l(libinit2.o)
    0x08000132   0x00000000   Code   RO          210    .ARM.Collect$$libinit$$00000023  c_p.l(libinit2.o)
    0x08000132   0x00000000   Code   RO          212    .ARM.Collect$$libinit$$00000025  c_p.l(libinit2.o)
    0x08000132   0x00000000   Code   RO          216    .ARM.Collect$$libinit$$0000002C  c_p.l(libinit2.o)
    0x08000132   0x00000000   Code   RO          218    .ARM.Collect$$libinit$$0000002E  c_p.l(libinit2.o)
    0x08000132   0x00000000   Code   RO          220    .ARM.Collect$$libinit$$00000030  c_p.l(libinit2.o)
    0x08000132   0x00000000   Code   RO          222    .ARM.Collect$$libinit$$00000032  c_p.l(libinit2.o)
    0x08000132   0x00000002   Code   RO          223    .ARM.Collect$$libinit$$00000033  c_p.l(libinit2.o)
    0x08000134   0x00000002   Code   RO          254    .ARM.Collect$$libshutdown$$00000000  c_p.l(libshutdown.o)
    0x08000136   0x00000000   Code   RO          281    .ARM.Collect$$libshutdown$$00000003  c_p.l(libshutdown2.o)
    0x08000136   0x00000000   Code   RO          284    .ARM.Collect$$libshutdown$$00000006  c_p.l(libshutdown2.o)
    0x08000136   0x00000000   Code   RO          287    .ARM.Collect$$libshutdown$$00000009  c_p.l(libshutdown2.o)
    0x08000136   0x00000000   Code   RO          289    .ARM.Collect$$libshutdown$$0000000B  c_p.l(libshutdown2.o)
    0x08000136   0x00000000   Code   RO          292    .ARM.Collect$$libshutdown$$0000000E  c_p.l(libshutdown2.o)
    0x08000136   0x00000002   Code   RO          293    .ARM.Collect$$libshutdown$$0000000F  c_p.l(libshutdown2.o)
    0x08000138   0x00000000   Code   RO          130    .ARM.Collect$$rtentry$$00000000  c_p.l(__rtentry.o)
    0x08000138   0x00000000   Code   RO          136    .ARM.Collect$$rtentry$$00000002  c_p.l(__rtentry2.o)
    0x08000138   0x00000006   Code   RO          148    .ARM.Collect$$rtentry$$00000004  c_p.l(__rtentry4.o)
    0x0800013e   0x00000000   Code   RO          138    .ARM.Collect$$rtentry$$00000009  c_p.l(__rtentry2.o)
    0x0800013e   0x00000004   Code   RO          139    .ARM.Collect$$rtentry$$0000000A  c_p.l(__rtentry2.o)
    0x08000142   0x00000000   Code   RO          141    .ARM.Collect$$rtentry$$0000000C  c_p.l(__rtentry2.o)
    0x08000142   0x00000008   Code   RO          142    .ARM.Collect$$rtentry$$0000000D  c_p.l(__rtentry2.o)
    0x0800014a   0x00000002   Code   RO          171    .ARM.Collect$$rtexit$$00000000  c_p.l(rtexit.o)
    0x0800014c   0x00000000   Code   RO          227    .ARM.Collect$$rtexit$$00000002  c_p.l(rtexit2.o)
    0x0800014c   0x00000004   Code   RO          228    .ARM.Collect$$rtexit$$00000003  c_p.l(rtexit2.o)
    0x08000150   0x00000006   Code   RO          229    .ARM.Collect$$rtexit$$00000004  c_p.l(rtexit2.o)
    0x08000156   0x00000002   PAD
    0x08000158   0x00000074   Code   RO           79    .text               startup_stm32f030.o
    0x080001cc   0x00000006   Code   RO          126    .text               c_p.l(heapauxi.o)
    0x080001d2   0x0000003e   Code   RO          152    .text               c_p.l(sys_stackheap_outer.o)
    0x08000210   0x0000000c   Code   RO          155    .text               c_p.l(exit.o)
    0x0800021c   0x00000008   Code   RO          167    .text               c_p.l(libspace.o)
    0x08000224   0x0000000c   Code   RO          224    .text               c_p.l(sys_exit.o)
    0x08000230   0x00000002   Code   RO          243    .text               c_p.l(use_no_semi.o)
    0x08000232   0x00000000   Code   RO          245    .text               c_p.l(indicate_semi.o)
    0x08000232   0x0000000c   Code   RO            3    i.CPUInit           main.o
    0x0800023e   0x00000002   PAD
    0x08000240   0x00000038   Code   RO            4    i.EXTI0_1_IRQHandler  main.o
    0x08000278   0x00000050   Code   RO            5    i.GPIOInit          main.o
    0x080002c8   0x00000024   Code   RO            6    i.InputRead         main.o
    0x080002ec   0x00000048   Code   RO            7    i.InterruptInit     main.o
    0x08000334   0x000000d8   Code   RO           85    i.SetSysClock       system_stm32f0xx.o
    0x0800040c   0x0000007c   Code   RO           87    i.SystemInit        system_stm32f0xx.o
    0x08000488   0x0000003c   Code   RO            8    i.main              main.o
    0x080004c4   0x00000020   Data   RO          294    Region$$Table       anon$$obj.o


    Execution Region RW_IRAM1 (Base: 0x20000000, Size: 0x00000668, Max: 0x00002000, ABSOLUTE)

    Base Addr    Size         Type   Attr      Idx    E Section Name        Object

    0x20000000   0x00000001   Data   RW            9    .data               main.o
    0x20000001   0x00000003   PAD
    0x20000004   0x00000060   Zero   RW          168    .bss                c_p.l(libspace.o)
    0x20000064   0x00000004   PAD
    0x20000068   0x00000200   Zero   RW           77    HEAP                startup_stm32f030.o
    0x20000268   0x00000400   Zero   RW           76    STACK               startup_stm32f030.o


==============================================================================

Image component sizes


      Code (inc. data)   RO Data    RW Data    ZI Data      Debug   Object Name

       316         46          0          1          0       7275   main.o
       116         56        180          0       1536        684   startup_stm32f030.o
       340         24          0          0          0       1525   system_stm32f0xx.o

    ----------------------------------------------------------------------
       774        126        212          4       1536       9484   Object Totals
         0          0         32          0          0          0   (incl. Generated)
         2          0          0          3          0          0   (incl. Padding)

    ----------------------------------------------------------------------

      Code (inc. data)   RO Data    RW Data    ZI Data      Debug   Library Member Name

         8          0          0          0          0         68   __main.o
         0          0          0          0          0          0   __rtentry.o
        12          0          0          0          0          0   __rtentry2.o
         6          0          0          0          0          0   __rtentry4.o
        60          8          0          0          0          0   __scatter.o
        26          0          0          0          0          0   __scatter_copy.o
        28          0          0          0          0          0   __scatter_zi.o
        12          0          0          0          0         64   exit.o
         6          0          0          0          0        136   heapauxi.o
         0          0          0          0          0          0   indicate_semi.o
         2          0          0          0          0          0   libinit.o
         2          0          0          0          0          0   libinit2.o
         2          0          0          0          0          0   libshutdown.o
         2          0          0          0          0          0   libshutdown2.o
         8          4          0          0         96         68   libspace.o
         2          0          0          0          0          0   rtexit.o
        10          0          0          0          0          0   rtexit2.o
        12          4          0          0          0         60   sys_exit.o
        62          0          0          0          0         80   sys_stackheap_outer.o
         2          0          0          0          0         68   use_no_semi.o

    ----------------------------------------------------------------------
       266         16          0          0        100        544   Library Totals
         4          0          0          0          4          0   (incl. Padding)

    ----------------------------------------------------------------------

      Code (inc. data)   RO Data    RW Data    ZI Data      Debug   Library Name

       262         16          0          0         96        544   c_p.l

    ----------------------------------------------------------------------
       266         16          0          0        100        544   Library Totals

    ----------------------------------------------------------------------

==============================================================================


      Code (inc. data)   RO Data    RW Data    ZI Data      Debug   

      1040        142        212          4       1636       9628   Grand Totals
      1040        142        212          4       1636       9628   ELF Image Totals
      1040        142        212          4          0          0   ROM Totals

==============================================================================

    Total RO  Size (Code + RO Data)                 1252 (   1.22kB)
    Total RW  Size (RW Data + ZI Data)              1640 (   1.60kB)
    Total ROM Size (Code + RO Data + RW Data)       1256 (   1.23kB)

==============================================================================
Advertisements

From → Embedded System

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: