# Static Call Graph for image .\at91sam7s256-flash\at91sam7s256-flash.axf

#<CALLGRAPH># ARM Linker, 4.1 [Build 894]: Last Updated: Wed May 16 21:26:26 2012

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

### Call chain for Maximum Stack Depth:

main ⇒ AT91F_TWI_Open ⇒ TWI_ConfigureMaster ⇒ pow ⇒ sqrt ⇒ _dsqrt ⇒ __fpl_dnaninf

### Functions with no stack information

- resetHandler
- label

### Mutually Recursive functions

- init_STN ⇒ init_STN

  ### Function Pointers

  - ADC_CfgModeReg from adc.o(.text) referenced from main.o(.text)
  - AT91F_TWI_ReadSingleIadr from twi.o(.text) referenced from main.o(.text)
  - CDCDSerialDriver_SetLineCodingCallback from cdcdserialdriver.o(.text) referenced from cdcdserialdriver.o(.text)
  - Configure_SPI from main.o(.text) referenced from palubni_pocitac.o(.text)
  - ISR_Bp1 from main.o(.text) referenced from main.o(.text)
  - ISR_Bp2 from main.o(.text) referenced from main.o(.text)
  - ISR_Bp3 from main.o(.text) referenced from main.o(.text)
  - ISR_Bp4 from main.o(.text) referenced from main.o(.text)
  - ISR_Pit from main.o(.text) referenced from palubni_pocitac.o(.text)
  - ISR_Tc2 from main.o(.text) referenced from main.o(.text)
  - ISR_Timer0 from main.o(.text) referenced 2 times from main.o(.text)
  - ISR_Usart0 from main.o(.text) referenced from main.o(.text)
  - ISR_Vbus from main.o(.text) referenced from main.o(.text)
  - InterruptHandler from pio_it.o(.text) referenced from pio_it.o(.text)
  - LowLevelInit from board_lowlevel.o(.text) referenced from board_cstartup_keil.o(cstartup)
  - USBD_InterruptHandler from usbd_udp.o(.text) referenced from usbdcallbacks_initialized.o(.text)
  - USBD_SetAddress from usbd_udp.o(.text) referenced from usbddriver.o(.text)
  - UsbDataReceived from main.o(.text) referenced 2 times from main.o(.text)
  - VBus_Configure from main.o(.text) referenced from palubni_pocitac.o(.text)
  - __main from __main.o(!!!main) referenced from board_cstartup_keil.o(cstartup)
  - defaultFiqHandler from board_lowlevel.o(.text) referenced from board_lowlevel.o(.text)
  - defaultIrqHandler from board_lowlevel.o(.text) referenced from board_lowlevel.o(.text)
  - delay2 from main.o(.text) referenced from palubni_pocitac.o(.text)
  - drawPutc from dogxl.o(.text) referenced from dogxl.o(.text)
  - label from board_cstartup_keil.o(cstartup) referenced from board_cstartup_keil.o(cstartup)
  - main from main.o(.text) referenced from rtentry2.o(.ARM.Collect$$rtentry$$0000000D)
  - main from main.o(.text) referenced from palubni_pocitac.o(.text)
  - resetHandler from board_cstartup_keil.o(cstartup) referenced from board_cstartup_keil.o(VECTOR)
  - spi9DataIO from spi.o(.text) referenced from main.o(.text)

  ### Global Symbols

  resetHandler (ARM, 0 bytes, Stack size unknown bytes, board_cstartup_keil.o(cstartup))

  __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)

  __decompress (ARM, 92 bytes, Stack size unknown bytes, __dczerorl2.o(!!dczerorl2), UNUSED)

  __decompress1 (ARM, 0 bytes, Stack size unknown bytes, __dczerorl2.o(!!dczerorl2), UNUSED)

  __scatterload_copy (ARM, 40 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
  [Calls]

  - >> __scatterload_copy
  [Called By]
  - >> __scatterload_copy

  __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))
  [Stack]

  - Max Depth = 8 + Unknown Stack Size
  - Call Chain = __rt_lib_init ⇒ _fp_init
  [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, rtentry7.o(.ARM.Collect$$rtentry$$00000007))

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

  - Max Depth = 8 + Unknown Stack Size
  - Call Chain = __rt_entry_li ⇒ __rt_lib_init ⇒ _fp_init
  [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

  AIC_ConfigureIT (ARM, 48 bytes, Stack size 0 bytes, aic.o(.text))
  [Called By]

  - >> USBDCallbacks_Initialized
  - >> PIO_InitializeInterrupts
  - >> ConfigureTc2
  - >> ConfigureTc0
  - >> Configure_usart0
  - >> ConfigurePit

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

  - >> USBDCallbacks_Initialized
  - >> PIO_InitializeInterrupts
  - >> ConfigureTc2
  - >> ConfigureTc0
  - >> Configure_usart0
  - >> ConfigurePit

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

  - >> ConfigurePit

  DBGU_Configure (ARM, 88 bytes, Stack size 16 bytes, dbgu.o(.text))
  [Stack]

  - Max Depth = 16 + Unknown Stack Size
  - Call Chain = DBGU_Configure
  [Calls]
  - >> __aeabi_uidivmod
  [Called By]
  - >> main

  PIO_Configure (ARM, 288 bytes, Stack size 16 bytes, pio.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = PIO_Configure
  [Calls]
  - >> PIO_SetOutput
  - >> PIO_SetInput
  - >> PIO_SetPeripheralB
  - >> PIO_SetPeripheralA
  [Called By]
  - >> USBD_Init
  - >> main
  - >> Configure_SPI
  - >> Configure_usart0
  - >> ConfigureButtons
  - >> VBus_Configure

  PIO_Set (ARM, 12 bytes, Stack size 0 bytes, pio.o(.text))
  [Called By]

  - >> USBD_Disconnect
  - >> USBD_Connect

  PIO_Clear (ARM, 12 bytes, Stack size 0 bytes, pio.o(.text))
  [Called By]

  - >> USBD_Disconnect
  - >> USBD_Connect

  PIO_Get (ARM, 76 bytes, Stack size 0 bytes, pio.o(.text))
  [Called By]

  - >> ISR_Bp4
  - >> ISR_Bp3
  - >> ISR_Bp2
  - >> ISR_Bp1
  - >> ISR_Vbus

  PIO_InitializeInterrupts (ARM, 96 bytes, Stack size 8 bytes, pio_it.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = PIO_InitializeInterrupts
  [Calls]
  - >> AIC_EnableIT
  - >> AIC_ConfigureIT
  [Called By]
  - >> ConfigureButtons

  PIO_ConfigureIt (ARM, 68 bytes, Stack size 0 bytes, pio_it.o(.text))
  [Called By]

  - >> ConfigureButtons
  - >> VBus_Configure

  PIO_EnableIt (ARM, 96 bytes, Stack size 0 bytes, pio_it.o(.text))
  [Called By]

  - >> main
  - >> ConfigureButtons

  USART_Configure (ARM, 76 bytes, Stack size 24 bytes, usart.o(.text))
  [Stack]

  - Max Depth = 24 + Unknown Stack Size
  - Call Chain = USART_Configure
  [Calls]
  - >> __aeabi_uidivmod
  [Called By]
  - >> Configure_usart0

  USART_SetTransmitterEnabled (ARM, 32 bytes, Stack size 0 bytes, usart.o(.text))
  [Called By]

  - >> Configure_usart0

  USART_SetReceiverEnabled (ARM, 32 bytes, Stack size 0 bytes, usart.o(.text))
  [Called By]

  - >> Configure_usart0

  USART_WriteBuffer (ARM, 88 bytes, Stack size 0 bytes, usart.o(.text))
  [Called By]

  - >> UsbDataReceived

  USART_ReadBuffer (ARM, 84 bytes, Stack size 0 bytes, usart.o(.text))
  [Called By]

  - >> main
  - >> ISR_Usart0
  - >> ISR_Timer0

  CDCLineCoding_Initialize (ARM, 56 bytes, Stack size 24 bytes, cdclinecoding.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = CDCLineCoding_Initialize
  [Calls]
  - >> __aeabi_uwrite4
  [Called By]
  - >> CDCDSerialDriver_Initialize

  CDCSetControlLineStateRequest_IsDtePresent (ARM, 44 bytes, Stack size 8 bytes, cdcsetcontrollinestaterequest.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = CDCSetControlLineStateRequest_IsDtePresent
  [Calls]
  - >> USBGenericRequest_GetValue
  [Called By]
  - >> CDCDSerialDriver_RequestHandler

  CDCSetControlLineStateRequest_ActivateCarrier (ARM, 44 bytes, Stack size 8 bytes, cdcsetcontrollinestaterequest.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = CDCSetControlLineStateRequest_ActivateCarrier
  [Calls]
  - >> USBGenericRequest_GetValue
  [Called By]
  - >> CDCDSerialDriver_RequestHandler

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

  - >> GetDescriptor
  - >> USBConfigurationDescriptor_Parse

  USBConfigurationDescriptor_IsSelfPowered (ARM, 32 bytes, Stack size 0 bytes, usbconfigurationdescriptor.o(.text))
  [Called By]

  - >> GetDeviceStatus

  USBConfigurationDescriptor_Parse (ARM, 220 bytes, Stack size 32 bytes, usbconfigurationdescriptor.o(.text))
  [Stack]

  - Max Depth = 36
  - Call Chain = USBConfigurationDescriptor_Parse ⇒ USBGenericDescriptor_GetNextDescriptor
  [Calls]
  - >> USBGenericDescriptor_GetType
  - >> USBGenericDescriptor_GetNextDescriptor
  - >> USBGenericDescriptor_GetLength
  - >> USBConfigurationDescriptor_GetTotalLength
  [Called By]
  - >> SetConfiguration

  USBEndpointDescriptor_GetNumber (ARM, 16 bytes, Stack size 0 bytes, usbendpointdescriptor.o(.text))
  [Called By]

  - >> USBD_ConfigureEndpoint

  USBEndpointDescriptor_GetDirection (ARM, 32 bytes, Stack size 0 bytes, usbendpointdescriptor.o(.text))
  [Called By]

  - >> USBD_ConfigureEndpoint

  USBEndpointDescriptor_GetType (ARM, 16 bytes, Stack size 0 bytes, usbendpointdescriptor.o(.text))
  [Called By]

  - >> USBD_ConfigureEndpoint

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

  - >> USBD_ConfigureEndpoint

  USBFeatureRequest_GetFeatureSelector (ARM, 28 bytes, Stack size 8 bytes, usbfeaturerequest.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBFeatureRequest_GetFeatureSelector
  [Calls]
  - >> USBGenericRequest_GetValue
  [Called By]
  - >> USBDDriver_RequestHandler

  USBGenericDescriptor_GetLength (ARM, 12 bytes, Stack size 0 bytes, usbgenericdescriptor.o(.text))
  [Called By]

  - >> GetDescriptor
  - >> USBGenericDescriptor_GetNextDescriptor
  - >> USBConfigurationDescriptor_Parse

  USBGenericDescriptor_GetType (ARM, 12 bytes, Stack size 0 bytes, usbgenericdescriptor.o(.text))
  [Called By]

  - >> USBConfigurationDescriptor_Parse

  USBGenericDescriptor_GetNextDescriptor (ARM, 28 bytes, Stack size 4 bytes, usbgenericdescriptor.o(.text))
  [Stack]

  - Max Depth = 4
  - Call Chain = USBGenericDescriptor_GetNextDescriptor
  [Calls]
  - >> USBGenericDescriptor_GetLength
  [Called By]
  - >> USBConfigurationDescriptor_Parse

  USBGenericRequest_GetRequest (ARM, 12 bytes, Stack size 0 bytes, usbgenericrequest.o(.text))
  [Called By]

  - >> USBDDriver_RequestHandler
  - >> CDCDSerialDriver_RequestHandler

  USBGenericRequest_GetValue (ARM, 12 bytes, Stack size 0 bytes, usbgenericrequest.o(.text))
  [Called By]

  - >> USBSetConfigurationRequest_GetConfiguration
  - >> USBSetAddressRequest_GetAddress
  - >> USBInterfaceRequest_GetAlternateSetting
  - >> USBGetDescriptorRequest_GetDescriptorIndex
  - >> USBGetDescriptorRequest_GetDescriptorType
  - >> USBFeatureRequest_GetFeatureSelector
  - >> CDCSetControlLineStateRequest_ActivateCarrier
  - >> CDCSetControlLineStateRequest_IsDtePresent

  USBGenericRequest_GetIndex (ARM, 12 bytes, Stack size 0 bytes, usbgenericrequest.o(.text))
  [Called By]

  - >> USBInterfaceRequest_GetInterface
  - >> USBGenericRequest_GetEndpointNumber

  USBGenericRequest_GetLength (ARM, 12 bytes, Stack size 0 bytes, usbgenericrequest.o(.text))
  [Called By]

  - >> USBDDriver_RequestHandler

  USBGenericRequest_GetEndpointNumber (ARM, 28 bytes, Stack size 4 bytes, usbgenericrequest.o(.text))
  [Stack]

  - Max Depth = 4
  - Call Chain = USBGenericRequest_GetEndpointNumber
  [Calls]
  - >> USBGenericRequest_GetIndex
  [Called By]
  - >> USBDDriver_RequestHandler

  USBGenericRequest_GetRecipient (ARM, 16 bytes, Stack size 0 bytes, usbgenericrequest.o(.text))
  [Called By]

  - >> USBDDriver_RequestHandler

  USBGenericRequest_GetDirection (ARM, 32 bytes, Stack size 0 bytes, usbgenericrequest.o(.text))
  [Called By]

  - >> UDP_EndpointHandler

  USBGetDescriptorRequest_GetDescriptorType (ARM, 28 bytes, Stack size 8 bytes, usbgetdescriptorrequest.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBGetDescriptorRequest_GetDescriptorType
  [Calls]
  - >> USBGenericRequest_GetValue
  [Called By]
  - >> USBDDriver_RequestHandler

  USBGetDescriptorRequest_GetDescriptorIndex (ARM, 28 bytes, Stack size 8 bytes, usbgetdescriptorrequest.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBGetDescriptorRequest_GetDescriptorIndex
  [Calls]
  - >> USBGenericRequest_GetValue
  [Called By]
  - >> USBDDriver_RequestHandler

  USBInterfaceRequest_GetInterface (ARM, 28 bytes, Stack size 8 bytes, usbinterfacerequest.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBInterfaceRequest_GetInterface
  [Calls]
  - >> USBGenericRequest_GetIndex
  [Called By]
  - >> USBDDriver_RequestHandler

  USBInterfaceRequest_GetAlternateSetting (ARM, 28 bytes, Stack size 8 bytes, usbinterfacerequest.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBInterfaceRequest_GetAlternateSetting
  [Calls]
  - >> USBGenericRequest_GetValue
  [Called By]
  - >> USBDDriver_RequestHandler

  USBSetAddressRequest_GetAddress (ARM, 28 bytes, Stack size 8 bytes, usbsetaddressrequest.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBSetAddressRequest_GetAddress
  [Calls]
  - >> USBGenericRequest_GetValue
  [Called By]
  - >> USBDDriver_RequestHandler

  USBSetConfigurationRequest_GetConfiguration (ARM, 28 bytes, Stack size 8 bytes, usbsetconfigurationrequest.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBSetConfigurationRequest_GetConfiguration
  [Calls]
  - >> USBGenericRequest_GetValue
  [Called By]
  - >> USBDDriver_RequestHandler

  CDCDSerialDriver_RequestHandler (ARM, 140 bytes, Stack size 16 bytes, cdcdserialdriver.o(.text))
  [Stack]

  - Max Depth = 160
  - Call Chain = CDCDSerialDriver_RequestHandler ⇒ USBDDriver_RequestHandler ⇒ SetConfiguration ⇒ USBD_ConfigureEndpoint ⇒ UDP_EndOfTransfer
  [Calls]
  - >> USBDDriver_RequestHandler
  - >> CDCDSerialDriver_SetControlLineState
  - >> CDCDSerialDriver_GetLineCoding
  - >> CDCDSerialDriver_SetLineCoding
  - >> USBGenericRequest_GetRequest
  - >> CDCSetControlLineStateRequest_ActivateCarrier
  - >> CDCSetControlLineStateRequest_IsDtePresent
  [Called By]
  - >> USBDCallbacks_RequestReceived

  USBDCallbacks_RequestReceived (ARM, 24 bytes, Stack size 8 bytes, cdcdserialdriver.o(.text))
  [Stack]

  - Max Depth = 168
  - Call Chain = USBDCallbacks_RequestReceived ⇒ CDCDSerialDriver_RequestHandler ⇒ USBDDriver_RequestHandler ⇒ SetConfiguration ⇒ USBD_ConfigureEndpoint ⇒ UDP_EndOfTransfer
  [Calls]
  - >> CDCDSerialDriver_RequestHandler
  [Called By]
  - >> UDP_EndpointHandler

  CDCDSerialDriver_Initialize (ARM, 76 bytes, Stack size 8 bytes, cdcdserialdriver.o(.text))
  [Stack]

  - Max Depth = 40 + Unknown Stack Size
  - Call Chain = CDCDSerialDriver_Initialize ⇒ USBD_Init ⇒ PIO_Configure
  [Calls]
  - >> USBD_Init
  - >> USBDDriver_Initialize
  - >> CDCLineCoding_Initialize
  [Called By]
  - >> main

  CDCDSerialDriver_Read (ARM, 52 bytes, Stack size 24 bytes, cdcdserialdriver.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = CDCDSerialDriver_Read ⇒ USBD_Read
  [Calls]
  - >> USBD_Read
  [Called By]
  - >> main
  - >> ISR_Usart0

  CDCDSerialDriver_Write (ARM, 52 bytes, Stack size 24 bytes, cdcdserialdriver.o(.text))
  [Stack]

  - Max Depth = 60
  - Call Chain = CDCDSerialDriver_Write ⇒ USBD_Write ⇒ UDP_WritePayload
  [Calls]
  - >> USBD_Write
  [Called By]
  - >> ISR_Usart0
  - >> ISR_Timer0

  CDCDSerialDriver_GetSerialState (ARM, 12 bytes, Stack size 0 bytes, cdcdserialdriver.o(.text))
  [Called By]

  - >> ISR_Usart0

  CDCDSerialDriver_SetSerialState (ARM, 88 bytes, Stack size 16 bytes, cdcdserialdriver.o(.text))
  [Stack]

  - Max Depth = 52
  - Call Chain = CDCDSerialDriver_SetSerialState ⇒ USBD_Write ⇒ UDP_WritePayload
  [Calls]
  - >> USBD_Write
  [Called By]
  - >> ISR_Usart0

  USBDCallbacks_Initialized (ARM, 36 bytes, Stack size 8 bytes, usbdcallbacks_initialized.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBDCallbacks_Initialized
  [Calls]
  - >> AIC_EnableIT
  - >> AIC_ConfigureIT
  [Called By]
  - >> USBD_Init

  USBDCallbacks_Reset (ARM, 4 bytes, Stack size 0 bytes, usbdcallbacks_reset.o(.text))
  [Called By]

  - >> USBD_InterruptHandler

  USBDDriver_Initialize (ARM, 68 bytes, Stack size 16 bytes, usbddriver.o(.text))
  [Stack]

  - Max Depth = 16 + Unknown Stack Size
  - Call Chain = USBDDriver_Initialize
  [Calls]
  - >> __aeabi_memset
  [Called By]
  - >> CDCDSerialDriver_Initialize

  USBDDriver_RequestHandler (ARM, 720 bytes, Stack size 48 bytes, usbddriver.o(.text))
  [Stack]

  - Max Depth = 144
  - Call Chain = USBDDriver_RequestHandler ⇒ SetConfiguration ⇒ USBD_ConfigureEndpoint ⇒ UDP_EndOfTransfer
  [Calls]
  - >> USBD_Unhalt
  - >> USBD_Stall
  - >> USBD_Halt
  - >> GetInterface
  - >> SetInterface
  - >> GetDescriptor
  - >> GetEndpointStatus
  - >> GetDeviceStatus
  - >> GetConfiguration
  - >> SetConfiguration
  - >> USBD_Write
  - >> USBSetConfigurationRequest_GetConfiguration
  - >> USBSetAddressRequest_GetAddress
  - >> USBInterfaceRequest_GetAlternateSetting
  - >> USBInterfaceRequest_GetInterface
  - >> USBGetDescriptorRequest_GetDescriptorIndex
  - >> USBGetDescriptorRequest_GetDescriptorType
  - >> USBGenericRequest_GetRecipient
  - >> USBGenericRequest_GetEndpointNumber
  - >> USBGenericRequest_GetLength
  - >> USBGenericRequest_GetRequest
  - >> USBFeatureRequest_GetFeatureSelector
  [Called By]
  - >> CDCDSerialDriver_RequestHandler

  USBDDriverCallbacks_ConfigurationChanged (ARM, 4 bytes, Stack size 0 bytes, usbddrivercb_cfgchanged.o(.text))
  [Called By]

  - >> SetConfiguration

  USBDDriverCallbacks_InterfaceSettingChanged (ARM, 4 bytes, Stack size 0 bytes, usbddrivercb_ifsettingchanged.o(.text))
  [Called By]

  - >> SetInterface

  USBD_ConfigureEndpoint (ARM, 320 bytes, Stack size 24 bytes, usbd_udp.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = USBD_ConfigureEndpoint ⇒ UDP_EndOfTransfer
  [Calls]
  - >> UDP_EndOfTransfer
  - >> USBEndpointDescriptor_GetMaxPacketSize
  - >> USBEndpointDescriptor_GetType
  - >> USBEndpointDescriptor_GetDirection
  - >> USBEndpointDescriptor_GetNumber
  [Called By]
  - >> SetConfiguration
  - >> USBD_InterruptHandler

  USBD_InterruptHandler (ARM, 476 bytes, Stack size 16 bytes, usbd_udp.o(.text))
  [Stack]

  - Max Depth = 216
  - Call Chain = USBD_InterruptHandler ⇒ UDP_EndpointHandler ⇒ USBDCallbacks_RequestReceived ⇒ CDCDSerialDriver_RequestHandler ⇒ USBDDriver_RequestHandler ⇒ SetConfiguration ⇒ USBD_ConfigureEndpoint ⇒ UDP_EndOfTransfer
  [Calls]
  - >> USBDCallbacks_Suspended
  - >> USBDCallbacks_Resumed
  - >> UDP_EnableTransceiver
  - >> UDP_EndpointHandler
  - >> UDP_DisableEndpoints
  - >> UDP_ResetEndpoints
  - >> USBD_ConfigureEndpoint
  - >> USBDCallbacks_Reset
  [Address Reference Count : 1]
  - usbdcallbacks_initialized.o(.text)

  USBD_Write (ARM, 256 bytes, Stack size 32 bytes, usbd_udp.o(.text))
  [Stack]

  - Max Depth = 36
  - Call Chain = USBD_Write ⇒ UDP_WritePayload
  [Calls]
  - >> UDP_WritePayload
  [Called By]
  - >> GetInterface
  - >> SetInterface
  - >> GetDescriptor
  - >> GetEndpointStatus
  - >> GetDeviceStatus
  - >> GetConfiguration
  - >> SetConfiguration
  - >> USBDDriver_RequestHandler
  - >> CDCDSerialDriver_SetSerialState
  - >> CDCDSerialDriver_Write
  - >> CDCDSerialDriver_SetControlLineState
  - >> CDCDSerialDriver_GetLineCoding
  - >> CDCDSerialDriver_SetLineCodingCallback

  USBD_Read (ARM, 120 bytes, Stack size 16 bytes, usbd_udp.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = USBD_Read
  [Called By]
  - >> CDCDSerialDriver_Read
  - >> CDCDSerialDriver_SetLineCoding

  USBD_Halt (ARM, 128 bytes, Stack size 16 bytes, usbd_udp.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = USBD_Halt ⇒ UDP_EndOfTransfer
  [Calls]
  - >> UDP_EndOfTransfer
  [Called By]
  - >> USBDDriver_RequestHandler

  USBD_Unhalt (ARM, 128 bytes, Stack size 0 bytes, usbd_udp.o(.text))
  [Called By]

  - >> USBDDriver_RequestHandler

  USBD_IsHalted (ARM, 40 bytes, Stack size 0 bytes, usbd_udp.o(.text))
  [Called By]

  - >> GetEndpointStatus

  USBD_IsHighSpeed (ARM, 8 bytes, Stack size 0 bytes, usbd_udp.o(.text))
  [Called By]

  - >> GetDescriptor
  - >> GetDeviceStatus
  - >> SetConfiguration

  USBD_Stall (ARM, 88 bytes, Stack size 0 bytes, usbd_udp.o(.text))
  [Called By]

  - >> GetInterface
  - >> SetInterface
  - >> GetDescriptor
  - >> GetEndpointStatus
  - >> USBDDriver_RequestHandler

  USBD_SetAddress (ARM, 72 bytes, Stack size 0 bytes, usbd_udp.o(.text))
  [Address Reference Count : 1]

  - usbddriver.o(.text)

  USBD_SetConfiguration (ARM, 88 bytes, Stack size 8 bytes, usbd_udp.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = USBD_SetConfiguration ⇒ UDP_DisableEndpoints ⇒ UDP_EndOfTransfer
  [Calls]
  - >> UDP_DisableEndpoints
  [Called By]
  - >> SetConfiguration

  USBD_Connect (ARM, 88 bytes, Stack size 16 bytes, usbd_udp.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = USBD_Connect
  [Calls]
  - >> PIO_Clear
  - >> PIO_Set
  [Called By]
  - >> main
  - >> ISR_Vbus

  USBD_Disconnect (ARM, 84 bytes, Stack size 16 bytes, usbd_udp.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = USBD_Disconnect
  [Calls]
  - >> PIO_Clear
  - >> PIO_Set
  [Called By]
  - >> ISR_Vbus

  USBD_Init (ARM, 124 bytes, Stack size 16 bytes, usbd_udp.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = USBD_Init ⇒ PIO_Configure
  [Calls]
  - >> UDP_ResetEndpoints
  - >> USBDCallbacks_Initialized
  - >> PIO_Configure
  [Called By]
  - >> CDCDSerialDriver_Initialize

  USBD_GetState (ARM, 12 bytes, Stack size 0 bytes, usbd_udp.o(.text))
  [Called By]

  - >> main
  - >> ISR_Usart0

  defaultSpuriousHandler (ARM, 8 bytes, Stack size 0 bytes, board_lowlevel.o(.text), UNUSED)

  defaultFiqHandler (ARM, 8 bytes, Stack size 0 bytes, board_lowlevel.o(.text))
  [Address Reference Count : 1]

  - board_lowlevel.o(.text)

  defaultIrqHandler (ARM, 8 bytes, Stack size 0 bytes, board_lowlevel.o(.text))
  [Address Reference Count : 1]

  - board_lowlevel.o(.text)

  LowLevelInit (ARM, 336 bytes, Stack size 8 bytes, board_lowlevel.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = LowLevelInit ⇒ BOARD_RemapRam
  [Calls]
  - >> BOARD_RemapRam
  [Address Reference Count : 1]
  - board_cstartup_keil.o(cstartup)

  BOARD_RemapRam (ARM, 36 bytes, Stack size 8 bytes, board_memories.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = BOARD_RemapRam
  [Calls]
  - >> BOARD_GetRemap
  [Called By]
  - >> LowLevelInit

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

  - >> __rt_exit_exit

  menu_selected (ARM, 64 bytes, Stack size 0 bytes, palubni_pocitac.o(.text))
  [Called By]

  - >> trouble_codes
  - >> main
  - >> display_selected_parameters
  - >> other_drive_parameter
  - >> menu_setting
  - >> menu_template

  menu_template (ARM, 280 bytes, Stack size 8 bytes, palubni_pocitac.o(.text))
  [Stack]

  - Max Depth = 152 + Unknown Stack Size
  - Call Chain = menu_template ⇒ drawf ⇒ strf
  [Calls]
  - >> drawf
  - >> drawXY
  - >> drawTextXY
  - >> drawSetFont
  - >> drawLine
  - >> drawClearIO
  - >> menu_selected
  [Called By]
  - >> main

  save_other_par_pid (ARM, 80 bytes, Stack size 0 bytes, palubni_pocitac.o(.text))
  [Called By]

  - >> supported_pid

  supported_pid (ARM, 1944 bytes, Stack size 16 bytes, palubni_pocitac.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = supported_pid
  [Calls]
  - >> check_pid_support
  - >> save_other_par_pid
  [Called By]
  - >> check_all_parameters
  - >> other_drive_OK
  - >> other_drive_PLUS_MINUS

  other_drive_PLUS_MINUS (ARM, 280 bytes, Stack size 8 bytes, palubni_pocitac.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = other_drive_PLUS_MINUS ⇒ supported_pid
  [Calls]
  - >> supported_pid
  [Called By]
  - >> move_menu

  other_drive_OK (ARM, 296 bytes, Stack size 8 bytes, palubni_pocitac.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = other_drive_OK ⇒ supported_pid
  [Calls]
  - >> supported_pid
  [Called By]
  - >> move_menu

  move_menu (ARM, 3396 bytes, Stack size 16 bytes, palubni_pocitac.o(.text))
  [Stack]

  - Max Depth = 184 + Unknown Stack Size
  - Call Chain = move_menu ⇒ init_STN ⇒ init_STN (Cycle)
  [Calls]
  - >> init_STN
  - >> drawClearIO
  - >> del_drive_par
  - >> AT91F_TWI_WriteSingleIadr
  - >> AT91F_DS1337_SetDateTime
  - >> other_drive_OK
  - >> other_drive_PLUS_MINUS
  [Called By]
  - >> main

  drive_time_show (ARM, 116 bytes, Stack size 24 bytes, palubni_pocitac.o(.text))
  [Stack]

  - Max Depth = 168 + Unknown Stack Size
  - Call Chain = drive_time_show ⇒ drawf ⇒ strf
  [Calls]
  - >> drawf
  - >> __aeabi_idivmod
  [Called By]
  - >> main
  - >> other_drive_parameter

  main_menu (ARM, 312 bytes, Stack size 8 bytes, palubni_pocitac.o(.text))
  [Stack]

  - Max Depth = 152 + Unknown Stack Size
  - Call Chain = main_menu ⇒ drawf ⇒ strf
  [Calls]
  - >> drawf
  - >> drawTextXY
  - >> drawSetFont
  [Called By]
  - >> main

  menu_setting (ARM, 1212 bytes, Stack size 8 bytes, palubni_pocitac.o(.text))
  [Stack]

  - Max Depth = 152 + Unknown Stack Size
  - Call Chain = menu_setting ⇒ drawf ⇒ strf
  [Calls]
  - >> drawf
  - >> drawTextXY
  - >> menu_selected
  [Called By]
  - >> main

  other_drive_parameter (ARM, 2324 bytes, Stack size 32 bytes, palubni_pocitac.o(.text))
  [Stack]

  - Max Depth = 200 + Unknown Stack Size
  - Call Chain = other_drive_parameter ⇒ drive_time_show ⇒ drawf ⇒ strf
  [Calls]
  - >> send_ATcommand
  - >> drawf
  - >> delay
  - >> drive_time_show
  - >> menu_selected
  - >> __aeabi_uidivmod
  [Called By]
  - >> show_all_parameters
  - >> display_selected_parameters

  display_selected_parameters (ARM, 996 bytes, Stack size 8 bytes, palubni_pocitac.o(.text))
  [Stack]

  - Max Depth = 208 + Unknown Stack Size
  - Call Chain = display_selected_parameters ⇒ other_drive_parameter ⇒ drive_time_show ⇒ drawf ⇒ strf
  [Calls]
  - >> drawf
  - >> drawXY
  - >> drawTextXY
  - >> drawSetFont
  - >> drawLine
  - >> other_drive_parameter
  - >> menu_selected
  [Called By]
  - >> main

  save_supported_PID (ARM, 228 bytes, Stack size 8 bytes, palubni_pocitac.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = save_supported_PID ⇒ clear_OBD_buffer
  [Calls]
  - >> clear_OBD_buffer
  [Called By]
  - >> main

  check_all_parameters (ARM, 68 bytes, Stack size 8 bytes, palubni_pocitac.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = check_all_parameters ⇒ supported_pid
  [Calls]
  - >> supported_pid
  [Called By]
  - >> main

  show_all_parameters (ARM, 112 bytes, Stack size 8 bytes, palubni_pocitac.o(.text))
  [Stack]

  - Max Depth = 208 + Unknown Stack Size
  - Call Chain = show_all_parameters ⇒ other_drive_parameter ⇒ drive_time_show ⇒ drawf ⇒ strf
  [Calls]
  - >> drawTextXY
  - >> other_drive_parameter
  [Called By]
  - >> main

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

  - >> ISR_Vbus
  [Address Reference Count : 1]
  - palubni_pocitac.o(.text)

  ISR_Pit (ARM, 300 bytes, Stack size 16 bytes, main.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = ISR_Pit ⇒ send_OBD_PID
  [Calls]
  - >> send_OBD_PID
  - >> Time_update
  - >> PIT_GetStatus
  - >> PIT_GetPIVR
  [Address Reference Count : 1]
  - palubni_pocitac.o(.text)

  ConfigurePit (ARM, 64 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = ConfigurePit
  [Calls]
  - >> AIC_DisableIT
  - >> AIC_EnableIT
  - >> AIC_ConfigureIT
  - >> PIT_Init
  - >> PIT_EnableIT
  - >> PIT_Enable
  [Called By]
  - >> main

  ISR_Bp4 (ARM, 100 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = ISR_Bp4
  [Calls]
  - >> PIO_Get
  [Address Reference Count : 1]
  - main.o(.text)

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

  - Max Depth = 24
  - Call Chain = ConfigureButtons ⇒ PIO_Configure
  [Calls]
  - >> PIO_EnableIt
  - >> PIO_ConfigureIt
  - >> PIO_InitializeInterrupts
  - >> PIO_Configure
  [Called By]
  - >> main

  USBDCallbacks_Resumed (ARM, 16 bytes, Stack size 0 bytes, main.o(.text))
  [Called By]

  - >> USBD_InterruptHandler

  USBDCallbacks_Suspended (ARM, 16 bytes, Stack size 0 bytes, main.o(.text))
  [Called By]

  - >> USBD_InterruptHandler

  Configure_usart0 (ARM, 128 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 32 + Unknown Stack Size
  - Call Chain = Configure_usart0 ⇒ USART_Configure
  [Calls]
  - >> USART_SetReceiverEnabled
  - >> USART_SetTransmitterEnabled
  - >> USART_Configure
  - >> PIO_Configure
  - >> AIC_EnableIT
  - >> AIC_ConfigureIT
  [Called By]
  - >> main

  Configure_SPI (ARM, 68 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = Configure_SPI ⇒ PIO_Configure
  [Calls]
  - >> PIO_Configure
  - >> SPI_Enable
  - >> SPI_ConfigureNPCS
  - >> SPI_Configure
  [Called By]
  - >> main
  [Address Reference Count : 1]
  - palubni_pocitac.o(.text)

  ConfigureTc0 (ARM, 92 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = ConfigureTc0
  [Calls]
  - >> AIC_EnableIT
  - >> AIC_ConfigureIT
  [Called By]
  - >> main

  ISR_Tc2 (ARM, 184 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = ISR_Tc2 ⇒ drawWriteIO ⇒ spi9DataIO ⇒ spi9Send
  [Calls]
  - >> drawWriteIO
  - >> RTC_storage
  - >> Backlight_set
  [Address Reference Count : 1]
  - main.o(.text)

  ConfigureTc2 (ARM, 92 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = ConfigureTc2
  [Calls]
  - >> AIC_EnableIT
  - >> AIC_ConfigureIT
  - >> TC_Start
  - >> TC_Configure
  [Called By]
  - >> main

  main (ARM, 7712 bytes, Stack size 16 bytes, main.o(.text))
  [Stack]

  - Max Depth = 272 + Unknown Stack Size
  - Call Chain = main ⇒ AT91F_TWI_Open ⇒ TWI_ConfigureMaster ⇒ pow ⇒ sqrt ⇒ _dsqrt ⇒ __fpl_dnaninf
  [Calls]
  - >> USBD_GetState
  - >> USBD_Connect
  - >> CDCDSerialDriver_Read
  - >> CDCDSerialDriver_Initialize
  - >> USART_ReadBuffer
  - >> PIO_EnableIt
  - >> PIO_Configure
  - >> DBGU_Configure
  - >> write_single_OBD_buffer
  - >> trouble_codes
  - >> drawInitIO
  - >> drawBox
  - >> Read_RTC_storage_data
  - >> ConfigurePWM
  - >> AT91F_TWI_Open
  - >> AT91F_DS1337_ReadDateTime
  - >> ADC_init
  - >> ConfigureTc2
  - >> ConfigureTc0
  - >> Configure_SPI
  - >> Configure_usart0
  - >> ConfigureButtons
  - >> ConfigurePit
  - >> VBus_Configure
  - >> send_ATcommand
  - >> init_STN
  - >> drawf
  - >> drawXY
  - >> drawTextXY
  - >> drawSetFont
  - >> drawLine
  - >> check_pid_support
  - >> show_all_parameters
  - >> check_all_parameters
  - >> save_supported_PID
  - >> display_selected_parameters
  - >> menu_setting
  - >> main_menu
  - >> drive_time_show
  - >> move_menu
  - >> menu_template
  - >> menu_selected
  - >> __aeabi_uidivmod
  [Address Reference Count : 2]
  - palubni_pocitac.o(.text)
  - rtentry2.o(.ARM.Collect$$rtentry$$0000000D)

  ISR_Bp1 (ARM, 100 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = ISR_Bp1
  [Calls]
  - >> PIO_Get
  [Address Reference Count : 1]
  - main.o(.text)

  ISR_Bp2 (ARM, 100 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = ISR_Bp2
  [Calls]
  - >> PIO_Get
  [Address Reference Count : 1]
  - main.o(.text)

  ISR_Bp3 (ARM, 100 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = ISR_Bp3
  [Calls]
  - >> PIO_Get
  [Address Reference Count : 1]
  - main.o(.text)

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

  - >> Configure_SPI

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

  - >> Configure_SPI

  SPI_ConfigureNPCS (ARM, 12 bytes, Stack size 0 bytes, spi.o(.text))
  [Called By]

  - >> Configure_SPI

  spiWrite (ARM, 132 bytes, Stack size 0 bytes, spi.o(.text))
  [Called By]

  - >> spi9Send

  spi9DataIO (ARM, 36 bytes, Stack size 16 bytes, spi.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = spi9DataIO ⇒ spi9Send
  [Calls]
  - >> spi9Send
  [Called By]
  - >> drawWriteIO
  [Address Reference Count : 1]
  - main.o(.text)

  spi9CommandIO (ARM, 28 bytes, Stack size 8 bytes, spi.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = spi9CommandIO ⇒ spi9Send
  [Calls]
  - >> spi9Send
  [Called By]
  - >> drawWriteIO
  - >> drawInitIO

  spi9Command2IO (ARM, 44 bytes, Stack size 16 bytes, spi.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = spi9Command2IO ⇒ spi9Send
  [Calls]
  - >> spi9Send
  [Called By]
  - >> drawInitIO

  TC_Configure (ARM, 28 bytes, Stack size 0 bytes, tc.o(.text))
  [Called By]

  - >> ConfigureTc2

  TC_Start (ARM, 12 bytes, Stack size 0 bytes, tc.o(.text))
  [Called By]

  - >> ConfigureTc2
  - >> ISR_Vbus

  TC_Stop (ARM, 12 bytes, Stack size 0 bytes, tc.o(.text))
  [Called By]

  - >> ISR_Vbus

  PIT_Init (ARM, 56 bytes, Stack size 0 bytes, pit.o(.text))
  [Called By]

  - >> ConfigurePit

  PIT_Enable (ARM, 24 bytes, Stack size 0 bytes, pit.o(.text))
  [Called By]

  - >> ConfigurePit

  PIT_EnableIT (ARM, 24 bytes, Stack size 0 bytes, pit.o(.text))
  [Called By]

  - >> ConfigurePit
  - >> ISR_Vbus

  PIT_DisableIT (ARM, 24 bytes, Stack size 0 bytes, pit.o(.text))
  [Called By]

  - >> ISR_Vbus

  PIT_GetStatus (ARM, 12 bytes, Stack size 0 bytes, pit.o(.text))
  [Called By]

  - >> ISR_Pit

  PIT_GetPIVR (ARM, 12 bytes, Stack size 0 bytes, pit.o(.text))
  [Called By]

  - >> ISR_Pit

  delay (ARM, 104 bytes, Stack size 0 bytes, pit.o(.text))
  [Called By]

  - >> car_connect
  - >> trouble_codes
  - >> init_STN
  - >> other_drive_parameter

  TWI_ConfigureMaster (ARM, 236 bytes, Stack size 64 bytes, twi.o(.text))
  [Stack]

  - Max Depth = 248 + Unknown Stack Size
  - Call Chain = TWI_ConfigureMaster ⇒ pow ⇒ sqrt ⇒ _dsqrt ⇒ __fpl_dnaninf
  [Calls]
  - >> pow
  - >> __aeabi_ui2d
  - >> __aeabi_d2uiz
  - >> __aeabi_ddiv
  - >> __aeabi_uidivmod
  [Called By]
  - >> AT91F_TWI_Open

  AT91F_TWI_WriteSingleIadr (ARM, 148 bytes, Stack size 16 bytes, twi.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = AT91F_TWI_WriteSingleIadr
  [Called By]
  - >> RTC_storage
  - >> move_menu

  AT91F_TWI_ReadSingleIadr (ARM, 160 bytes, Stack size 16 bytes, twi.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = AT91F_TWI_ReadSingleIadr
  [Called By]
  - >> Read_RTC_storage_data
  [Address Reference Count : 1]
  - main.o(.text)

  AT91F_TWI_Open (ARM, 52 bytes, Stack size 8 bytes, twi.o(.text))
  [Stack]

  - Max Depth = 256 + Unknown Stack Size
  - Call Chain = AT91F_TWI_Open ⇒ TWI_ConfigureMaster ⇒ pow ⇒ sqrt ⇒ _dsqrt ⇒ __fpl_dnaninf
  [Calls]
  - >> TWI_ConfigureMaster
  [Called By]
  - >> main

  ADC_SoftReset (ARM, 12 bytes, Stack size 0 bytes, adc.o(.text))
  [Called By]

  - >> ADC_Initialize

  ADC_Initialize (ARM, 304 bytes, Stack size 56 bytes, adc.o(.text))
  [Stack]

  - Max Depth = 56 + Unknown Stack Size
  - Call Chain = ADC_Initialize
  [Calls]
  - >> ADC_SoftReset
  - >> ADC_CfgModeReg
  - >> __aeabi_uidivmod
  [Called By]
  - >> ADC_init

  ADC_EnableChannel (ARM, 32 bytes, Stack size 0 bytes, adc.o(.text))
  [Called By]

  - >> ADC_init

  ADC_StartConversion (ARM, 12 bytes, Stack size 0 bytes, adc.o(.text))
  [Called By]

  - >> Backlight_set

  ADC_init (ARM, 96 bytes, Stack size 32 bytes, adc.o(.text))
  [Stack]

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = ADC_init ⇒ ADC_Initialize
  [Calls]
  - >> ADC_EnableChannel
  - >> ADC_Initialize
  [Called By]
  - >> main

  PWMC_ConfigureChannel (ARM, 136 bytes, Stack size 4 bytes, pwmc.o(.text))
  [Stack]

  - Max Depth = 4
  - Call Chain = PWMC_ConfigureChannel
  [Called By]
  - >> ConfigurePWM

  PWMC_ConfigureClocks (ARM, 124 bytes, Stack size 24 bytes, pwmc.o(.text))
  [Stack]

  - Max Depth = 104 + Unknown Stack Size
  - Call Chain = PWMC_ConfigureClocks ⇒ FindClockConfiguration ⇒ __aeabi_memcpy4
  [Calls]
  - >> FindClockConfiguration
  [Called By]
  - >> ConfigurePWM

  PWMC_SetPeriod (ARM, 72 bytes, Stack size 0 bytes, pwmc.o(.text))
  [Called By]

  - >> ConfigurePWM

  PWMC_SetDutyCycle (ARM, 72 bytes, Stack size 0 bytes, pwmc.o(.text))
  [Called By]

  - >> ConfigurePWM

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

  - >> ConfigurePWM
  - >> Backlight_set

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

  - >> Backlight_set

  ConfigurePWM (ARM, 100 bytes, Stack size 8 bytes, pwmc.o(.text))
  [Stack]

  - Max Depth = 112 + Unknown Stack Size
  - Call Chain = ConfigurePWM ⇒ PWMC_ConfigureClocks ⇒ FindClockConfiguration ⇒ __aeabi_memcpy4
  [Calls]
  - >> PWMC_EnableChannel
  - >> PWMC_SetDutyCycle
  - >> PWMC_SetPeriod
  - >> PWMC_ConfigureClocks
  - >> PWMC_ConfigureChannel
  [Called By]
  - >> main

  Backlight_set (ARM, 200 bytes, Stack size 8 bytes, pwmc.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = Backlight_set ⇒ __aeabi_idivmod
  [Calls]
  - >> PWMC_DisableChannel
  - >> PWMC_EnableChannel
  - >> ADC_StartConversion
  - >> __aeabi_idivmod
  [Called By]
  - >> ISR_Tc2

  check_pid_support (ARM, 120 bytes, Stack size 0 bytes, elm327.o(.text))
  [Called By]

  - >> main
  - >> init_STN
  - >> clear_OBD_buffer
  - >> supported_pid

  clear_OBD_buffer (ARM, 212 bytes, Stack size 4 bytes, elm327.o(.text))
  [Stack]

  - Max Depth = 4
  - Call Chain = clear_OBD_buffer
  [Calls]
  - >> check_pid_support
  [Called By]
  - >> write_single_OBD_buffer
  - >> init_STN
  - >> save_supported_PID

  write_single_OBD_buffer (ARM, 356 bytes, Stack size 4 bytes, elm327.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = write_single_OBD_buffer ⇒ clear_OBD_buffer
  [Calls]
  - >> clear_OBD_buffer
  [Called By]
  - >> main

  number_trouble_code (ARM, 24 bytes, Stack size 0 bytes, elm327.o(.text))
  [Called By]

  - >> OBD_detect

  show_communication_error (ARM, 220 bytes, Stack size 8 bytes, elm327.o(.text))
  [Stack]

  - Max Depth = 152 + Unknown Stack Size
  - Call Chain = show_communication_error ⇒ drawf ⇒ strf
  [Calls]
  - >> drawBox
  - >> drawf
  - >> drawXY
  - >> drawTextXY
  - >> drawSetFont
  [Called By]
  - >> trouble_codes
  - >> init_STN

  send_ATcommand (ARM, 172 bytes, Stack size 0 bytes, elm327.o(.text))
  [Called By]

  - >> car_connect
  - >> trouble_codes
  - >> main
  - >> init_STN
  - >> other_drive_parameter

  car_connect (ARM, 492 bytes, Stack size 8 bytes, elm327.o(.text))
  [Stack]

  - Max Depth = 152 + Unknown Stack Size
  - Call Chain = car_connect ⇒ drawf ⇒ strf
  [Calls]
  - >> send_ATcommand
  - >> drawf
  - >> drawTextXY
  - >> delay
  [Called By]
  - >> init_STN

  init_STN (ARM, 428 bytes, Stack size 16 bytes, elm327.o(.text))
  [Stack]

  - Max Depth = 168 + Unknown Stack Size + In Cycle
  - Call Chain = init_STN ⇒ init_STN (Cycle)
  [Calls]
  - >> car_connect
  - >> show_communication_error
  - >> send_ATcommand
  - >> init_STN
  - >> drawf
  - >> drawTextXY
  - >> drawSetFont
  - >> drawClearIO
  - >> delay
  - >> clear_OBD_buffer
  - >> check_pid_support
  [Called By]
  - >> trouble_codes
  - >> main
  - >> init_STN
  - >> move_menu

  trouble_codes (ARM, 1764 bytes, Stack size 8 bytes, elm327.o(.text))
  [Stack]

  - Max Depth = 176 + Unknown Stack Size
  - Call Chain = trouble_codes ⇒ init_STN ⇒ init_STN (Cycle)
  [Calls]
  - >> show_communication_error
  - >> drawBox
  - >> send_ATcommand
  - >> init_STN
  - >> drawf
  - >> drawXY
  - >> drawTextXY
  - >> drawSetFont
  - >> drawClearIO
  - >> delay
  - >> menu_selected
  [Called By]
  - >> main

  speed_calculate (ARM, 320 bytes, Stack size 8 bytes, elm327.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = speed_calculate
  [Called By]
  - >> OBD_detect

  rpm_calculate (ARM, 32 bytes, Stack size 0 bytes, elm327.o(.text))
  [Called By]

  - >> OBD_detect

  coolant_temp_calculate (ARM, 28 bytes, Stack size 0 bytes, elm327.o(.text))
  [Called By]

  - >> OBD_detect

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

  - >> OBD_detect

  intake_pressure_calculate (ARM, 16 bytes, Stack size 0 bytes, elm327.o(.text))
  [Called By]

  - >> OBD_detect

  timing_advance_calculate (ARM, 28 bytes, Stack size 0 bytes, elm327.o(.text))
  [Called By]

  - >> OBD_detect

  oil_temp_calculate (ARM, 28 bytes, Stack size 0 bytes, elm327.o(.text))
  [Called By]

  - >> OBD_detect

  engine_load_calculate (ARM, 44 bytes, Stack size 8 bytes, elm327.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = engine_load_calculate ⇒ __aeabi_idivmod
  [Calls]
  - >> __aeabi_idivmod
  [Called By]
  - >> OBD_detect

  intake_air_temp_calculate (ARM, 28 bytes, Stack size 0 bytes, elm327.o(.text))
  [Called By]

  - >> OBD_detect

  fuel_rate_calculate (ARM, 208 bytes, Stack size 8 bytes, elm327.o(.text))
  [Stack]

  - Max Depth = 16 + Unknown Stack Size
  - Call Chain = fuel_rate_calculate ⇒ __aeabi_idivmod
  [Calls]
  - >> __aeabi_uidivmod
  - >> __aeabi_idivmod
  [Called By]
  - >> OBD_detect

  fuel_MAF_calculate (ARM, 284 bytes, Stack size 8 bytes, elm327.o(.text))
  [Stack]

  - Max Depth = 16 + Unknown Stack Size
  - Call Chain = fuel_MAF_calculate ⇒ __aeabi_idivmod
  [Calls]
  - >> __aeabi_uidivmod
  - >> __aeabi_idivmod
  [Called By]
  - >> OBD_detect

  trottle_pos_calculate (ARM, 44 bytes, Stack size 8 bytes, elm327.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = trottle_pos_calculate ⇒ __aeabi_idivmod
  [Calls]
  - >> __aeabi_idivmod
  [Called By]
  - >> OBD_detect

  ambi_air_temp_calculate (ARM, 28 bytes, Stack size 0 bytes, elm327.o(.text))
  [Called By]

  - >> OBD_detect

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

  - >> OBD_detect

  trouble_codes_show (ARM, 872 bytes, Stack size 16 bytes, elm327.o(.text))
  [Stack]

  - Max Depth = 160 + Unknown Stack Size
  - Call Chain = trouble_codes_show ⇒ drawf ⇒ strf
  [Calls]
  - >> drawf
  - >> drawTextXY
  [Called By]
  - >> OBD_detect

  del_drive_par (ARM, 72 bytes, Stack size 0 bytes, elm327.o(.text))
  [Called By]

  - >> move_menu

  ascii_hex_convert (ARM, 520 bytes, Stack size 8 bytes, elm327.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = ascii_hex_convert
  [Called By]
  - >> OBD_detect

  hex_ascii_convert (ARM, 280 bytes, Stack size 0 bytes, elm327.o(.text))
  [Called By]

  - >> send_OBD_PID

  send_OBD_PID (ARM, 340 bytes, Stack size 4 bytes, elm327.o(.text))
  [Stack]

  - Max Depth = 4
  - Call Chain = send_OBD_PID
  [Calls]
  - >> hex_ascii_convert
  [Called By]
  - >> ISR_Pit

  OBD_detect (ARM, 736 bytes, Stack size 16 bytes, elm327.o(.text))
  [Stack]

  - Max Depth = 176 + Unknown Stack Size
  - Call Chain = OBD_detect ⇒ trouble_codes_show ⇒ drawf ⇒ strf
  [Calls]
  - >> ascii_hex_convert
  - >> trouble_codes_show
  - >> car_pid_support
  - >> ambi_air_temp_calculate
  - >> trottle_pos_calculate
  - >> fuel_MAF_calculate
  - >> fuel_rate_calculate
  - >> intake_air_temp_calculate
  - >> engine_load_calculate
  - >> oil_temp_calculate
  - >> timing_advance_calculate
  - >> intake_pressure_calculate
  - >> fuel_pressure_calculate
  - >> coolant_temp_calculate
  - >> rpm_calculate
  - >> speed_calculate
  - >> number_trouble_code
  [Called By]
  - >> ISR_Usart0

  RTC_storage (ARM, 308 bytes, Stack size 24 bytes, elm327.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = RTC_storage ⇒ AT91F_TWI_WriteSingleIadr
  [Calls]
  - >> AT91F_TWI_WriteSingleIadr
  [Called By]
  - >> ISR_Tc2

  Read_RTC_storage_data (ARM, 324 bytes, Stack size 32 bytes, elm327.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = Read_RTC_storage_data ⇒ AT91F_TWI_ReadSingleIadr
  [Calls]
  - >> AT91F_TWI_ReadSingleIadr
  [Called By]
  - >> main

  drawWriteIO (ARM, 80 bytes, Stack size 16 bytes, dogxl.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = drawWriteIO ⇒ spi9DataIO ⇒ spi9Send
  [Calls]
  - >> spi9CommandIO
  - >> spi9DataIO
  [Called By]
  - >> drawInitIO
  - >> ISR_Tc2
  - >> ISR_Vbus

  drawClearIO (ARM, 52 bytes, Stack size 0 bytes, dogxl.o(.text))
  [Called By]

  - >> drawPutc
  - >> trouble_codes
  - >> drawInitIO
  - >> init_STN
  - >> move_menu
  - >> menu_template

  drawInitIO (ARM, 240 bytes, Stack size 8 bytes, dogxl.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = drawInitIO ⇒ drawWriteIO ⇒ spi9DataIO ⇒ spi9Send
  [Calls]
  - >> spi9Command2IO
  - >> spi9CommandIO
  - >> drawWriteIO
  - >> drawClearIO
  [Called By]
  - >> main

  drawSetPelIO (ARM, 156 bytes, Stack size 12 bytes, dogxl.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = drawSetPelIO
  [Called By]
  - >> drawPutc
  - >> drawLine

  drawLine (ARM, 412 bytes, Stack size 56 bytes, dogxl.o(.text))
  [Stack]

  - Max Depth = 68
  - Call Chain = drawLine ⇒ drawSetPelIO
  [Calls]
  - >> drawSetPelIO
  [Called By]
  - >> drawBox
  - >> main
  - >> display_selected_parameters
  - >> menu_template

  drawXY (ARM, 16 bytes, Stack size 0 bytes, dogxl.o(.text))
  [Called By]

  - >> show_communication_error
  - >> trouble_codes
  - >> drawBox
  - >> main
  - >> ISR_Vbus
  - >> display_selected_parameters
  - >> menu_template

  drawBox (ARM, 300 bytes, Stack size 52 bytes, dogxl.o(.text))
  [Stack]

  - Max Depth = 120
  - Call Chain = drawBox ⇒ drawLine ⇒ drawSetPelIO
  [Calls]
  - >> drawXY
  - >> drawLine
  [Called By]
  - >> show_communication_error
  - >> trouble_codes
  - >> main
  - >> ISR_Vbus

  drawTextXY (ARM, 56 bytes, Stack size 0 bytes, dogxl.o(.text))
  [Called By]

  - >> trouble_codes_show
  - >> car_connect
  - >> show_communication_error
  - >> trouble_codes
  - >> main
  - >> ISR_Vbus
  - >> init_STN
  - >> show_all_parameters
  - >> display_selected_parameters
  - >> menu_setting
  - >> main_menu
  - >> menu_template

  drawSetFont (ARM, 96 bytes, Stack size 0 bytes, dogxl.o(.text))
  [Called By]

  - >> show_communication_error
  - >> trouble_codes
  - >> main
  - >> ISR_Vbus
  - >> init_STN
  - >> display_selected_parameters
  - >> main_menu
  - >> menu_template

  drawPutc (ARM, 1028 bytes, Stack size 56 bytes, dogxl.o(.text))
  [Stack]

  - Max Depth = 68 + Unknown Stack Size
  - Call Chain = drawPutc ⇒ drawSetPelIO
  [Calls]
  - >> drawSetPelIO
  - >> linefeed
  - >> drawClearIO
  - >> __aeabi_uidivmod
  [Address Reference Count : 1]
  - dogxl.o(.text)

  byte2hex (ARM, 56 bytes, Stack size 0 bytes, dogxl.o(.text))
  [Called By]

  - >> strf

  strf (ARM, 1504 bytes, Stack size 112 bytes, dogxl.o(.text))
  [Stack]

  - Max Depth = 112 + Unknown Stack Size
  - Call Chain = strf
  [Calls]
  - >> byte2hex
  - >> __aeabi_uidivmod
  [Called By]
  - >> drawf

  drawf (ARM, 64 bytes, Stack size 32 bytes, dogxl.o(.text))
  [Stack]

  - Max Depth = 144 + Unknown Stack Size
  - Call Chain = drawf ⇒ strf
  [Calls]
  - >> strf
  [Called By]
  - >> trouble_codes_show
  - >> car_connect
  - >> show_communication_error
  - >> trouble_codes
  - >> main
  - >> ISR_Vbus
  - >> init_STN
  - >> display_selected_parameters
  - >> other_drive_parameter
  - >> menu_setting
  - >> main_menu
  - >> drive_time_show
  - >> menu_template

  AT91F_DS1337_Bin2Bcd (ARM, 60 bytes, Stack size 16 bytes, ds1337.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = AT91F_DS1337_Bin2Bcd ⇒ __aeabi_idivmod
  [Calls]
  - >> __aeabi_idivmod
  [Called By]
  - >> AT91F_DS1337_SetDateTime

  AT91F_DS1337_Bcd2Bin (ARM, 32 bytes, Stack size 0 bytes, ds1337.o(.text))
  [Called By]

  - >> AT91F_DS1337_ReadDateTime

  AT91F_DS1337_SetDateTime (ARM, 196 bytes, Stack size 24 bytes, ds1337.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = AT91F_DS1337_SetDateTime ⇒ AT91F_DS1337_Bin2Bcd ⇒ __aeabi_idivmod
  [Calls]
  - >> AT91F_DS1337_Bin2Bcd
  [Called By]
  - >> move_menu

  AT91F_DS1337_ReadDateTime (ARM, 196 bytes, Stack size 20 bytes, ds1337.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = AT91F_DS1337_ReadDateTime
  [Calls]
  - >> AT91F_DS1337_Bcd2Bin
  [Called By]
  - >> main

  Time_update (ARM, 112 bytes, Stack size 0 bytes, ds1337.o(.text))
  [Called By]

  - >> ISR_Pit

  __I$use$semihosting (ARM, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)

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

  __aeabi_memcpy4 (ARM, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __aeabi_memcpy4
  [Called By]
  - >> FindClockConfiguration

  __aeabi_memcpy8 (ARM, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED)

  __rt_memcpy_w (ARM, 100 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED)

  _memcpy_lastbytes_aligned (ARM, 0 bytes, Stack size unknown bytes, rt_memcpy_w.o(.text), UNUSED)

  __aeabi_memset (ARM, 16 bytes, Stack size 0 bytes, aeabi_memset.o(.text))
  [Calls]

  - >> _memset
  [Called By]
  - >> USBDDriver_Initialize

  __aeabi_uwrite4 (ARM, 0 bytes, Stack size 0 bytes, uwrite4.o(.text))
  [Called By]

  - >> CDCLineCoding_Initialize

  __rt_uwrite4 (ARM, 32 bytes, Stack size 0 bytes, uwrite4.o(.text), UNUSED)

  __aeabi_idiv (ARM, 0 bytes, Stack size 8 bytes, aeabi_sdiv.o(.text), UNUSED)

  __aeabi_idivmod (ARM, 384 bytes, Stack size 8 bytes, aeabi_sdiv.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __aeabi_idivmod
  [Called By]
  - >> AT91F_DS1337_Bin2Bcd
  - >> trottle_pos_calculate
  - >> fuel_MAF_calculate
  - >> fuel_rate_calculate
  - >> engine_load_calculate
  - >> Backlight_set
  - >> drive_time_show

  __read_errno (Thumb, 14 bytes, Stack size 8 bytes, _rserrno.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_errno_addr (via Veneer)

  __set_errno (Thumb, 12 bytes, Stack size 8 bytes, _rserrno.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __set_errno
  [Calls]
  - >> __aeabi_errno_addr (via Veneer)
  [Called By]
  - >> sqrt (via Veneer)
  - >> pow (via Veneer)

  __aeabi_memclr (ARM, 0 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)

  __rt_memclr (ARM, 64 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)
  [Calls]

  - >> _memset_w

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

  - >> __aeabi_memset

  __aeabi_errno_addr (ARM, 12 bytes, Stack size 0 bytes, rt_errno_addr_intlibspace.o(.text))
  [Called By]

  - >> __set_errno (via Veneer)
  - >> __read_errno (via Veneer)

  __errno$intlibspace (ARM, 0 bytes, Stack size 0 bytes, rt_errno_addr_intlibspace.o(.text), UNUSED)

  __rt_errno_addr$intlibspace (ARM, 0 bytes, Stack size 0 bytes, rt_errno_addr_intlibspace.o(.text), UNUSED)

  __aeabi_memclr4 (ARM, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED)

  __aeabi_memclr8 (ARM, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED)

  __rt_memclr_w (ARM, 84 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED)

  _memset_w (ARM, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text), UNUSED)
  [Called By]

  - >> __rt_memclr

  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

  __rt_fp_status_addr (ARM, 12 bytes, Stack size 0 bytes, rt_fp_status_addr_intlibspace.o(.text))
  [Called By]

  - >> _fp_init

  __aeabi_uidiv (ARM, 0 bytes, Stack size 0 bytes, aeabi_sdiv.o(.text_udiv), UNUSED)

  __aeabi_uidivmod (ARM, 36 bytes, Stack size 0 bytes, aeabi_sdiv.o(.text_udiv))
  [Calls]

  - >> __arm_div_large
  - >> __arm_div2
  - >> __arm_div5
  - >> __arm_div8
  [Called By]
  - >> USART_Configure
  - >> DBGU_Configure
  - >> strf
  - >> drawPutc
  - >> fuel_MAF_calculate
  - >> fuel_rate_calculate
  - >> FindClockConfiguration
  - >> ADC_Initialize
  - >> TWI_ConfigureMaster
  - >> main
  - >> other_drive_parameter

  __ARM_fpclassify (ARM, 48 bytes, Stack size 0 bytes, fpclassify.o(i.__ARM_fpclassify))
  [Called By]

  - >> pow

  __kernel_poly (ARM, 256 bytes, Stack size 24 bytes, poly.o(i.__kernel_poly))
  [Stack]

  - Max Depth = 56
  - Call Chain = __kernel_poly ⇒ __aeabi_dmul
  [Calls]
  - >> __aeabi_dmul
  - >> __aeabi_dadd
  [Called By]
  - >> pow

  __mathlib_dbl_underflow (ARM, 20 bytes, Stack size 0 bytes, dunder.o(i.__mathlib_dbl_underflow))
  [Calls]

  - >> __ARM_scalbn
  [Called By]
  - >> pow

  pow (ARM, 3828 bytes, Stack size 120 bytes, pow.o(i.pow))
  [Stack]

  - Max Depth = 184
  - Call Chain = pow ⇒ sqrt ⇒ _dsqrt ⇒ __fpl_dnaninf
  [Calls]
  - >> sqrt
  - >> __kernel_poly
  - >> __ARM_fpclassify
  - >> __mathlib_dbl_underflow
  - >> __ARM_scalbn
  - >> __aeabi_cdrcmple
  - >> __aeabi_dmul
  - >> __aeabi_dsub
  - >> __aeabi_drsub
  - >> __aeabi_dadd
  - >> __set_errno (via Veneer)
  - >> __aeabi_i2d
  - >> __aeabi_ddiv
  [Called By]
  - >> TWI_ConfigureMaster

  sqrt (ARM, 112 bytes, Stack size 24 bytes, sqrt.o(i.sqrt))
  [Stack]

  - Max Depth = 64
  - Call Chain = sqrt ⇒ _dsqrt ⇒ __fpl_dnaninf
  [Calls]
  - >> _dsqrt
  - >> __set_errno (via Veneer)
  [Called By]
  - >> pow

  __aeabi_dadd (ARM, 0 bytes, Stack size 16 bytes, daddsub_noclz.o(x$fpl$dadd))
  [Stack]

  - Max Depth = 16
  - Call Chain = __aeabi_dadd
  [Called By]
  - >> __kernel_poly
  - >> pow

  _dadd (ARM, 336 bytes, Stack size 16 bytes, daddsub_noclz.o(x$fpl$dadd), UNUSED)
  [Calls]

  - >> __fpl_dretinf
  - >> __fpl_dnaninf
  - >> _dsub1

  __fpl_dcheck_NaN1 (ARM, 12 bytes, Stack size 0 bytes, dcheck1.o(x$fpl$dcheck1))
  [Calls]

  - >> __fpl_return_NaN
  [Called By]
  - >> __ARM_scalbn

  __fpl_dcmp_Inf (ARM, 28 bytes, Stack size 0 bytes, dcmpi.o(x$fpl$dcmpinf), UNUSED)
  [Called By]

  - >> _dcmple

  __aeabi_ddiv (ARM, 0 bytes, Stack size 32 bytes, ddiv.o(x$fpl$ddiv))
  [Stack]

  - Max Depth = 32
  - Call Chain = __aeabi_ddiv
  [Called By]
  - >> TWI_ConfigureMaster
  - >> pow

  _ddiv (ARM, 600 bytes, Stack size 32 bytes, ddiv.o(x$fpl$ddiv), UNUSED)
  [Calls]

  - >> __fpl_dretinf
  - >> __fpl_dnaninf

  __aeabi_d2uiz (ARM, 0 bytes, Stack size 32 bytes, dfixu.o(x$fpl$dfixu))
  [Stack]

  - Max Depth = 32
  - Call Chain = __aeabi_d2uiz
  [Called By]
  - >> TWI_ConfigureMaster

  _dfixu (ARM, 112 bytes, Stack size 32 bytes, dfixu.o(x$fpl$dfixu), UNUSED)
  [Calls]

  - >> __fpl_dnaninf

  __aeabi_i2d (ARM, 0 bytes, Stack size 0 bytes, dflt_noclz.o(x$fpl$dflt))
  [Called By]

  - >> pow

  _dflt (ARM, 88 bytes, Stack size 0 bytes, dflt_noclz.o(x$fpl$dflt), UNUSED)

  __dflt_normalise (ARM, 0 bytes, Stack size unknown bytes, dflt_noclz.o(x$fpl$dflt), UNUSED)
  [Called By]

  - >> _dfltu

  __aeabi_ui2d (ARM, 0 bytes, Stack size 0 bytes, dflt_noclz.o(x$fpl$dfltu))
  [Called By]

  - >> TWI_ConfigureMaster

  _dfltu (ARM, 12 bytes, Stack size 0 bytes, dflt_noclz.o(x$fpl$dfltu), UNUSED)
  [Calls]

  - >> __dflt_normalise

  __aeabi_cdcmple (ARM, 0 bytes, Stack size 32 bytes, dleqf.o(x$fpl$dleqf), UNUSED)
  [Called By]

  _dcmple (ARM, 148 bytes, Stack size 32 bytes, dleqf.o(x$fpl$dleqf), UNUSED)
  [Calls]

  - >> __fpl_dcmp_Inf
  - >> __fpl_dnaninf

  __fpl_dcmple_InfNaN (ARM, 0 bytes, Stack size unknown bytes, dleqf.o(x$fpl$dleqf), UNUSED)
  [Called By]

  - >> _drcmple

  __aeabi_dmul (ARM, 0 bytes, Stack size 32 bytes, dmul.o(x$fpl$dmul))
  [Stack]

  - Max Depth = 32
  - Call Chain = __aeabi_dmul
  [Called By]
  - >> __kernel_poly
  - >> pow

  _dmul (ARM, 372 bytes, Stack size 32 bytes, dmul.o(x$fpl$dmul), UNUSED)
  [Calls]

  - >> __fpl_dretinf
  - >> __fpl_dnaninf

  __fpl_dnaninf (ARM, 192 bytes, Stack size 16 bytes, dnaninf.o(x$fpl$dnaninf))
  [Stack]

  - Max Depth = 16
  - Call Chain = __fpl_dnaninf
  [Called By]
  - >> _dsqrt
  - >> _dcmple
  - >> _dmul
  - >> _dsub
  - >> _dadd
  - >> _dfixu
  - >> _ddiv

  __fpl_dretinf (ARM, 16 bytes, Stack size 0 bytes, dretinf.o(x$fpl$dretinf), UNUSED)
  [Called By]

  - >> _dmul
  - >> _dadd
  - >> _ddiv

  __aeabi_cdrcmple (ARM, 0 bytes, Stack size 16 bytes, drleqf.o(x$fpl$drleqf))
  [Stack]

  - Max Depth = 16
  - Call Chain = __aeabi_cdrcmple
  [Called By]
  - >> pow

  _drcmple (ARM, 140 bytes, Stack size 16 bytes, drleqf.o(x$fpl$drleqf), UNUSED)
  [Calls]

  - >> __fpl_dcmple_InfNaN

  __aeabi_drsub (ARM, 0 bytes, Stack size 8 bytes, daddsub_noclz.o(x$fpl$drsb))
  [Stack]

  - Max Depth = 8
  - Call Chain = __aeabi_drsub
  [Called By]
  - >> pow

  _drsb (ARM, 24 bytes, Stack size 8 bytes, daddsub_noclz.o(x$fpl$drsb), UNUSED)
  [Calls]

  - >> _dsub1
  - >> _dadd1

  _dsqrt (ARM, 516 bytes, Stack size 24 bytes, dsqrt_noumaal.o(x$fpl$dsqrt))
  [Stack]

  - Max Depth = 40
  - Call Chain = _dsqrt ⇒ __fpl_dnaninf
  [Calls]
  - >> __fpl_dnaninf
  [Called By]
  - >> sqrt

  __aeabi_dsub (ARM, 0 bytes, Stack size 32 bytes, daddsub_noclz.o(x$fpl$dsub))
  [Stack]

  - Max Depth = 32
  - Call Chain = __aeabi_dsub
  [Called By]
  - >> pow

  _dsub (ARM, 576 bytes, Stack size 32 bytes, daddsub_noclz.o(x$fpl$dsub), UNUSED)
  [Calls]

  - >> __fpl_dnaninf
  - >> _dadd1

  _fp_init (ARM, 24 bytes, Stack size 8 bytes, fpinit.o(x$fpl$fpinit))
  [Stack]

  - Max Depth = 8
  - Call Chain = _fp_init
  [Calls]
  - >> __rt_fp_status_addr
  [Called By]
  - >> __rt_lib_init (via Veneer)

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

  __fpl_return_NaN (ARM, 116 bytes, Stack size 0 bytes, retnan.o(x$fpl$retnan))
  [Calls]

  - >> __fpl_cmpreturn
  [Called By]
  - >> __fpl_dcheck_NaN1

  __ARM_scalbn (ARM, 104 bytes, Stack size 0 bytes, scalbn.o(x$fpl$scalbn))
  [Calls]

  - >> __fpl_dcheck_NaN1
  [Called By]
  - >> __mathlib_dbl_underflow
  - >> pow

  __fpl_cmpreturn (ARM, 60 bytes, Stack size 0 bytes, trapv.o(x$fpl$trapveneer))
  [Called By]

  - >> __fpl_return_NaN

  __I$use$fp (ARM, 0 bytes, Stack size unknown bytes, usenofp.o(x$fpl$usenofp), UNUSED)

  ### Local Symbols

  PIO_SetPeripheralA (ARM, 36 bytes, Stack size 0 bytes, pio.o(.text))
  [Called By]

  - >> PIO_Configure

  PIO_SetPeripheralB (ARM, 36 bytes, Stack size 0 bytes, pio.o(.text))
  [Called By]

  - >> PIO_Configure

  PIO_SetInput (ARM, 56 bytes, Stack size 0 bytes, pio.o(.text))
  [Called By]

  - >> PIO_Configure

  PIO_SetOutput (ARM, 80 bytes, Stack size 0 bytes, pio.o(.text))
  [Called By]

  - >> PIO_Configure

  PioInterruptHandler (ARM, 164 bytes, Stack size 24 bytes, pio_it.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = PioInterruptHandler
  [Called By]
  - >> InterruptHandler

  InterruptHandler (ARM, 24 bytes, Stack size 8 bytes, pio_it.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = InterruptHandler ⇒ PioInterruptHandler
  [Calls]
  - >> PioInterruptHandler
  [Address Reference Count : 1]
  - pio_it.o(.text)

  CDCDSerialDriver_SetLineCodingCallback (ARM, 36 bytes, Stack size 8 bytes, cdcdserialdriver.o(.text))
  [Stack]

  - Max Depth = 44
  - Call Chain = CDCDSerialDriver_SetLineCodingCallback ⇒ USBD_Write ⇒ UDP_WritePayload
  [Calls]
  - >> USBD_Write
  [Address Reference Count : 1]
  - cdcdserialdriver.o(.text)

  CDCDSerialDriver_SetLineCoding (ARM, 36 bytes, Stack size 8 bytes, cdcdserialdriver.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = CDCDSerialDriver_SetLineCoding ⇒ USBD_Read
  [Calls]
  - >> USBD_Read
  [Called By]
  - >> CDCDSerialDriver_RequestHandler

  CDCDSerialDriver_GetLineCoding (ARM, 36 bytes, Stack size 8 bytes, cdcdserialdriver.o(.text))
  [Stack]

  - Max Depth = 44
  - Call Chain = CDCDSerialDriver_GetLineCoding ⇒ USBD_Write ⇒ UDP_WritePayload
  [Calls]
  - >> USBD_Write
  [Called By]
  - >> CDCDSerialDriver_RequestHandler

  CDCDSerialDriver_SetControlLineState (ARM, 52 bytes, Stack size 16 bytes, cdcdserialdriver.o(.text))
  [Stack]

  - Max Depth = 52
  - Call Chain = CDCDSerialDriver_SetControlLineState ⇒ USBD_Write ⇒ UDP_WritePayload
  [Calls]
  - >> USBD_Write
  [Called By]
  - >> CDCDSerialDriver_RequestHandler

  SetConfiguration (ARM, 176 bytes, Stack size 48 bytes, usbddriver.o(.text))
  [Stack]

  - Max Depth = 96
  - Call Chain = SetConfiguration ⇒ USBD_ConfigureEndpoint ⇒ UDP_EndOfTransfer
  [Calls]
  - >> USBD_SetConfiguration
  - >> USBD_IsHighSpeed
  - >> USBD_ConfigureEndpoint
  - >> USBDDriverCallbacks_ConfigurationChanged
  - >> USBD_Write
  - >> USBConfigurationDescriptor_Parse
  [Called By]
  - >> USBDDriver_RequestHandler

  GetConfiguration (ARM, 40 bytes, Stack size 16 bytes, usbddriver.o(.text))
  [Stack]

  - Max Depth = 52
  - Call Chain = GetConfiguration ⇒ USBD_Write ⇒ UDP_WritePayload
  [Calls]
  - >> USBD_Write
  [Called By]
  - >> USBDDriver_RequestHandler

  GetDeviceStatus (ARM, 144 bytes, Stack size 24 bytes, usbddriver.o(.text))
  [Stack]

  - Max Depth = 60
  - Call Chain = GetDeviceStatus ⇒ USBD_Write ⇒ UDP_WritePayload
  [Calls]
  - >> USBD_IsHighSpeed
  - >> USBD_Write
  - >> USBConfigurationDescriptor_IsSelfPowered
  [Called By]
  - >> USBDDriver_RequestHandler

  GetEndpointStatus (ARM, 88 bytes, Stack size 16 bytes, usbddriver.o(.text))
  [Stack]

  - Max Depth = 52
  - Call Chain = GetEndpointStatus ⇒ USBD_Write ⇒ UDP_WritePayload
  [Calls]
  - >> USBD_Stall
  - >> USBD_IsHalted
  - >> USBD_Write
  [Called By]
  - >> USBDDriver_RequestHandler

  GetDescriptor (ARM, 572 bytes, Stack size 56 bytes, usbddriver.o(.text))
  [Stack]

  - Max Depth = 92
  - Call Chain = GetDescriptor ⇒ USBD_Write ⇒ UDP_WritePayload
  [Calls]
  - >> USBD_Stall
  - >> USBD_IsHighSpeed
  - >> USBD_Write
  - >> USBGenericDescriptor_GetLength
  - >> USBConfigurationDescriptor_GetTotalLength
  [Called By]
  - >> USBDDriver_RequestHandler

  SetInterface (ARM, 108 bytes, Stack size 24 bytes, usbddriver.o(.text))
  [Stack]

  - Max Depth = 60
  - Call Chain = SetInterface ⇒ USBD_Write ⇒ UDP_WritePayload
  [Calls]
  - >> USBD_Stall
  - >> USBDDriverCallbacks_InterfaceSettingChanged
  - >> USBD_Write
  [Called By]
  - >> USBDDriver_RequestHandler

  GetInterface (ARM, 76 bytes, Stack size 16 bytes, usbddriver.o(.text))
  [Stack]

  - Max Depth = 52
  - Call Chain = GetInterface ⇒ USBD_Write ⇒ UDP_WritePayload
  [Calls]
  - >> USBD_Stall
  - >> USBD_Write
  [Called By]
  - >> USBDDriver_RequestHandler

  UDP_EndOfTransfer (ARM, 116 bytes, Stack size 24 bytes, usbd_udp.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = UDP_EndOfTransfer
  [Called By]
  - >> UDP_EndpointHandler
  - >> UDP_DisableEndpoints
  - >> USBD_Halt
  - >> USBD_ConfigureEndpoint

  UDP_ClearRxFlag (ARM, 172 bytes, Stack size 0 bytes, usbd_udp.o(.text))
  [Called By]

  - >> UDP_EndpointHandler

  UDP_WritePayload (ARM, 120 bytes, Stack size 4 bytes, usbd_udp.o(.text))
  [Stack]

  - Max Depth = 4
  - Call Chain = UDP_WritePayload
  [Called By]
  - >> UDP_EndpointHandler
  - >> USBD_Write

  UDP_ReadPayload (ARM, 136 bytes, Stack size 4 bytes, usbd_udp.o(.text))
  [Stack]

  - Max Depth = 4
  - Call Chain = UDP_ReadPayload
  [Called By]
  - >> UDP_EndpointHandler

  UDP_ReadRequest (ARM, 48 bytes, Stack size 0 bytes, usbd_udp.o(.text))
  [Called By]

  - >> UDP_EndpointHandler

  UDP_ResetEndpoints (ARM, 88 bytes, Stack size 0 bytes, usbd_udp.o(.text))
  [Called By]

  - >> USBD_InterruptHandler
  - >> USBD_Init

  UDP_DisableEndpoints (ARM, 64 bytes, Stack size 8 bytes, usbd_udp.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = UDP_DisableEndpoints ⇒ UDP_EndOfTransfer
  [Calls]
  - >> UDP_EndOfTransfer
  [Called By]
  - >> USBD_SetConfiguration
  - >> USBD_InterruptHandler

  UDP_IsTransferFinished (ARM, 112 bytes, Stack size 0 bytes, usbd_udp.o(.text))
  [Called By]

  - >> UDP_EndpointHandler

  UDP_EndpointHandler (ARM, 972 bytes, Stack size 32 bytes, usbd_udp.o(.text))
  [Stack]

  - Max Depth = 200
  - Call Chain = UDP_EndpointHandler ⇒ USBDCallbacks_RequestReceived ⇒ CDCDSerialDriver_RequestHandler ⇒ USBDDriver_RequestHandler ⇒ SetConfiguration ⇒ USBD_ConfigureEndpoint ⇒ UDP_EndOfTransfer
  [Calls]
  - >> UDP_IsTransferFinished
  - >> UDP_ReadRequest
  - >> UDP_ReadPayload
  - >> UDP_WritePayload
  - >> UDP_ClearRxFlag
  - >> UDP_EndOfTransfer
  - >> USBDCallbacks_RequestReceived
  - >> USBGenericRequest_GetDirection
  [Called By]
  - >> USBD_InterruptHandler

  UDP_EnableTransceiver (ARM, 24 bytes, Stack size 0 bytes, usbd_udp.o(.text))
  [Called By]

  - >> USBD_InterruptHandler

  BOARD_GetRemap (ARM, 60 bytes, Stack size 0 bytes, board_memories.o(.text))
  [Called By]

  - >> BOARD_RemapRam

  label (ARM, 0 bytes, Stack size unknown bytes, board_cstartup_keil.o(cstartup))
  [Address Reference Count : 1]

  - board_cstartup_keil.o(cstartup)

  ISR_Vbus (ARM, 260 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 152 + Unknown Stack Size
  - Call Chain = ISR_Vbus ⇒ drawf ⇒ strf
  [Calls]
  - >> USBD_Disconnect
  - >> USBD_Connect
  - >> PIO_Get
  - >> drawWriteIO
  - >> drawBox
  - >> TC_Stop
  - >> TC_Start
  - >> PIT_EnableIT
  - >> PIT_DisableIT
  - >> delay2
  - >> drawf
  - >> drawXY
  - >> drawTextXY
  - >> drawSetFont
  [Address Reference Count : 1]
  - main.o(.text)

  VBus_Configure (ARM, 36 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = VBus_Configure ⇒ PIO_Configure
  [Calls]
  - >> PIO_ConfigureIt
  - >> PIO_Configure
  [Called By]
  - >> main
  [Address Reference Count : 1]
  - palubni_pocitac.o(.text)

  ISR_Timer0 (ARM, 336 bytes, Stack size 16 bytes, main.o(.text))
  [Stack]

  - Max Depth = 76
  - Call Chain = ISR_Timer0 ⇒ CDCDSerialDriver_Write ⇒ USBD_Write ⇒ UDP_WritePayload
  [Calls]
  - >> CDCDSerialDriver_Write
  - >> USART_ReadBuffer
  [Address Reference Count : 1]
  - main.o(.text)

  UsbDataReceived (ARM, 80 bytes, Stack size 24 bytes, main.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = UsbDataReceived
  [Calls]
  - >> USART_WriteBuffer
  [Address Reference Count : 1]
  - main.o(.text)

  ISR_Usart0 (ARM, 372 bytes, Stack size 16 bytes, main.o(.text))
  [Stack]

  - Max Depth = 192 + Unknown Stack Size
  - Call Chain = ISR_Usart0 ⇒ OBD_detect ⇒ trouble_codes_show ⇒ drawf ⇒ strf
  [Calls]
  - >> USBD_GetState
  - >> CDCDSerialDriver_SetSerialState
  - >> CDCDSerialDriver_GetSerialState
  - >> CDCDSerialDriver_Write
  - >> CDCDSerialDriver_Read
  - >> USART_ReadBuffer
  - >> OBD_detect
  [Address Reference Count : 1]
  - main.o(.text)

  spi9Send (ARM, 64 bytes, Stack size 24 bytes, spi.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = spi9Send
  [Calls]
  - >> spiWrite
  [Called By]
  - >> spi9Command2IO
  - >> spi9CommandIO
  - >> spi9DataIO

  ADC_CfgModeReg (ARM, 36 bytes, Stack size 0 bytes, adc.o(.text))
  [Called By]

  - >> ADC_Initialize
  [Address Reference Count : 1]
  - main.o(.text)

  FindClockConfiguration (ARM, 184 bytes, Stack size 72 bytes, pwmc.o(.text))
  [Stack]

  - Max Depth = 80 + Unknown Stack Size
  - Call Chain = FindClockConfiguration ⇒ __aeabi_memcpy4
  [Calls]
  - >> __aeabi_uidivmod
  - >> __aeabi_memcpy4
  [Called By]
  - >> PWMC_ConfigureClocks

  linefeed (ARM, 132 bytes, Stack size 0 bytes, dogxl.o(.text))
  [Called By]

  - >> drawPutc

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

  - >> __aeabi_uidivmod

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

  - >> __aeabi_uidivmod

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

  - >> __aeabi_uidivmod

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

  - >> __aeabi_uidivmod

  ddiv_entry (ARM, 0 bytes, Stack size unknown bytes, ddiv.o(x$fpl$ddiv), UNUSED)
  [Called By]

  _dadd1 (ARM, 0 bytes, Stack size unknown bytes, daddsub_noclz.o(x$fpl$dadd), UNUSED)
  [Called By]

  - >> _dsub
  - >> _drsb

  _dsub1 (ARM, 0 bytes, Stack size unknown bytes, daddsub_noclz.o(x$fpl$dsub), UNUSED)
  [Called By]

  - >> _drsb
  - >> _dadd

  ### Undefined Global Symbols

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

  - >> exit

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