# Static Call Graph for image .\Objects\empty_LP_MSPM0L1306_nortos_keil.axf

#<CALLGRAPH># ARM Linker, 6210000: Last Updated: Fri Aug 29 16:31:08 2025

### Maximum Stack Usage = 280 bytes + Unknown(Cycles, Untraceable Function Pointers)

### Call chain for Maximum Stack Depth:

main ⇒ No_MCU_Ganv_Sensor_Init ⇒ __aeabi_dsub ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ __aeabi_llsr

### Mutually Recursive functions

- NMI_Handler ⇒ NMI_Handler
- HardFault_Handler ⇒ HardFault_Handler
- SVC_Handler ⇒ SVC_Handler
- PendSV_Handler ⇒ PendSV_Handler

  ### Function Pointers

  - ADC0_IRQHandler from startup_mspm0l130x_uvision.o(.text) referenced from startup_mspm0l130x_uvision.o(RESET)
  - DMA_IRQHandler from startup_mspm0l130x_uvision.o(.text) referenced from startup_mspm0l130x_uvision.o(RESET)
  - GROUP0_IRQHandler from startup_mspm0l130x_uvision.o(.text) referenced from startup_mspm0l130x_uvision.o(RESET)
  - GROUP1_IRQHandler from key.o(.text.GROUP1_IRQHandler) referenced from startup_mspm0l130x_uvision.o(RESET)
  - HardFault_Handler from startup_mspm0l130x_uvision.o(.text) referenced from startup_mspm0l130x_uvision.o(RESET)
  - I2C0_IRQHandler from startup_mspm0l130x_uvision.o(.text) referenced from startup_mspm0l130x_uvision.o(RESET)
  - I2C1_IRQHandler from startup_mspm0l130x_uvision.o(.text) referenced from startup_mspm0l130x_uvision.o(RESET)
  - NMI_Handler from startup_mspm0l130x_uvision.o(.text) referenced from startup_mspm0l130x_uvision.o(RESET)
  - PendSV_Handler from startup_mspm0l130x_uvision.o(.text) referenced from startup_mspm0l130x_uvision.o(RESET)
  - Reset_Handler from startup_mspm0l130x_uvision.o(.text) referenced from startup_mspm0l130x_uvision.o(RESET)
  - SPI0_IRQHandler from startup_mspm0l130x_uvision.o(.text) referenced from startup_mspm0l130x_uvision.o(RESET)
  - SVC_Handler from startup_mspm0l130x_uvision.o(.text) referenced from startup_mspm0l130x_uvision.o(RESET)
  - SysTick_Handler from delay.o(.text.SysTick_Handler) referenced from startup_mspm0l130x_uvision.o(RESET)
  - TIMG0_IRQHandler from l298n.o(.text.TIMG0_IRQHandler) referenced from startup_mspm0l130x_uvision.o(RESET)
  - TIMG1_IRQHandler from startup_mspm0l130x_uvision.o(.text) referenced from startup_mspm0l130x_uvision.o(RESET)
  - TIMG2_IRQHandler from startup_mspm0l130x_uvision.o(.text) referenced from startup_mspm0l130x_uvision.o(RESET)
  - TIMG4_IRQHandler from startup_mspm0l130x_uvision.o(.text) referenced from startup_mspm0l130x_uvision.o(RESET)
  - UART0_IRQHandler from startup_mspm0l130x_uvision.o(.text) referenced from startup_mspm0l130x_uvision.o(RESET)
  - UART1_IRQHandler from startup_mspm0l130x_uvision.o(.text) referenced from startup_mspm0l130x_uvision.o(RESET)
  - __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_mspm0l130x_uvision.o(.text)
  - fputc from main.o(.text.fputc) referenced from printfa.o(i.__0printf)
  - main from main.o(.text.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)

  ### Global Symbols

  __main (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
  [Address Reference Count : 1]

  - startup_mspm0l130x_uvision.o(.text)

  _main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))

  _main_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
  [Calls]

  - >> __scatterload

  __main_after_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
  [Called By]

  - >> __scatterload

  _main_clock (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))

  _main_cpp_init (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))

  _main_init (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))

  __rt_final_cpp (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D))

  __rt_final_exit (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F))

  Reset_Handler (Thumb, 4 bytes, Stack size 0 bytes, startup_mspm0l130x_uvision.o(.text))
  [Address Reference Count : 1]

  - startup_mspm0l130x_uvision.o(RESET)

  NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_mspm0l130x_uvision.o(.text))
  [Calls]

  - >> NMI_Handler
  [Called By]
  - >> NMI_Handler
  [Address Reference Count : 1]
  - startup_mspm0l130x_uvision.o(RESET)

  HardFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_mspm0l130x_uvision.o(.text))
  [Calls]

  - >> HardFault_Handler
  [Called By]
  - >> HardFault_Handler
  [Address Reference Count : 1]
  - startup_mspm0l130x_uvision.o(RESET)

  SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_mspm0l130x_uvision.o(.text))
  [Calls]

  - >> SVC_Handler
  [Called By]
  - >> SVC_Handler
  [Address Reference Count : 1]
  - startup_mspm0l130x_uvision.o(RESET)

  PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_mspm0l130x_uvision.o(.text))
  [Calls]

  - >> PendSV_Handler
  [Called By]
  - >> PendSV_Handler
  [Address Reference Count : 1]
  - startup_mspm0l130x_uvision.o(RESET)

  ADC0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_mspm0l130x_uvision.o(.text))
  [Address Reference Count : 1]

  - startup_mspm0l130x_uvision.o(RESET)

  DMA_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_mspm0l130x_uvision.o(.text))
  [Address Reference Count : 1]

  - startup_mspm0l130x_uvision.o(RESET)

  Default_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_mspm0l130x_uvision.o(.text), UNUSED)
  [Calls]

  - >> Default_Handler
  [Called By]
  - >> Default_Handler

  GROUP0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_mspm0l130x_uvision.o(.text))
  [Address Reference Count : 1]

  - startup_mspm0l130x_uvision.o(RESET)

  I2C0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_mspm0l130x_uvision.o(.text))
  [Address Reference Count : 1]

  - startup_mspm0l130x_uvision.o(RESET)

  I2C1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_mspm0l130x_uvision.o(.text))
  [Address Reference Count : 1]

  - startup_mspm0l130x_uvision.o(RESET)

  SPI0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_mspm0l130x_uvision.o(.text))
  [Address Reference Count : 1]

  - startup_mspm0l130x_uvision.o(RESET)

  TIMG1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_mspm0l130x_uvision.o(.text))
  [Address Reference Count : 1]

  - startup_mspm0l130x_uvision.o(RESET)

  TIMG2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_mspm0l130x_uvision.o(.text))
  [Address Reference Count : 1]

  - startup_mspm0l130x_uvision.o(RESET)

  TIMG4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_mspm0l130x_uvision.o(.text))
  [Address Reference Count : 1]

  - startup_mspm0l130x_uvision.o(RESET)

  UART0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_mspm0l130x_uvision.o(.text))
  [Address Reference Count : 1]

  - startup_mspm0l130x_uvision.o(RESET)

  UART1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_mspm0l130x_uvision.o(.text))
  [Address Reference Count : 1]

  - startup_mspm0l130x_uvision.o(RESET)

  __aeabi_memcpy (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text))
  [Called By]

  - >> Get_Normalize_For_User

  __aeabi_memcpy4 (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED)

  __aeabi_memcpy8 (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED)

  __aeabi_memset (Thumb, 14 bytes, Stack size 0 bytes, memseta.o(.text))
  [Called By]

  - >> _memset$wrapper
  - >> __aeabi_memclr

  __aeabi_memset4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

  __aeabi_memset8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

  __aeabi_memclr (Thumb, 4 bytes, Stack size 0 bytes, memseta.o(.text))
  [Calls]

  - >> __aeabi_memset
  [Called By]
  - >> adc_getValue

  __aeabi_memclr4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

  __aeabi_memclr8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

  _memset$wrapper (Thumb, 18 bytes, Stack size 8 bytes, memseta.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_memset

  __aeabi_fadd (Thumb, 162 bytes, Stack size 24 bytes, fadd.o(.text))
  [Stack]

  - Max Depth = 36
  - Call Chain = __aeabi_fadd ⇒ _float_epilogue
  [Calls]
  - >> _float_round
  - >> _float_epilogue
  [Called By]
  - >> __aeabi_fsub
  - >> __aeabi_frsub

  __aeabi_fsub (Thumb, 8 bytes, Stack size 0 bytes, fadd.o(.text))
  [Stack]

  - Max Depth = 36
  - Call Chain = __aeabi_fsub ⇒ __aeabi_fadd ⇒ _float_epilogue
  [Calls]
  - >> __aeabi_fadd
  [Called By]
  - >> Pid_Yaw

  __aeabi_frsub (Thumb, 8 bytes, Stack size 0 bytes, fadd.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_fadd

  __aeabi_dadd (Thumb, 328 bytes, Stack size 48 bytes, dadd.o(.text))
  [Stack]

  - Max Depth = 104
  - Call Chain = __aeabi_dadd ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> __aeabi_lasr
  - >> __aeabi_llsl
  - >> _double_round
  - >> _double_epilogue
  [Called By]
  - >> __aeabi_dsub
  - >> __aeabi_drsub
  - >> _fp_digits

  __aeabi_dsub (Thumb, 12 bytes, Stack size 8 bytes, dadd.o(.text))
  [Stack]

  - Max Depth = 112
  - Call Chain = __aeabi_dsub ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> __aeabi_dadd
  [Called By]
  - >> No_MCU_Ganv_Sensor_Init

  __aeabi_drsub (Thumb, 12 bytes, Stack size 8 bytes, dadd.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_dadd

  __aeabi_dmul (Thumb, 202 bytes, Stack size 72 bytes, dmul.o(.text))
  [Stack]

  - Max Depth = 128
  - Call Chain = __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> _double_epilogue
  [Called By]
  - >> normalizeAnalogValues
  - >> _fp_digits

  __aeabi_ddiv (Thumb, 234 bytes, Stack size 40 bytes, ddiv.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = __aeabi_ddiv ⇒ _double_round
  [Calls]
  - >> _double_round
  [Called By]
  - >> No_MCU_Ganv_Sensor_Init
  - >> _fp_digits

  __aeabi_dcmple (Thumb, 44 bytes, Stack size 8 bytes, dcmple.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __aeabi_dcmple
  [Called By]
  - >> normalizeAnalogValues

  __aeabi_i2f (Thumb, 22 bytes, Stack size 8 bytes, fflti.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = __aeabi_i2f ⇒ _float_epilogue
  [Calls]
  - >> _float_epilogue
  [Called By]
  - >> Pid_Yaw

  __aeabi_i2d (Thumb, 34 bytes, Stack size 16 bytes, dflti.o(.text))
  [Stack]

  - Max Depth = 72
  - Call Chain = __aeabi_i2d ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> _double_epilogue
  [Called By]
  - >> normalizeAnalogValues

  __aeabi_ui2d (Thumb, 24 bytes, Stack size 16 bytes, dfltui.o(.text))
  [Stack]

  - Max Depth = 72
  - Call Chain = __aeabi_ui2d ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> _double_epilogue
  [Called By]
  - >> No_MCU_Ganv_Sensor_Init

  __aeabi_f2iz (Thumb, 50 bytes, Stack size 0 bytes, ffixi.o(.text))
  [Called By]

  - >> Pid_Yaw

  __aeabi_d2iz (Thumb, 62 bytes, Stack size 16 bytes, dfixi.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = __aeabi_d2iz ⇒ __aeabi_llsr
  [Calls]
  - >> __aeabi_llsr
  [Called By]
  - >> normalizeAnalogValues

  __aeabi_uidiv (Thumb, 0 bytes, Stack size 16 bytes, uidiv_div0.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = __aeabi_uidiv
  [Called By]
  - >> adc_getValue
  - >> No_MCU_Ganv_Sensor_Init

  __aeabi_uidivmod (Thumb, 62 bytes, Stack size 16 bytes, uidiv_div0.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = __aeabi_uidivmod
  [Called By]
  - >> Motor_UpdatePWM_B
  - >> Motor_UpdatePWM_A
  - >> __aeabi_idivmod
  - >> _printf_core

  __aeabi_idiv (Thumb, 0 bytes, Stack size 16 bytes, idiv_div0.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = __aeabi_idiv
  [Called By]
  - >> CalculateNormalizedValue

  __aeabi_idivmod (Thumb, 74 bytes, Stack size 16 bytes, idiv_div0.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_uidivmod

  __aeabi_uldivmod (Thumb, 96 bytes, Stack size 48 bytes, uldiv.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_llsr
  - >> __aeabi_llsl
  [Called By]
  - >> _printf_core
  - >> _fp_digits

  __aeabi_llsl (Thumb, 32 bytes, Stack size 8 bytes, llshl.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __aeabi_llsl
  [Called By]
  - >> __aeabi_uldivmod
  - >> _double_epilogue
  - >> __aeabi_dadd
  - >> __aeabi_d2ulz

  _ll_shift_l (Thumb, 0 bytes, Stack size 8 bytes, llshl.o(.text), UNUSED)

  __aeabi_llsr (Thumb, 34 bytes, Stack size 8 bytes, llushr.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __aeabi_llsr
  [Called By]
  - >> __aeabi_d2iz
  - >> __aeabi_uldivmod
  - >> _double_epilogue
  - >> __aeabi_d2ulz

  _ll_ushift_r (Thumb, 0 bytes, Stack size 8 bytes, llushr.o(.text), UNUSED)

  __aeabi_lasr (Thumb, 38 bytes, Stack size 8 bytes, llsshr.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __aeabi_lasr
  [Called By]
  - >> __aeabi_dadd

  _ll_sshift_r (Thumb, 0 bytes, Stack size 8 bytes, llsshr.o(.text), UNUSED)

  __I$use$fp (Thumb, 0 bytes, Stack size 0 bytes, iusefp.o(.text), UNUSED)

  _float_round (Thumb, 16 bytes, Stack size 0 bytes, fepilogue.o(.text))
  [Called By]

  - >> __aeabi_fadd

  _float_epilogue (Thumb, 114 bytes, Stack size 12 bytes, fepilogue.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = _float_epilogue
  [Called By]
  - >> __aeabi_i2f
  - >> __aeabi_fadd

  _double_round (Thumb, 26 bytes, Stack size 8 bytes, depilogue.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = _double_round
  [Called By]
  - >> __aeabi_ddiv
  - >> _double_epilogue
  - >> __aeabi_dadd

  _double_epilogue (Thumb, 164 bytes, Stack size 48 bytes, depilogue.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> __ARM_clz
  - >> __aeabi_llsr
  - >> __aeabi_llsl
  - >> _double_round
  [Called By]
  - >> __aeabi_ui2d
  - >> __aeabi_dmul
  - >> __aeabi_i2d
  - >> __aeabi_dadd

  __aeabi_d2ulz (Thumb, 54 bytes, Stack size 8 bytes, dfixul.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_llsr
  - >> __aeabi_llsl
  [Called By]
  - >> _fp_digits

  __aeabi_cdrcmple (Thumb, 38 bytes, Stack size 0 bytes, cdrcmple.o(.text), UNUSED)
  [Called By]

  - >> _fp_digits

  __scatterload (Thumb, 38 bytes, Stack size 0 bytes, init.o(.text))
  [Calls]

  - >> __main_after_scatterload
  [Called By]
  - >> _main_scatterload

  __scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)

  CalculateNormalizedValue (Thumb, 208 bytes, Stack size 56 bytes, main.o(.text.CalculateNormalizedValue))
  [Stack]

  - Max Depth = 72
  - Call Chain = CalculateNormalizedValue ⇒ __aeabi_idiv
  [Calls]
  - >> __aeabi_idiv
  [Called By]
  - >> main

  DL_ADC12_setClockConfig (Thumb, 64 bytes, Stack size 16 bytes, dl_adc12.o(.text.DL_ADC12_setClockConfig))
  [Stack]

  - Max Depth = 16
  - Call Chain = DL_ADC12_setClockConfig
  [Called By]
  - >> SYSCFG_DL_ADC_VOLTAGE_init

  DL_Common_delayCycles (Thumb, 10 bytes, Stack size 0 bytes, dl_common.o(.text.DL_Common_delayCycles))
  [Called By]

  - >> SYSCFG_DL_initPower

  DL_DMA_initChannel (Thumb, 68 bytes, Stack size 16 bytes, dl_dma.o(.text.DL_DMA_initChannel))
  [Stack]

  - Max Depth = 16
  - Call Chain = DL_DMA_initChannel
  [Called By]
  - >> SYSCFG_DL_DMA_CH0_init

  DL_Timer_initTimerMode (Thumb, 236 bytes, Stack size 16 bytes, dl_timer.o(.text.DL_Timer_initTimerMode))
  [Stack]

  - Max Depth = 16
  - Call Chain = DL_Timer_initTimerMode
  [Called By]
  - >> SYSCFG_DL_TIMER_0_init

  DL_Timer_setClockConfig (Thumb, 28 bytes, Stack size 8 bytes, dl_timer.o(.text.DL_Timer_setClockConfig))
  [Stack]

  - Max Depth = 8
  - Call Chain = DL_Timer_setClockConfig
  [Called By]
  - >> SYSCFG_DL_TIMER_0_init

  DL_UART_init (Thumb, 72 bytes, Stack size 16 bytes, dl_uart.o(.text.DL_UART_init))
  [Stack]

  - Max Depth = 16
  - Call Chain = DL_UART_init
  [Called By]
  - >> SYSCFG_DL_UART_0_init

  DL_UART_setClockConfig (Thumb, 18 bytes, Stack size 8 bytes, dl_uart.o(.text.DL_UART_setClockConfig))
  [Stack]

  - Max Depth = 8
  - Call Chain = DL_UART_setClockConfig
  [Called By]
  - >> SYSCFG_DL_UART_0_init

  GROUP1_IRQHandler (Thumb, 92 bytes, Stack size 16 bytes, key.o(.text.GROUP1_IRQHandler))
  [Stack]

  - Max Depth = 24
  - Call Chain = GROUP1_IRQHandler ⇒ DL_GPIO_readPins
  [Calls]
  - >> DL_GPIO_readPins
  - >> DL_GPIO_getPendingInterrupt
  [Address Reference Count : 1]
  - startup_mspm0l130x_uvision.o(RESET)

  Get_Analog_value (Thumb, 184 bytes, Stack size 24 bytes, no_mcu_ganv_grayscale_sensor.o(.text.Get_Analog_value))
  [Stack]

  - Max Depth = 64
  - Call Chain = Get_Analog_value ⇒ adc_getValue ⇒ __aeabi_uidiv
  [Calls]
  - >> DL_GPIO_clearPins
  - >> DL_GPIO_setPins
  - >> delay_us
  - >> adc_getValue
  [Called By]
  - >> No_Mcu_Ganv_Sensor_Task_Without_tick

  Get_Digtal_For_User (Thumb, 14 bytes, Stack size 4 bytes, no_mcu_ganv_grayscale_sensor.o(.text.Get_Digtal_For_User))
  [Stack]

  - Max Depth = 4
  - Call Chain = Get_Digtal_For_User
  [Called By]
  - >> main

  Get_Normalize_For_User (Thumb, 56 bytes, Stack size 24 bytes, no_mcu_ganv_grayscale_sensor.o(.text.Get_Normalize_For_User))
  [Stack]

  - Max Depth = 24
  - Call Chain = Get_Normalize_For_User
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> main

  Motor_Control (Thumb, 296 bytes, Stack size 24 bytes, l298n.o(.text.Motor_Control))
  [Stack]

  - Max Depth = 84
  - Call Chain = Motor_Control ⇒ Pid_Yaw ⇒ __aeabi_fsub ⇒ __aeabi_fadd ⇒ _float_epilogue
  [Calls]
  - >> Motor_SetDuty_B
  - >> Motor_SetDuty_A
  - >> Pid_Yaw
  [Called By]
  - >> main

  Motor_SetDuty_A (Thumb, 56 bytes, Stack size 4 bytes, l298n.o(.text.Motor_SetDuty_A))
  [Stack]

  - Max Depth = 4
  - Call Chain = Motor_SetDuty_A
  [Called By]
  - >> Motor_Control

  Motor_SetDuty_B (Thumb, 56 bytes, Stack size 4 bytes, l298n.o(.text.Motor_SetDuty_B))
  [Stack]

  - Max Depth = 4
  - Call Chain = Motor_SetDuty_B
  [Called By]
  - >> Motor_Control

  Motor_UpdatePWM_A (Thumb, 160 bytes, Stack size 32 bytes, l298n.o(.text.Motor_UpdatePWM_A))
  [Stack]

  - Max Depth = 48
  - Call Chain = Motor_UpdatePWM_A ⇒ __aeabi_uidivmod
  [Calls]
  - >> DL_GPIO_setPins
  - >> DL_GPIO_clearPins
  - >> __aeabi_uidivmod
  [Called By]
  - >> TIMG0_IRQHandler

  Motor_UpdatePWM_B (Thumb, 184 bytes, Stack size 48 bytes, l298n.o(.text.Motor_UpdatePWM_B))
  [Stack]

  - Max Depth = 64
  - Call Chain = Motor_UpdatePWM_B ⇒ __aeabi_uidivmod
  [Calls]
  - >> DL_GPIO_setPins
  - >> DL_GPIO_clearPins
  - >> __aeabi_uidivmod
  [Called By]
  - >> TIMG0_IRQHandler

  No_MCU_Ganv_Sensor_Init (Thumb, 388 bytes, Stack size 136 bytes, no_mcu_ganv_grayscale_sensor.o(.text.No_MCU_Ganv_Sensor_Init))
  [Stack]

  - Max Depth = 248
  - Call Chain = No_MCU_Ganv_Sensor_Init ⇒ __aeabi_dsub ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> __aeabi_ddiv
  - >> __aeabi_dsub
  - >> __aeabi_ui2d
  - >> No_MCU_Ganv_Sensor_Init_Frist
  - >> __aeabi_uidiv
  [Called By]
  - >> main

  No_MCU_Ganv_Sensor_Init_Frist (Thumb, 114 bytes, Stack size 12 bytes, no_mcu_ganv_grayscale_sensor.o(.text.No_MCU_Ganv_Sensor_Init_Frist))
  [Stack]

  - Max Depth = 12
  - Call Chain = No_MCU_Ganv_Sensor_Init_Frist
  [Called By]
  - >> No_MCU_Ganv_Sensor_Init

  No_Mcu_Ganv_Sensor_Task_Without_tick (Thumb, 66 bytes, Stack size 32 bytes, no_mcu_ganv_grayscale_sensor.o(.text.No_Mcu_Ganv_Sensor_Task_Without_tick))
  [Stack]

  - Max Depth = 216
  - Call Chain = No_Mcu_Ganv_Sensor_Task_Without_tick ⇒ normalizeAnalogValues ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> normalizeAnalogValues
  - >> convertAnalogToDigital
  - >> Get_Analog_value
  [Called By]
  - >> main

  Pid_Yaw (Thumb, 216 bytes, Stack size 24 bytes, pid.o(.text.Pid_Yaw))
  [Stack]

  - Max Depth = 60
  - Call Chain = Pid_Yaw ⇒ __aeabi_fsub ⇒ __aeabi_fadd ⇒ _float_epilogue
  [Calls]
  - >> __aeabi_f2iz
  - >> __aeabi_fsub
  - >> __aeabi_i2f
  [Called By]
  - >> Motor_Control

  SYSCFG_DL_ADC_VOLTAGE_init (Thumb, 100 bytes, Stack size 40 bytes, ti_msp_dl_config.o(.text.SYSCFG_DL_ADC_VOLTAGE_init))
  [Stack]

  - Max Depth = 80
  - Call Chain = SYSCFG_DL_ADC_VOLTAGE_init ⇒ DL_ADC12_setDMASamplesCnt ⇒ DL_Common_updateReg
  [Calls]
  - >> DL_ADC12_setClockConfig
  - >> DL_ADC12_enableConversions
  - >> DL_ADC12_enableDMATrigger
  - >> DL_ADC12_setDMASamplesCnt
  - >> DL_ADC12_enableDMA
  - >> DL_ADC12_setSampleTime0
  - >> DL_ADC12_configConversionMem
  - >> DL_ADC12_initSingleSample
  [Called By]
  - >> SYSCFG_DL_init

  SYSCFG_DL_DMA_CH0_init (Thumb, 32 bytes, Stack size 16 bytes, ti_msp_dl_config.o(.text.SYSCFG_DL_DMA_CH0_init))
  [Stack]

  - Max Depth = 36
  - Call Chain = SYSCFG_DL_DMA_CH0_init ⇒ DL_DMA_setTransferSize
  [Calls]
  - >> DL_DMA_initChannel
  - >> DL_DMA_setTransferSize
  [Called By]
  - >> SYSCFG_DL_DMA_init

  SYSCFG_DL_DMA_init (Thumb, 8 bytes, Stack size 8 bytes, ti_msp_dl_config.o(.text.SYSCFG_DL_DMA_init))
  [Stack]

  - Max Depth = 44
  - Call Chain = SYSCFG_DL_DMA_init ⇒ SYSCFG_DL_DMA_CH0_init ⇒ DL_DMA_setTransferSize
  [Calls]
  - >> SYSCFG_DL_DMA_CH0_init
  [Called By]
  - >> SYSCFG_DL_init

  SYSCFG_DL_GPIO_init (Thumb, 164 bytes, Stack size 40 bytes, ti_msp_dl_config.o(.text.SYSCFG_DL_GPIO_init))
  [Stack]

  - Max Depth = 64
  - Call Chain = SYSCFG_DL_GPIO_init ⇒ DL_GPIO_initDigitalInputFeatures
  [Calls]
  - >> DL_GPIO_enableInterrupt
  - >> DL_GPIO_clearInterruptStatus
  - >> DL_GPIO_setUpperPinsPolarity
  - >> DL_GPIO_enableOutput
  - >> DL_GPIO_clearPins
  - >> DL_GPIO_initDigitalInputFeatures
  - >> DL_GPIO_initDigitalOutput
  - >> DL_GPIO_initPeripheralInputFunction
  - >> DL_GPIO_initPeripheralOutputFunction
  [Called By]
  - >> SYSCFG_DL_init

  SYSCFG_DL_SYSCTL_init (Thumb, 34 bytes, Stack size 16 bytes, ti_msp_dl_config.o(.text.SYSCFG_DL_SYSCTL_init))
  [Stack]

  - Max Depth = 48
  - Call Chain = SYSCFG_DL_SYSCTL_init ⇒ DL_SYSCTL_setSYSOSCFreq ⇒ DL_Common_updateReg
  [Calls]
  - >> __NVIC_SetPriority
  - >> DL_SYSCTL_enableMFPCLK
  - >> DL_SYSCTL_setSYSOSCFreq
  - >> DL_SYSCTL_setBORThreshold
  [Called By]
  - >> SYSCFG_DL_init

  SYSCFG_DL_SYSTICK_init (Thumb, 12 bytes, Stack size 8 bytes, ti_msp_dl_config.o(.text.SYSCFG_DL_SYSTICK_init))
  [Stack]

  - Max Depth = 56
  - Call Chain = SYSCFG_DL_SYSTICK_init ⇒ SysTick_Config ⇒ __NVIC_SetPriority
  [Calls]
  - >> SysTick_Config
  [Called By]
  - >> SYSCFG_DL_init

  SYSCFG_DL_TIMER_0_init (Thumb, 48 bytes, Stack size 16 bytes, ti_msp_dl_config.o(.text.SYSCFG_DL_TIMER_0_init))
  [Stack]

  - Max Depth = 40
  - Call Chain = SYSCFG_DL_TIMER_0_init ⇒ __NVIC_SetPriority
  [Calls]
  - >> DL_Timer_initTimerMode
  - >> DL_Timer_setClockConfig
  - >> DL_Timer_enableClock
  - >> DL_Timer_enableInterrupt
  - >> __NVIC_SetPriority
  [Called By]
  - >> SYSCFG_DL_init

  SYSCFG_DL_UART_0_init (Thumb, 52 bytes, Stack size 16 bytes, ti_msp_dl_config.o(.text.SYSCFG_DL_UART_0_init))
  [Stack]

  - Max Depth = 56
  - Call Chain = SYSCFG_DL_UART_0_init ⇒ DL_UART_setBaudRateDivisor ⇒ DL_Common_updateReg
  [Calls]
  - >> DL_UART_init
  - >> DL_UART_setClockConfig
  - >> DL_UART_enable
  - >> DL_UART_setBaudRateDivisor
  - >> DL_UART_setOversampling
  [Called By]
  - >> SYSCFG_DL_init

  SYSCFG_DL_init (Thumb, 36 bytes, Stack size 8 bytes, ti_msp_dl_config.o(.text.SYSCFG_DL_init))
  [Stack]

  - Max Depth = 88
  - Call Chain = SYSCFG_DL_init ⇒ SYSCFG_DL_ADC_VOLTAGE_init ⇒ DL_ADC12_setDMASamplesCnt ⇒ DL_Common_updateReg
  [Calls]
  - >> SYSCFG_DL_SYSTICK_init
  - >> SYSCFG_DL_DMA_init
  - >> SYSCFG_DL_ADC_VOLTAGE_init
  - >> SYSCFG_DL_UART_0_init
  - >> SYSCFG_DL_TIMER_0_init
  - >> SYSCFG_DL_SYSCTL_init
  - >> SYSCFG_DL_GPIO_init
  - >> SYSCFG_DL_initPower
  [Called By]
  - >> main

  SYSCFG_DL_initPower (Thumb, 72 bytes, Stack size 24 bytes, ti_msp_dl_config.o(.text.SYSCFG_DL_initPower))
  [Stack]

  - Max Depth = 28
  - Call Chain = SYSCFG_DL_initPower ⇒ DL_ADC12_enablePower
  [Calls]
  - >> DL_Common_delayCycles
  - >> DL_ADC12_enablePower
  - >> DL_UART_enablePower
  - >> DL_Timer_enablePower
  - >> DL_GPIO_enablePower
  - >> DL_ADC12_reset
  - >> DL_UART_reset
  - >> DL_Timer_reset
  - >> DL_GPIO_reset
  [Called By]
  - >> SYSCFG_DL_init

  SysTick_Handler (Thumb, 8 bytes, Stack size 8 bytes, delay.o(.text.SysTick_Handler))
  [Stack]

  - Max Depth = 8
  - Call Chain = SysTick_Handler
  [Calls]
  - >> Tick_SysTickCallback
  [Address Reference Count : 1]
  - startup_mspm0l130x_uvision.o(RESET)

  TIMG0_IRQHandler (Thumb, 12 bytes, Stack size 8 bytes, l298n.o(.text.TIMG0_IRQHandler))
  [Stack]

  - Max Depth = 72
  - Call Chain = TIMG0_IRQHandler ⇒ Motor_UpdatePWM_B ⇒ __aeabi_uidivmod
  [Calls]
  - >> Motor_UpdatePWM_B
  - >> Motor_UpdatePWM_A
  [Address Reference Count : 1]
  - startup_mspm0l130x_uvision.o(RESET)

  Tick_SysTickCallback (Thumb, 12 bytes, Stack size 0 bytes, delay.o(.text.Tick_SysTickCallback))
  [Called By]

  - >> SysTick_Handler

  Tick_delay (Thumb, 36 bytes, Stack size 8 bytes, delay.o(.text.Tick_delay))
  [Stack]

  - Max Depth = 8
  - Call Chain = Tick_delay
  [Called By]
  - >> main

  adc_getValue (Thumb, 112 bytes, Stack size 24 bytes, adc.o(.text.adc_getValue))
  [Stack]

  - Max Depth = 40
  - Call Chain = adc_getValue ⇒ __aeabi_uidiv
  [Calls]
  - >> __aeabi_uidiv
  - >> __aeabi_memclr
  [Called By]
  - >> Get_Analog_value

  convertAnalogToDigital (Thumb, 108 bytes, Stack size 20 bytes, no_mcu_ganv_grayscale_sensor.o(.text.convertAnalogToDigital))
  [Stack]

  - Max Depth = 20
  - Call Chain = convertAnalogToDigital
  [Called By]
  - >> No_Mcu_Ganv_Sensor_Task_Without_tick

  delay_us (Thumb, 30 bytes, Stack size 8 bytes, delay.o(.text.delay_us))
  [Stack]

  - Max Depth = 8
  - Call Chain = delay_us
  [Called By]
  - >> Get_Analog_value

  fputc (Thumb, 40 bytes, Stack size 16 bytes, main.o(.text.fputc))
  [Stack]

  - Max Depth = 24
  - Call Chain = fputc ⇒ DL_UART_transmitData
  [Calls]
  - >> DL_UART_transmitData
  - >> DL_UART_isBusy
  [Address Reference Count : 1]
  - printfa.o(i.__0printf)

  main (Thumb, 156 bytes, Stack size 32 bytes, main.o(.text.main))
  [Stack]

  - Max Depth = 280
  - Call Chain = main ⇒ No_MCU_Ganv_Sensor_Init ⇒ __aeabi_dsub ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> Motor_Control
  - >> Get_Digtal_For_User
  - >> Get_Normalize_For_User
  - >> No_Mcu_Ganv_Sensor_Task_Without_tick
  - >> Tick_delay
  - >> No_MCU_Ganv_Sensor_Init
  - >> SYSCFG_DL_init
  - >> CalculateNormalizedValue
  - >> DL_Timer_startCounter
  - >> __NVIC_EnableIRQ
  - >> DL_ADC12_startConversion
  - >> DL_DMA_enableChannel
  - >> DL_DMA_setDestAddr
  - >> DL_DMA_setSrcAddr
  - >> printf
  [Address Reference Count : 1]
  - entry9a.o(.ARM.Collect$$$$0000000B)

  normalizeAnalogValues (Thumb, 170 bytes, Stack size 56 bytes, no_mcu_ganv_grayscale_sensor.o(.text.normalizeAnalogValues))
  [Stack]

  - Max Depth = 184
  - Call Chain = normalizeAnalogValues ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> __aeabi_dcmple
  - >> __aeabi_d2iz
  - >> __aeabi_dmul
  - >> __aeabi_i2d
  [Called By]
  - >> No_Mcu_Ganv_Sensor_Task_Without_tick

  __0printf (Thumb, 24 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED)
  [Calls]

  - >> _printf_core

  __1printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED)

  __2printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED)

  __c89printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED)

  printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf))
  [Stack]

  - Max Depth = 24
  - Call Chain = printf
  [Called By]
  - >> main

  __ARM_clz (Thumb, 46 bytes, Stack size 0 bytes, depilogue.o(i.__ARM_clz))
  [Called By]

  - >> _double_epilogue

  __scatterload_copy (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)

  __scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)

  __scatterload_zeroinit (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)

  ### Local Symbols

  DL_UART_isBusy (Thumb, 20 bytes, Stack size 4 bytes, main.o(.text.DL_UART_isBusy))
  [Stack]

  - Max Depth = 4
  - Call Chain = DL_UART_isBusy
  [Called By]
  - >> fputc

  DL_UART_transmitData (Thumb, 22 bytes, Stack size 8 bytes, main.o(.text.DL_UART_transmitData))
  [Stack]

  - Max Depth = 8
  - Call Chain = DL_UART_transmitData
  [Called By]
  - >> fputc

  DL_DMA_setSrcAddr (Thumb, 36 bytes, Stack size 16 bytes, main.o(.text.DL_DMA_setSrcAddr))
  [Stack]

  - Max Depth = 16
  - Call Chain = DL_DMA_setSrcAddr
  [Called By]
  - >> main

  DL_DMA_setDestAddr (Thumb, 36 bytes, Stack size 16 bytes, main.o(.text.DL_DMA_setDestAddr))
  [Stack]

  - Max Depth = 16
  - Call Chain = DL_DMA_setDestAddr
  [Called By]
  - >> main

  DL_DMA_enableChannel (Thumb, 38 bytes, Stack size 12 bytes, main.o(.text.DL_DMA_enableChannel))
  [Stack]

  - Max Depth = 12
  - Call Chain = DL_DMA_enableChannel
  [Called By]
  - >> main

  DL_ADC12_startConversion (Thumb, 24 bytes, Stack size 4 bytes, main.o(.text.DL_ADC12_startConversion))
  [Stack]

  - Max Depth = 4
  - Call Chain = DL_ADC12_startConversion
  [Called By]
  - >> main

  __NVIC_EnableIRQ (Thumb, 40 bytes, Stack size 4 bytes, main.o(.text.__NVIC_EnableIRQ))
  [Stack]

  - Max Depth = 4
  - Call Chain = __NVIC_EnableIRQ
  [Called By]
  - >> main

  DL_Timer_startCounter (Thumb, 20 bytes, Stack size 4 bytes, main.o(.text.DL_Timer_startCounter))
  [Stack]

  - Max Depth = 4
  - Call Chain = DL_Timer_startCounter
  [Called By]
  - >> main

  DL_GPIO_reset (Thumb, 16 bytes, Stack size 4 bytes, ti_msp_dl_config.o(.text.DL_GPIO_reset))
  [Stack]

  - Max Depth = 4
  - Call Chain = DL_GPIO_reset
  [Called By]
  - >> SYSCFG_DL_initPower

  DL_Timer_reset (Thumb, 16 bytes, Stack size 4 bytes, ti_msp_dl_config.o(.text.DL_Timer_reset))
  [Stack]

  - Max Depth = 4
  - Call Chain = DL_Timer_reset
  [Called By]
  - >> SYSCFG_DL_initPower

  DL_UART_reset (Thumb, 16 bytes, Stack size 4 bytes, ti_msp_dl_config.o(.text.DL_UART_reset))
  [Stack]

  - Max Depth = 4
  - Call Chain = DL_UART_reset
  [Called By]
  - >> SYSCFG_DL_initPower

  DL_ADC12_reset (Thumb, 16 bytes, Stack size 4 bytes, ti_msp_dl_config.o(.text.DL_ADC12_reset))
  [Stack]

  - Max Depth = 4
  - Call Chain = DL_ADC12_reset
  [Called By]
  - >> SYSCFG_DL_initPower

  DL_GPIO_enablePower (Thumb, 20 bytes, Stack size 4 bytes, ti_msp_dl_config.o(.text.DL_GPIO_enablePower))
  [Stack]

  - Max Depth = 4
  - Call Chain = DL_GPIO_enablePower
  [Called By]
  - >> SYSCFG_DL_initPower

  DL_Timer_enablePower (Thumb, 20 bytes, Stack size 4 bytes, ti_msp_dl_config.o(.text.DL_Timer_enablePower))
  [Stack]

  - Max Depth = 4
  - Call Chain = DL_Timer_enablePower
  [Called By]
  - >> SYSCFG_DL_initPower

  DL_UART_enablePower (Thumb, 20 bytes, Stack size 4 bytes, ti_msp_dl_config.o(.text.DL_UART_enablePower))
  [Stack]

  - Max Depth = 4
  - Call Chain = DL_UART_enablePower
  [Called By]
  - >> SYSCFG_DL_initPower

  DL_ADC12_enablePower (Thumb, 20 bytes, Stack size 4 bytes, ti_msp_dl_config.o(.text.DL_ADC12_enablePower))
  [Stack]

  - Max Depth = 4
  - Call Chain = DL_ADC12_enablePower
  [Called By]
  - >> SYSCFG_DL_initPower

  DL_GPIO_initPeripheralOutputFunction (Thumb, 24 bytes, Stack size 8 bytes, ti_msp_dl_config.o(.text.DL_GPIO_initPeripheralOutputFunction))
  [Stack]

  - Max Depth = 8
  - Call Chain = DL_GPIO_initPeripheralOutputFunction
  [Called By]
  - >> SYSCFG_DL_GPIO_init

  DL_GPIO_initPeripheralInputFunction (Thumb, 24 bytes, Stack size 8 bytes, ti_msp_dl_config.o(.text.DL_GPIO_initPeripheralInputFunction))
  [Stack]

  - Max Depth = 8
  - Call Chain = DL_GPIO_initPeripheralInputFunction
  [Called By]
  - >> SYSCFG_DL_GPIO_init

  DL_GPIO_initDigitalOutput (Thumb, 20 bytes, Stack size 4 bytes, ti_msp_dl_config.o(.text.DL_GPIO_initDigitalOutput))
  [Stack]

  - Max Depth = 4
  - Call Chain = DL_GPIO_initDigitalOutput
  [Called By]
  - >> SYSCFG_DL_GPIO_init

  DL_GPIO_initDigitalInputFeatures (Thumb, 44 bytes, Stack size 24 bytes, ti_msp_dl_config.o(.text.DL_GPIO_initDigitalInputFeatures))
  [Stack]

  - Max Depth = 24
  - Call Chain = DL_GPIO_initDigitalInputFeatures
  [Called By]
  - >> SYSCFG_DL_GPIO_init

  DL_GPIO_clearPins (Thumb, 20 bytes, Stack size 8 bytes, ti_msp_dl_config.o(.text.DL_GPIO_clearPins))
  [Stack]

  - Max Depth = 8
  - Call Chain = DL_GPIO_clearPins
  [Called By]
  - >> SYSCFG_DL_GPIO_init

  DL_GPIO_enableOutput (Thumb, 20 bytes, Stack size 8 bytes, ti_msp_dl_config.o(.text.DL_GPIO_enableOutput))
  [Stack]

  - Max Depth = 8
  - Call Chain = DL_GPIO_enableOutput
  [Called By]
  - >> SYSCFG_DL_GPIO_init

  DL_GPIO_setUpperPinsPolarity (Thumb, 24 bytes, Stack size 8 bytes, ti_msp_dl_config.o(.text.DL_GPIO_setUpperPinsPolarity))
  [Stack]

  - Max Depth = 8
  - Call Chain = DL_GPIO_setUpperPinsPolarity
  [Called By]
  - >> SYSCFG_DL_GPIO_init

  DL_GPIO_clearInterruptStatus (Thumb, 24 bytes, Stack size 8 bytes, ti_msp_dl_config.o(.text.DL_GPIO_clearInterruptStatus))
  [Stack]

  - Max Depth = 8
  - Call Chain = DL_GPIO_clearInterruptStatus
  [Called By]
  - >> SYSCFG_DL_GPIO_init

  DL_GPIO_enableInterrupt (Thumb, 24 bytes, Stack size 8 bytes, ti_msp_dl_config.o(.text.DL_GPIO_enableInterrupt))
  [Stack]

  - Max Depth = 8
  - Call Chain = DL_GPIO_enableInterrupt
  [Called By]
  - >> SYSCFG_DL_GPIO_init

  DL_SYSCTL_setBORThreshold (Thumb, 20 bytes, Stack size 4 bytes, ti_msp_dl_config.o(.text.DL_SYSCTL_setBORThreshold))
  [Stack]

  - Max Depth = 4
  - Call Chain = DL_SYSCTL_setBORThreshold
  [Called By]
  - >> SYSCFG_DL_SYSCTL_init

  DL_SYSCTL_setSYSOSCFreq (Thumb, 24 bytes, Stack size 16 bytes, ti_msp_dl_config.o(.text.DL_SYSCTL_setSYSOSCFreq))
  [Stack]

  - Max Depth = 32
  - Call Chain = DL_SYSCTL_setSYSOSCFreq ⇒ DL_Common_updateReg
  [Calls]
  - >> DL_Common_updateReg
  [Called By]
  - >> SYSCFG_DL_SYSCTL_init

  DL_SYSCTL_enableMFPCLK (Thumb, 12 bytes, Stack size 0 bytes, ti_msp_dl_config.o(.text.DL_SYSCTL_enableMFPCLK))
  [Called By]

  - >> SYSCFG_DL_SYSCTL_init

  __NVIC_SetPriority (Thumb, 124 bytes, Stack size 24 bytes, ti_msp_dl_config.o(.text.__NVIC_SetPriority))
  [Stack]

  - Max Depth = 24
  - Call Chain = __NVIC_SetPriority
  [Called By]
  - >> SYSCFG_DL_TIMER_0_init
  - >> SYSCFG_DL_SYSCTL_init
  - >> SysTick_Config

  DL_Timer_enableInterrupt (Thumb, 24 bytes, Stack size 8 bytes, ti_msp_dl_config.o(.text.DL_Timer_enableInterrupt))
  [Stack]

  - Max Depth = 8
  - Call Chain = DL_Timer_enableInterrupt
  [Called By]
  - >> SYSCFG_DL_TIMER_0_init

  DL_Timer_enableClock (Thumb, 16 bytes, Stack size 4 bytes, ti_msp_dl_config.o(.text.DL_Timer_enableClock))
  [Stack]

  - Max Depth = 4
  - Call Chain = DL_Timer_enableClock
  [Called By]
  - >> SYSCFG_DL_TIMER_0_init

  DL_UART_setOversampling (Thumb, 30 bytes, Stack size 16 bytes, ti_msp_dl_config.o(.text.DL_UART_setOversampling))
  [Stack]

  - Max Depth = 32
  - Call Chain = DL_UART_setOversampling ⇒ DL_Common_updateReg
  [Calls]
  - >> DL_Common_updateReg
  [Called By]
  - >> SYSCFG_DL_UART_0_init

  DL_UART_setBaudRateDivisor (Thumb, 60 bytes, Stack size 24 bytes, ti_msp_dl_config.o(.text.DL_UART_setBaudRateDivisor))
  [Stack]

  - Max Depth = 40
  - Call Chain = DL_UART_setBaudRateDivisor ⇒ DL_Common_updateReg
  [Calls]
  - >> DL_Common_updateReg
  [Called By]
  - >> SYSCFG_DL_UART_0_init

  DL_UART_enable (Thumb, 22 bytes, Stack size 4 bytes, ti_msp_dl_config.o(.text.DL_UART_enable))
  [Stack]

  - Max Depth = 4
  - Call Chain = DL_UART_enable
  [Called By]
  - >> SYSCFG_DL_UART_0_init

  DL_ADC12_initSingleSample (Thumb, 60 bytes, Stack size 24 bytes, ti_msp_dl_config.o(.text.DL_ADC12_initSingleSample))
  [Stack]

  - Max Depth = 40
  - Call Chain = DL_ADC12_initSingleSample ⇒ DL_Common_updateReg
  [Calls]
  - >> DL_Common_updateReg
  [Called By]
  - >> SYSCFG_DL_ADC_VOLTAGE_init

  DL_ADC12_configConversionMem (Thumb, 74 bytes, Stack size 28 bytes, ti_msp_dl_config.o(.text.DL_ADC12_configConversionMem))
  [Stack]

  - Max Depth = 28
  - Call Chain = DL_ADC12_configConversionMem
  [Called By]
  - >> SYSCFG_DL_ADC_VOLTAGE_init

  DL_ADC12_setSampleTime0 (Thumb, 20 bytes, Stack size 8 bytes, ti_msp_dl_config.o(.text.DL_ADC12_setSampleTime0))
  [Stack]

  - Max Depth = 8
  - Call Chain = DL_ADC12_setSampleTime0
  [Called By]
  - >> SYSCFG_DL_ADC_VOLTAGE_init

  DL_ADC12_enableDMA (Thumb, 24 bytes, Stack size 4 bytes, ti_msp_dl_config.o(.text.DL_ADC12_enableDMA))
  [Stack]

  - Max Depth = 4
  - Call Chain = DL_ADC12_enableDMA
  [Called By]
  - >> SYSCFG_DL_ADC_VOLTAGE_init

  DL_ADC12_setDMASamplesCnt (Thumb, 40 bytes, Stack size 24 bytes, ti_msp_dl_config.o(.text.DL_ADC12_setDMASamplesCnt))
  [Stack]

  - Max Depth = 40
  - Call Chain = DL_ADC12_setDMASamplesCnt ⇒ DL_Common_updateReg
  [Calls]
  - >> DL_Common_updateReg
  [Called By]
  - >> SYSCFG_DL_ADC_VOLTAGE_init

  DL_ADC12_enableDMATrigger (Thumb, 24 bytes, Stack size 8 bytes, ti_msp_dl_config.o(.text.DL_ADC12_enableDMATrigger))
  [Stack]

  - Max Depth = 8
  - Call Chain = DL_ADC12_enableDMATrigger
  [Called By]
  - >> SYSCFG_DL_ADC_VOLTAGE_init

  DL_ADC12_enableConversions (Thumb, 22 bytes, Stack size 4 bytes, ti_msp_dl_config.o(.text.DL_ADC12_enableConversions))
  [Stack]

  - Max Depth = 4
  - Call Chain = DL_ADC12_enableConversions
  [Called By]
  - >> SYSCFG_DL_ADC_VOLTAGE_init

  SysTick_Config (Thumb, 68 bytes, Stack size 24 bytes, ti_msp_dl_config.o(.text.SysTick_Config))
  [Stack]

  - Max Depth = 48
  - Call Chain = SysTick_Config ⇒ __NVIC_SetPriority
  [Calls]
  - >> __NVIC_SetPriority
  [Called By]
  - >> SYSCFG_DL_SYSTICK_init

  DL_Common_updateReg (Thumb, 40 bytes, Stack size 16 bytes, ti_msp_dl_config.o(.text.DL_Common_updateReg))
  [Stack]

  - Max Depth = 16
  - Call Chain = DL_Common_updateReg
  [Called By]
  - >> DL_ADC12_setDMASamplesCnt
  - >> DL_ADC12_initSingleSample
  - >> DL_UART_setBaudRateDivisor
  - >> DL_UART_setOversampling
  - >> DL_SYSCTL_setSYSOSCFreq

  DL_DMA_setTransferSize (Thumb, 44 bytes, Stack size 20 bytes, ti_msp_dl_config.o(.text.DL_DMA_setTransferSize))
  [Stack]

  - Max Depth = 20
  - Call Chain = DL_DMA_setTransferSize
  [Called By]
  - >> SYSCFG_DL_DMA_CH0_init

  DL_GPIO_setPins (Thumb, 20 bytes, Stack size 8 bytes, no_mcu_ganv_grayscale_sensor.o(.text.DL_GPIO_setPins))
  [Stack]

  - Max Depth = 8
  - Call Chain = DL_GPIO_setPins
  [Called By]
  - >> Get_Analog_value

  DL_GPIO_clearPins (Thumb, 20 bytes, Stack size 8 bytes, no_mcu_ganv_grayscale_sensor.o(.text.DL_GPIO_clearPins))
  [Stack]

  - Max Depth = 8
  - Call Chain = DL_GPIO_clearPins
  [Called By]
  - >> Get_Analog_value

  DL_GPIO_getPendingInterrupt (Thumb, 18 bytes, Stack size 4 bytes, key.o(.text.DL_GPIO_getPendingInterrupt))
  [Stack]

  - Max Depth = 4
  - Call Chain = DL_GPIO_getPendingInterrupt
  [Called By]
  - >> GROUP1_IRQHandler

  DL_GPIO_readPins (Thumb, 22 bytes, Stack size 8 bytes, key.o(.text.DL_GPIO_readPins))
  [Stack]

  - Max Depth = 8
  - Call Chain = DL_GPIO_readPins
  [Called By]
  - >> GROUP1_IRQHandler

  DL_GPIO_clearPins (Thumb, 20 bytes, Stack size 8 bytes, l298n.o(.text.DL_GPIO_clearPins))
  [Stack]

  - Max Depth = 8
  - Call Chain = DL_GPIO_clearPins
  [Called By]
  - >> Motor_UpdatePWM_B
  - >> Motor_UpdatePWM_A

  DL_GPIO_setPins (Thumb, 20 bytes, Stack size 8 bytes, l298n.o(.text.DL_GPIO_setPins))
  [Stack]

  - Max Depth = 8
  - Call Chain = DL_GPIO_setPins
  [Called By]
  - >> Motor_UpdatePWM_B
  - >> Motor_UpdatePWM_A

  _fp_digits (Thumb, 344 bytes, Stack size 64 bytes, printfa.o(i._fp_digits), UNUSED)
  [Calls]

  - >> __aeabi_ddiv
  - >> __aeabi_dmul
  - >> __aeabi_uldivmod
  - >> __aeabi_dadd
  - >> __aeabi_d2ulz
  - >> __aeabi_cdrcmple
  [Called By]
  - >> _printf_core

  _printf_core (Thumb, 1754 bytes, Stack size 128 bytes, printfa.o(i._printf_core), UNUSED)
  [Calls]

  - >> __aeabi_uldivmod
  - >> __aeabi_uidivmod
  - >> _printf_pre_padding
  - >> _printf_post_padding
  - >> _fp_digits
  [Called By]
  - >> __0printf

  _printf_post_padding (Thumb, 32 bytes, Stack size 24 bytes, printfa.o(i._printf_post_padding), UNUSED)
  [Called By]

  - >> _printf_core

  _printf_pre_padding (Thumb, 44 bytes, Stack size 40 bytes, printfa.o(i._printf_pre_padding), UNUSED)
  [Called By]

  - >> _printf_core

  ### Undefined Global Symbols