# Static Call Graph for image D:\ARM\LPC2103\Keil\ILI9325P_8BIT Demo\ILI9325P 8BIT Demo.axf

#<CALLGRAPH># ARM Linker, RVCT4.0 [Build 524]: Last Updated: Mon May 31 11:20:22 2010

### Maximum Stack Usage = 40 bytes + Unknown(Functions without stacksize, Untraceable Function Pointers)

### Call chain for Maximum Stack Depth:

main ⇒ cDispClearDevice ⇒ cDispSetAddress

### Functions with no stack information

- __user_initial_stackheap

### Function Pointers

- main
- __I$use$semihosting

### Global Symbols

__main (ARM, 8 bytes, Stack size 0 bytes, __main.o(!!!main))
[Calls]

- >> __scatterload
- >> __rt_entry

__scatterload (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
[Called By]

- >> __main

__scatterload_rt2 (ARM, 52 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
[Calls]

- >> __rt_entry

__scatterload_null (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)

__scatterload_zeroinit (ARM, 44 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)

__rt_lib_init (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000))
[Calls]

- >> _fp_init (via Veneer)

[Called By]

- >> __rt_entry_li (via Veneer)

__rt_lib_init_alloca_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002A))

__rt_lib_init_argv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000028))

__rt_lib_init_atexit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017))

__rt_lib_init_clock_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D))

__rt_lib_init_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E))

__rt_lib_init_exceptions_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002C))

__rt_lib_init_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B))

__rt_lib_init_getenv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F))

__rt_lib_init_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000006))

__rt_lib_init_lc_collate_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000D))

__rt_lib_init_lc_ctype_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000F))

__rt_lib_init_lc_monetary_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000011))

__rt_lib_init_lc_numeric_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013))

__rt_lib_init_lc_time_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015))

__rt_lib_init_rand_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000A))

__rt_lib_init_return (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002F))

__rt_lib_init_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019))

__rt_lib_init_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021))

__rt_lib_init_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000008))

__rt_lib_shutdown (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000))
[Called By]

- >> __rt_exit_ls (via Veneer)

__rt_lib_shutdown_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000006))

__rt_lib_shutdown_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E))

__rt_lib_shutdown_return (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F))

__rt_lib_shutdown_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000009))

__rt_lib_shutdown_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000003))

__rt_lib_shutdown_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000B))

__rt_entry (ARM, 0 bytes, Stack size unknown bytes, rtentry.o(.ARM.Collect$$rtentry$$00000000))
[Called By]

- >> __scatterload_rt2
- >> __main

__rt_entry_presh_1 (ARM, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$00000002))

__rt_entry_sh (ARM, 0 bytes, Stack size unknown bytes, rtentry4.o(.ARM.Collect$$rtentry$$00000004))
[Stack]

- Max Depth = 8 + Unknown Stack Size
- Call Chain = __rt_entry_sh ⇒ __user_setup_stackheap

[Calls]

- >> __user_setup_stackheap

__rt_entry_li (ARM, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$0000000A))
[Calls]

- >> __rt_lib_init (via Veneer)

__rt_entry_postsh_1 (ARM, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$00000009))

__rt_entry_main (ARM, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$0000000D))
[Calls]

- >> exit (via BX)

__rt_entry_postli_1 (ARM, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$0000000C))

__rt_exit (ARM, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000))
[Called By]

- >> exit (via Veneer)

__rt_exit_ls (ARM, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000003))
[Calls]

- >> __rt_lib_shutdown (via Veneer)

__rt_exit_prels_1 (ARM, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))

__rt_exit_exit (ARM, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004))
[Calls]

- >> _sys_exit

__user_initial_stackheap (ARM, 0 bytes, Stack size unknown bytes, startup.o(.text))
[Called By]

- >> __user_setup_stackheap

sysInit (ARM, 116 bytes, Stack size 0 bytes, system.o(.text))
[Called By]

- >> main

DelayMs (ARM, 116 bytes, Stack size 0 bytes, tmr0.o(.text))
[Called By]

- >> main
- >> cDispInit

cDispWrDat (ARM, 152 bytes, Stack size 0 bytes, ili9325p_8bit.o(.text))
[Called By]

- >> cDispClearDevice
- >> cDispSetAddress
- >> cDispSetReg

cDispWrCmd (ARM, 136 bytes, Stack size 0 bytes, ili9325p_8bit.o(.text))
[Called By]

- >> cDispSetAddress
- >> cDispSetReg

cDispSetReg (ARM, 44 bytes, Stack size 16 bytes, ili9325p_8bit.o(.text))
[Stack]

- Max Depth = 16
- Call Chain = cDispSetReg

[Calls]

- >> cDispWrCmd
- >> cDispWrDat

[Called By]

- >> cDispInit

cDispInitPort (ARM, 200 bytes, Stack size 0 bytes, ili9325p_8bit.o(.text))
[Called By]

- >> cDispInit

cDispInit (ARM, 764 bytes, Stack size 8 bytes, ili9325p_8bit.o(.text))
[Stack]

- Max Depth = 24
- Call Chain = cDispInit ⇒ cDispSetReg

[Calls]

- >> cDispInitPort
- >> cDispSetReg
- >> DelayMs

[Called By]

- >> main

cDispSetAddress (ARM, 72 bytes, Stack size 16 bytes, ili9325p_8bit.o(.text))
[Stack]

- Max Depth = 16
- Call Chain = cDispSetAddress

[Calls]

- >> cDispWrCmd
- >> cDispWrDat

[Called By]

- >> cDispClearDevice

cDispClearDevice (ARM, 108 bytes, Stack size 16 bytes, ili9325p_8bit.o(.text))
[Stack]

- Max Depth = 32
- Call Chain = cDispClearDevice ⇒ cDispSetAddress

[Calls]

- >> cDispSetAddress
- >> cDispWrDat

[Called By]

- >> main

main (ARM, 148 bytes, Stack size 8 bytes, ili9325p demo.o(.text))
[Stack]

- Max Depth = 40
- Call Chain = main ⇒ cDispClearDevice ⇒ cDispSetAddress

[Calls]

- >> cDispClearDevice
- >> cDispInit
- >> DelayMs
- >> sysInit

[Address Reference Count : 1]

- rtentry2.o(.ARM.Collect$$rtentry$$0000000D)

__use_two_region_memory (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

__rt_heap_escrow$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

__rt_heap_expand$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

__user_setup_stackheap (ARM, 96 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))
[Stack]

- Max Depth = 8 + Unknown Stack Size
- Call Chain = __user_setup_stackheap

[Calls]

- >> __user_perproc_libspace
- >> __user_initial_stackheap

[Called By]

- >> __rt_entry_sh

exit (Thumb, 12 bytes, Stack size 0 bytes, exit.o(.text))
[Calls]

- >> __rt_exit (via Veneer)
- >> _call_atexit_fns (Weak Reference)

[Called By]

- >> __rt_entry_main

__user_libspace (ARM, 12 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)

__user_perproc_libspace (ARM, 0 bytes, Stack size 0 bytes, libspace.o(.text))
[Called By]

- >> __user_setup_stackheap

__user_perthread_libspace (ARM, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)

_sys_exit (ARM, 20 bytes, Stack size 0 bytes, sys_exit.o(.text))
[Called By]

- >> __rt_exit_exit

__I$use$semihosting (ARM, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text))
[Address Reference Count : 1]

- sys_exit.o(.text)

__use_no_semihosting_swi (ARM, 4 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)

__fplib_config_pureend_doubles (ARM, 0 bytes, Stack size 0 bytes, fpinit.o(x$fpl$fpinit), UNUSED)

_fp_init (ARM, 4 bytes, Stack size 0 bytes, fpinit.o(x$fpl$fpinit))
[Called By]

- >> __rt_lib_init (via Veneer)

### Local Symbols

### Undefined Global Symbols

_call_atexit_fns (ARM, 0 bytes, Stack size 0 bytes, UNDEFINED)
[Called By]

- >> exit