# Static Call Graph for image three-axis_stepper\three-axis_stepper.axf

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Sat Feb 28 17:05:40 2026

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

### Call chain for Maximum Stack Depth:

main ⇒ app_main ⇒ canopen_app_process ⇒ canopen_app_init ⇒ canopen_app_resetCommunication ⇒ CO_CANopenInitPDO ⇒ CO_TPDO_init ⇒ PDO_initMapping ⇒ PDOconfigMap ⇒ OD_getSub

### Mutually Recursive functions

- ADC_IRQHandler ⇒ ADC_IRQHandler

  ### Function Pointers

  - ADC_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - BusFault_Handler from stm32f4xx_it.o(i.BusFault_Handler) referenced from startup_stm32f407xx.o(RESET)
  - CAN1_RX0_IRQHandler from stm32f4xx_it.o(i.CAN1_RX0_IRQHandler) referenced from startup_stm32f407xx.o(RESET)
  - CAN1_RX1_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - CAN1_SCE_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - CAN1_TX_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - CAN2_RX0_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - CAN2_RX1_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - CAN2_SCE_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - CAN2_TX_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - CO_HBcons_receive from co_hbconsumer.o(i.CO_HBcons_receive) referenced from co_hbconsumer.o(i.CO_HBconsumer_initEntry)
  - CO_LSSslave_receive from co_lssslave.o(i.CO_LSSslave_receive) referenced from co_lssslave.o(i.CO_LSSslave_init)
  - CO_NMT_receive from co_nmt_heartbeat.o(i.CO_NMT_receive) referenced from co_nmt_heartbeat.o(i.CO_NMT_init)
  - CO_PDO_receive from co_pdo.o(i.CO_PDO_receive) referenced from co_pdo.o(i.CO_RPDO_init)
  - CO_PDO_receive from co_pdo.o(i.CO_PDO_receive) referenced from co_pdo.o(i.OD_write_14xx)
  - CO_SDO_receive from co_sdoserver.o(i.CO_SDO_receive) referenced from co_sdoserver.o(i.CO_SDOserver_init_canRxTx)
  - CO_SYNC_receive from co_sync.o(i.CO_SYNC_receive) referenced from co_sync.o(i.CO_SYNC_init)
  - CO_SYNC_receive from co_sync.o(i.CO_SYNC_receive) referenced from co_sync.o(i.OD_write_1005)
  - CO_TIME_receive from co_time.o(i.CO_TIME_receive) referenced from co_time.o(i.CO_TIME_init)
  - DCMI_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - DMA1_Stream0_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - DMA1_Stream1_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - DMA1_Stream2_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - DMA1_Stream3_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - DMA1_Stream4_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - DMA1_Stream5_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - DMA1_Stream6_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - DMA1_Stream7_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - DMA2_Stream0_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - DMA2_Stream1_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - DMA2_Stream2_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - DMA2_Stream3_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - DMA2_Stream4_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - DMA2_Stream5_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - DMA2_Stream6_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - DMA2_Stream7_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - DebugMon_Handler from stm32f4xx_it.o(i.DebugMon_Handler) referenced from startup_stm32f407xx.o(RESET)
  - ETH_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - ETH_WKUP_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - EXTI0_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - EXTI15_10_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - EXTI1_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - EXTI2_IRQHandler from stm32f4xx_it.o(i.EXTI2_IRQHandler) referenced from startup_stm32f407xx.o(RESET)
  - EXTI3_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - EXTI4_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - EXTI9_5_IRQHandler from stm32f4xx_it.o(i.EXTI9_5_IRQHandler) referenced from startup_stm32f407xx.o(RESET)
  - FLASH_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - FMC_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - FPU_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - HASH_RNG_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - HardFault_Handler from stm32f4xx_it.o(i.HardFault_Handler) referenced from startup_stm32f407xx.o(RESET)
  - I2C1_ER_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - I2C1_EV_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - I2C2_ER_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - I2C2_EV_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - I2C3_ER_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - I2C3_EV_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - MX_CAN1_Init from can.o(i.MX_CAN1_Init) referenced from app_main.o(i.CANopenNode_init)
  - MemManage_Handler from stm32f4xx_it.o(i.MemManage_Handler) referenced from startup_stm32f407xx.o(RESET)
  - NMI_Handler from stm32f4xx_it.o(i.NMI_Handler) referenced from startup_stm32f407xx.o(RESET)
  - OD_readDisabled from co_odinterface.o(i.OD_readDisabled) referenced from co_odinterface.o(i.OD_getSub)
  - OD_readOriginal from co_odinterface.o(i.OD_readOriginal) referenced from co_hbconsumer.o(i.CO_HBconsumer_init)
  - OD_readOriginal from co_odinterface.o(i.OD_readOriginal) referenced from co_nmt_heartbeat.o(i.CO_NMT_init)
  - OD_readOriginal from co_odinterface.o(i.OD_readOriginal) referenced from co_pdo.o(i.CO_RPDO_init)
  - OD_readOriginal from co_odinterface.o(i.OD_readOriginal) referenced from co_sdoserver.o(i.CO_SDOserver_init)
  - OD_readOriginal from co_odinterface.o(i.OD_readOriginal) referenced from co_sync.o(i.CO_SYNC_init)
  - OD_readOriginal from co_odinterface.o(i.OD_readOriginal) referenced from co_time.o(i.CO_TIME_init)
  - OD_readOriginal from co_odinterface.o(i.OD_readOriginal) referenced from co_pdo.o(i.CO_TPDO_init)
  - OD_readOriginal from co_odinterface.o(i.OD_readOriginal) referenced from co_odinterface.o(i.OD_getSub)
  - OD_read_1003 from co_emergency.o(i.OD_read_1003) referenced from co_emergency.o(i.CO_EM_init)
  - OD_read_1014_default from co_emergency.o(i.OD_read_1014_default) referenced from co_emergency.o(i.CO_EM_init)
  - OD_read_PDO_commParam from co_pdo.o(i.OD_read_PDO_commParam) referenced from co_pdo.o(i.CO_RPDO_init)
  - OD_read_PDO_commParam from co_pdo.o(i.OD_read_PDO_commParam) referenced from co_pdo.o(i.CO_TPDO_init)
  - OD_read_dummy from co_pdo.o(i.OD_read_dummy) referenced from co_pdo.o(i.PDOconfigMap)
  - OD_writeDisabled from co_odinterface.o(i.OD_writeDisabled) referenced from co_odinterface.o(i.OD_getSub)
  - OD_writeOriginal from co_odinterface.o(i.OD_writeOriginal) referenced from co_emergency.o(i.CO_EM_init)
  - OD_writeOriginal from co_odinterface.o(i.OD_writeOriginal) referenced from co_odinterface.o(i.OD_getSub)
  - OD_write_1003 from co_emergency.o(i.OD_write_1003) referenced from co_emergency.o(i.CO_EM_init)
  - OD_write_1005 from co_sync.o(i.OD_write_1005) referenced from co_sync.o(i.CO_SYNC_init)
  - OD_write_1012 from co_time.o(i.OD_write_1012) referenced from co_time.o(i.CO_TIME_init)
  - OD_write_1016 from co_hbconsumer.o(i.OD_write_1016) referenced from co_hbconsumer.o(i.CO_HBconsumer_init)
  - OD_write_1017 from co_nmt_heartbeat.o(i.OD_write_1017) referenced from co_nmt_heartbeat.o(i.CO_NMT_init)
  - OD_write_1019 from co_sync.o(i.OD_write_1019) referenced from co_sync.o(i.CO_SYNC_init)
  - OD_write_1201_additional from co_sdoserver.o(i.OD_write_1201_additional) referenced from co_sdoserver.o(i.CO_SDOserver_init)
  - OD_write_14xx from co_pdo.o(i.OD_write_14xx) referenced from co_pdo.o(i.CO_RPDO_init)
  - OD_write_18xx from co_pdo.o(i.OD_write_18xx) referenced from co_pdo.o(i.CO_TPDO_init)
  - OD_write_PDO_mapping from co_pdo.o(i.OD_write_PDO_mapping) referenced from co_pdo.o(i.CO_RPDO_init)
  - OD_write_PDO_mapping from co_pdo.o(i.OD_write_PDO_mapping) referenced from co_pdo.o(i.CO_TPDO_init)
  - OD_write_dummy from co_pdo.o(i.OD_write_dummy) referenced from co_pdo.o(i.PDOconfigMap)
  - OTG_FS_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - OTG_FS_WKUP_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - OTG_HS_EP1_IN_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - OTG_HS_EP1_OUT_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - OTG_HS_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - OTG_HS_WKUP_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - PVD_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - PendSV_Handler from stm32f4xx_it.o(i.PendSV_Handler) referenced from startup_stm32f407xx.o(RESET)
  - RCC_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - RTC_Alarm_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - RTC_WKUP_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - Reset_Handler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - SDIO_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - SPI1_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - SPI2_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - SPI3_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - SVC_Handler from stm32f4xx_it.o(i.SVC_Handler) referenced from startup_stm32f407xx.o(RESET)
  - SysTick_Handler from stm32f4xx_it.o(i.SysTick_Handler) referenced from startup_stm32f407xx.o(RESET)
  - SystemInit from system_stm32f4xx.o(i.SystemInit) referenced from startup_stm32f407xx.o(.text)
  - TAMP_STAMP_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - TIM1_BRK_TIM9_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - TIM1_CC_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - TIM1_TRG_COM_TIM11_IRQHandler from stm32f4xx_it.o(i.TIM1_TRG_COM_TIM11_IRQHandler) referenced from startup_stm32f407xx.o(RESET)
  - TIM1_UP_TIM10_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - TIM2_IRQHandler from stm32f4xx_it.o(i.TIM2_IRQHandler) referenced from startup_stm32f407xx.o(RESET)
  - TIM3_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - TIM4_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - TIM5_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - TIM6_DAC_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - TIM7_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - TIM8_BRK_TIM12_IRQHandler from stm32f4xx_it.o(i.TIM8_BRK_TIM12_IRQHandler) referenced from startup_stm32f407xx.o(RESET)
  - TIM8_CC_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - TIM8_TRG_COM_TIM14_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - TIM8_UP_TIM13_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - UART4_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - UART5_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - UART_DMAAbortOnError from stm32f4xx_hal_uart.o(i.UART_DMAAbortOnError) referenced from stm32f4xx_hal_uart.o(i.HAL_UART_IRQHandler)
  - USART1_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - USART2_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - USART3_IRQHandler from stm32f4xx_it.o(i.USART3_IRQHandler) referenced from startup_stm32f407xx.o(RESET)
  - USART6_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - UsageFault_Handler from stm32f4xx_it.o(i.UsageFault_Handler) referenced from startup_stm32f407xx.o(RESET)
  - WWDG_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  - __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_stm32f407xx.o(.text)
  - fputc from com_debug.o(i.fputc) referenced from printfa.o(i.__0printf)
  - main from main.o(i.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_stm32f407xx.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_lib_shutdown_fini (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E))

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

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

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

  - startup_stm32f407xx.o(RESET)

  ADC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f407xx.o(.text))
  [Calls]

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

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

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

  - startup_stm32f407xx.o(RESET)

  __aeabi_uldivmod (Thumb, 98 bytes, Stack size 40 bytes, uldiv.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = __aeabi_uldivmod
  [Calls]
  - >> __aeabi_llsr
  - >> __aeabi_llsl
  [Called By]
  - >> HAL_RCC_GetSysClockFreq
  - >> UART_SetConfig
  - >> _printf_core
  - >> _fp_digits

  ___aeabi_memcpy8$move (Thumb, 0 bytes, Stack size 8 bytes, memmovea.o(.text), UNUSED)

  __aeabi_memcpy (Thumb, 64 bytes, Stack size 8 bytes, memmovea.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __aeabi_memcpy
  [Called By]
  - >> CO_SDO_receive
  - >> OD_write_18xx
  - >> OD_write_14xx
  - >> CO_TPDOsend
  - >> OD_readOriginal
  - >> OD_writeOriginal
  - >> CO_SDOserver_process
  - >> CO_RPDO_process

  __aeabi_memcpy4 (Thumb, 0 bytes, Stack size 8 bytes, memmovea.o(.text))
  [Stack]

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

  __aeabi_memmove (Thumb, 0 bytes, Stack size 8 bytes, memmovea.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __aeabi_memmove
  [Called By]
  - >> CO_getUint32
  - >> OD_write_1019
  - >> OD_write_1005
  - >> readFromOd
  - >> OD_write_1201_additional
  - >> CO_getUint32
  - >> CO_setUint32
  - >> CO_getUint8
  - >> CO_getUint32
  - >> CO_getUint16
  - >> OD_write_1017
  - >> OD_write_1016
  - >> OD_write_1003
  - >> OD_read_1003
  - >> CO_setUint32
  - >> CO_TIME_process

  __aeabi_memmove4 (Thumb, 0 bytes, Stack size 8 bytes, memmovea.o(.text), UNUSED)

  __aeabi_memmove8 (Thumb, 0 bytes, Stack size 8 bytes, memmovea.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]
  - >> OD_read_dummy

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

  - >> HAL_UART_MspInit
  - >> HAL_TIM_MspPostInit
  - >> HAL_TIM_Encoder_MspInit
  - >> HAL_I2C_MspInit
  - >> HAL_CAN_MspInit
  - >> MX_TIM2_Init
  - >> MX_TIM1_Init
  - >> MX_TIM10_Init
  - >> MX_GPIO_Init
  - >> SystemClock_Config
  - >> Dri_I2C_Init
  - >> Int_Encoder_start
  - >> PDOconfigMap
  - >> CO_TPDO_init
  - >> CO_TIME_init
  - >> CO_SYNC_init
  - >> CO_RPDO_init
  - >> CO_NMT_init
  - >> CO_LSSslave_init
  - >> CO_HBconsumer_init
  - >> CO_EM_init
  - >> App_ParamStore_Save
  - >> OD_set_value
  - >> OD_get_value

  __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

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

  - >> readFromOd

  strrchr (Thumb, 22 bytes, Stack size 0 bytes, strrchr.o(.text))
  [Called By]

  - >> app_main
  - >> Int_TMC2209_start
  - >> Int_TMC2209_set_steps
  - >> Dri_I2C_WriteReg
  - >> Dri_I2C_WriteAddr
  - >> Dri_I2C_ReadReg
  - >> key_guard_check
  - >> App_key_run
  - >> App_ParamStore_LoadAndApply
  - >> App_ParamStore_Init
  - >> App_Motor_Process
  - >> App_Motor_Init
  - >> App_ParamStore_Save
  - >> App_ParamStore_Read
  - >> Handle_Position_Mode
  - >> Handle_Homing_Mode

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

  - Max Depth = 28
  - Call Chain = calloc ⇒ malloc
  [Calls]
  - >> malloc
  [Called By]
  - >> CO_new

  __aeabi_f2d (Thumb, 38 bytes, Stack size 0 bytes, f2d.o(.text))
  [Called By]

  - >> Int_TMC2209_start
  - >> App_key_run
  - >> App_ParamStore_LoadAndApply
  - >> App_Motor_Process
  - >> App_ParamStore_Save
  - >> App_ParamStore_Read
  - >> Handle_Position_Mode

  __aeabi_uidiv (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)

  __aeabi_uidivmod (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)
  [Called By]

  - >> _printf_core

  __aeabi_llsl (Thumb, 30 bytes, Stack size 0 bytes, llshl.o(.text))
  [Called By]

  - >> _double_epilogue
  - >> __aeabi_dadd
  - >> __aeabi_d2ulz
  - >> __aeabi_uldivmod

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

  __aeabi_llsr (Thumb, 32 bytes, Stack size 0 bytes, llushr.o(.text))
  [Called By]

  - >> _double_epilogue
  - >> __aeabi_d2ulz
  - >> __aeabi_uldivmod

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

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

  __aeabi_dadd (Thumb, 322 bytes, Stack size 48 bytes, dadd.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_lasr
  - >> _double_round
  - >> _double_epilogue
  - >> __aeabi_llsl
  [Called By]
  - >> __aeabi_drsub
  - >> __aeabi_dsub
  - >> _fp_digits

  __aeabi_dsub (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_dadd

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

  - >> __aeabi_dadd

  __aeabi_dmul (Thumb, 228 bytes, Stack size 48 bytes, dmul.o(.text), UNUSED)
  [Calls]

  - >> _double_epilogue
  [Called By]
  - >> _fp_digits

  __aeabi_ddiv (Thumb, 222 bytes, Stack size 32 bytes, ddiv.o(.text), UNUSED)
  [Calls]

  - >> _double_round
  [Called By]
  - >> _fp_digits

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

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

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

  - >> _fp_digits

  __scatterload (Thumb, 28 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)

  __aeabi_lasr (Thumb, 36 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)
  [Called By]

  - >> __aeabi_dadd

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

  _double_round (Thumb, 30 bytes, Stack size 8 bytes, depilogue.o(.text), UNUSED)
  [Called By]

  - >> _double_epilogue
  - >> __aeabi_ddiv
  - >> __aeabi_dadd

  _double_epilogue (Thumb, 156 bytes, Stack size 32 bytes, depilogue.o(.text), UNUSED)
  [Calls]

  - >> _double_round
  - >> __aeabi_llsr
  - >> __aeabi_llsl
  [Called By]
  - >> __aeabi_dmul
  - >> __aeabi_dadd

  __decompress (Thumb, 0 bytes, Stack size unknown bytes, __dczerorl2.o(.text), UNUSED)

  __decompress1 (Thumb, 86 bytes, Stack size unknown bytes, __dczerorl2.o(.text), UNUSED)

  App_Motor_Init (Thumb, 146 bytes, Stack size 16 bytes, app_motor.o(i.App_Motor_Init))
  [Stack]

  - Max Depth = 124
  - Call Chain = App_Motor_Init ⇒ Int_Encoder_Init ⇒ Int_Encoder_set_resolution ⇒ Dri_I2C_ReadReg ⇒ Dri_I2C_WriteAddr ⇒ Dri_I2C_TransmitByte ⇒ DWT_delay_us
  [Calls]
  - >> Int_Encoder_Init
  - >> __2printf
  - >> strrchr
  [Called By]
  - >> app_main

  App_Motor_Process (Thumb, 182 bytes, Stack size 32 bytes, app_motor.o(i.App_Motor_Process))
  [Stack]

  - Max Depth = 320
  - Call Chain = App_Motor_Process ⇒ Process_Motion_Logic ⇒ Handle_Position_Mode ⇒ OD_set_u16 ⇒ OD_set_value ⇒ OD_getSub
  [Calls]
  - >> __aeabi_f2d
  - >> Update_PP_FollowingError_StatusBit
  - >> Sync_FollowingErrorThreshold_From_OD
  - >> Process_Motion_Logic
  - >> Process_StateMachine
  - >> App_Motor_TryGetStopError
  - >> __2printf
  - >> strrchr
  [Called By]
  - >> app_main

  App_Motor_StepLossCheck (Thumb, 398 bytes, Stack size 16 bytes, app_motor.o(i.App_Motor_StepLossCheck))
  [Stack]

  - Max Depth = 16
  - Call Chain = App_Motor_StepLossCheck
  [Calls]
  - >> HAL_GetTick
  [Called By]
  - >> HAL_TIM_PeriodElapsedCallback

  App_Motor_TryGetStopError (Thumb, 38 bytes, Stack size 0 bytes, app_motor.o(i.App_Motor_TryGetStopError))
  [Called By]

  - >> App_Motor_Process

  App_ParamStore_Init (Thumb, 142 bytes, Stack size 16 bytes, app_param_store.o(i.App_ParamStore_Init))
  [Stack]

  - Max Depth = 40
  - Call Chain = App_ParamStore_Init ⇒ __2printf
  [Calls]
  - >> Int_EEPROM24xx_Init
  - >> Int_EEPROM24xx_GetLastHalError
  - >> __2printf
  - >> strrchr
  [Called By]
  - >> app_main

  App_ParamStore_LoadAndApply (Thumb, 340 bytes, Stack size 48 bytes, app_param_store.o(i.App_ParamStore_LoadAndApply))
  [Stack]

  - Max Depth = 272
  - Call Chain = App_ParamStore_LoadAndApply ⇒ App_ParamStore_Read ⇒ Int_EEPROM24xx_Read ⇒ HAL_I2C_Mem_Read ⇒ I2C_RequestMemoryRead ⇒ I2C_WaitOnMasterAddressFlagUntilTimeout
  [Calls]
  - >> __aeabi_f2d
  - >> App_ParamStore_Read
  - >> App_ParamStore_ApplyThresholdToOD
  - >> App_ParamStore_ApplyAccDecToOD
  - >> __2printf
  - >> strrchr
  [Called By]
  - >> app_main

  App_ParamStore_Process (Thumb, 110 bytes, Stack size 16 bytes, app_param_store.o(i.App_ParamStore_Process))
  [Stack]

  - Max Depth = 240
  - Call Chain = App_ParamStore_Process ⇒ App_ParamStore_Save ⇒ Int_EEPROM24xx_Write ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnMasterAddressFlagUntilTimeout
  [Calls]
  - >> HAL_GetTick
  - >> App_ParamStore_Save
  - >> App_ParamStore_ReadCurrentFromOD
  - >> App_ParamStore_ParamsEqual
  [Called By]
  - >> app_main

  App_ParamStore_Read (Thumb, 370 bytes, Stack size 80 bytes, app_param_store.o(i.App_ParamStore_Read))
  [Stack]

  - Max Depth = 224
  - Call Chain = App_ParamStore_Read ⇒ Int_EEPROM24xx_Read ⇒ HAL_I2C_Mem_Read ⇒ I2C_RequestMemoryRead ⇒ I2C_WaitOnMasterAddressFlagUntilTimeout
  [Calls]
  - >> Int_EEPROM24xx_Read
  - >> Int_EEPROM24xx_GetLastHalError
  - >> __aeabi_f2d
  - >> App_ParamStore_Validate
  - >> App_ParamStore_CalcBlobCrc
  - >> __2printf
  - >> strrchr
  [Called By]
  - >> App_ParamStore_LoadAndApply

  App_ParamStore_Save (Thumb, 402 bytes, Stack size 64 bytes, app_param_store.o(i.App_ParamStore_Save))
  [Stack]

  - Max Depth = 224
  - Call Chain = App_ParamStore_Save ⇒ Int_EEPROM24xx_Write ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnMasterAddressFlagUntilTimeout
  [Calls]
  - >> Int_EEPROM24xx_Write
  - >> Int_EEPROM24xx_GetLastHalError
  - >> __aeabi_f2d
  - >> App_ParamStore_Crc32
  - >> __2printf
  - >> strrchr
  - >> __aeabi_memclr4
  [Called By]
  - >> App_ParamStore_Process

  App_key_run (Thumb, 1500 bytes, Stack size 40 bytes, app_key.o(i.App_key_run))
  [Stack]

  - Max Depth = 176
  - Call Chain = App_key_run ⇒ local_motion_start ⇒ Int_TMC2209_start ⇒ Int_TMC2209_set_steps ⇒ __2printf
  [Calls]
  - >> Int_Key_Task
  - >> Int_Key_PopAction
  - >> __aeabi_f2d
  - >> local_motion_stop_decel
  - >> local_motion_start
  - >> local_motion_estop
  - >> key_guard_check
  - >> __2printf
  - >> strrchr
  [Called By]
  - >> app_main

  BusFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.BusFault_Handler))
  [Address Reference Count : 1]

  - startup_stm32f407xx.o(RESET)

  CAN1_RX0_IRQHandler (Thumb, 10 bytes, Stack size 8 bytes, stm32f4xx_it.o(i.CAN1_RX0_IRQHandler))
  [Stack]

  - Max Depth = 124
  - Call Chain = CAN1_RX0_IRQHandler ⇒ HAL_CAN_IRQHandler ⇒ HAL_CAN_TxMailbox2CompleteCallback ⇒ CO_CANinterrupt_TX ⇒ prv_send_can_message ⇒ HAL_CAN_AddTxMessage
  [Calls]
  - >> HAL_CAN_IRQHandler
  [Address Reference Count : 1]
  - startup_stm32f407xx.o(RESET)

  CO_CANclearPendingSyncPDOs (Thumb, 116 bytes, Stack size 12 bytes, co_driver_stm32.o(i.CO_CANclearPendingSyncPDOs))
  [Stack]

  - Max Depth = 12
  - Call Chain = CO_CANclearPendingSyncPDOs
  [Called By]
  - >> CO_process_SYNC

  CO_CANinit (Thumb, 54 bytes, Stack size 32 bytes, canopen.o(i.CO_CANinit))
  [Stack]

  - Max Depth = 124
  - Call Chain = CO_CANinit ⇒ CO_CANmodule_init ⇒ HAL_CAN_ConfigFilter
  [Calls]
  - >> CO_CANsetConfigurationMode
  - >> CO_CANmodule_init
  [Called By]
  - >> canopen_app_resetCommunication

  CO_CANinterrupt_TX (Thumb, 96 bytes, Stack size 24 bytes, co_driver_stm32.o(i.CO_CANinterrupt_TX))
  [Stack]

  - Max Depth = 68
  - Call Chain = CO_CANinterrupt_TX ⇒ prv_send_can_message ⇒ HAL_CAN_AddTxMessage
  [Calls]
  - >> prv_send_can_message
  [Called By]
  - >> HAL_CAN_TxMailbox2CompleteCallback
  - >> HAL_CAN_TxMailbox1CompleteCallback
  - >> HAL_CAN_TxMailbox0CompleteCallback

  CO_CANmodule_disable (Thumb, 20 bytes, Stack size 8 bytes, co_driver_stm32.o(i.CO_CANmodule_disable))
  [Stack]

  - Max Depth = 24
  - Call Chain = CO_CANmodule_disable ⇒ HAL_CAN_Stop
  [Calls]
  - >> HAL_CAN_Stop
  [Called By]
  - >> canopen_app_resetCommunication
  - >> CO_delete

  CO_CANmodule_init (Thumb, 252 bytes, Stack size 72 bytes, co_driver_stm32.o(i.CO_CANmodule_init))
  [Stack]

  - Max Depth = 92
  - Call Chain = CO_CANmodule_init ⇒ HAL_CAN_ConfigFilter
  [Calls]
  - >> HAL_CAN_ConfigFilter
  - >> HAL_CAN_ActivateNotification
  [Called By]
  - >> CO_CANinit

  CO_CANmodule_process (Thumb, 72 bytes, Stack size 0 bytes, co_driver_stm32.o(i.CO_CANmodule_process))
  [Called By]

  - >> CO_process

  CO_CANopenInit (Thumb, 456 bytes, Stack size 72 bytes, canopen.o(i.CO_CANopenInit))
  [Stack]

  - Max Depth = 288
  - Call Chain = CO_CANopenInit ⇒ CO_SDOserver_init ⇒ OD_set_u32 ⇒ OD_set_value ⇒ OD_getSub
  [Calls]
  - >> CO_TIME_init
  - >> CO_SYNC_init
  - >> CO_SDOserver_init
  - >> CO_NMT_init
  - >> CO_LEDs_init
  - >> CO_HBconsumer_init
  - >> CO_EM_init
  [Called By]
  - >> canopen_app_resetCommunication

  CO_CANopenInitPDO (Thumb, 282 bytes, Stack size 80 bytes, canopen.o(i.CO_CANopenInitPDO))
  [Stack]

  - Max Depth = 360
  - Call Chain = CO_CANopenInitPDO ⇒ CO_TPDO_init ⇒ PDO_initMapping ⇒ PDOconfigMap ⇒ OD_getSub
  [Calls]
  - >> CO_TPDO_init
  - >> CO_RPDO_init
  [Called By]
  - >> canopen_app_resetCommunication

  CO_CANrxBufferInit (Thumb, 104 bytes, Stack size 28 bytes, co_driver_stm32.o(i.CO_CANrxBufferInit))
  [Stack]

  - Max Depth = 28
  - Call Chain = CO_CANrxBufferInit
  [Called By]
  - >> OD_write_1005
  - >> CO_SDOserver_init_canRxTx
  - >> OD_write_14xx
  - >> CO_HBconsumer_initEntry
  - >> CO_TIME_init
  - >> CO_SYNC_init
  - >> CO_RPDO_init
  - >> CO_NMT_init
  - >> CO_LSSslave_init

  CO_CANsend (Thumb, 84 bytes, Stack size 16 bytes, co_driver_stm32.o(i.CO_CANsend))
  [Stack]

  - Max Depth = 60
  - Call Chain = CO_CANsend ⇒ prv_send_can_message ⇒ HAL_CAN_AddTxMessage
  [Calls]
  - >> prv_send_can_message
  [Called By]
  - >> CO_TPDOsend
  - >> CO_SYNC_process
  - >> CO_SDOserver_process
  - >> CO_NMT_process
  - >> CO_LSSslave_process
  - >> CO_EM_process

  CO_CANsetConfigurationMode (Thumb, 14 bytes, Stack size 8 bytes, co_driver_stm32.o(i.CO_CANsetConfigurationMode))
  [Stack]

  - Max Depth = 24
  - Call Chain = CO_CANsetConfigurationMode ⇒ HAL_CAN_Stop
  [Calls]
  - >> HAL_CAN_Stop
  [Called By]
  - >> canopen_app_resetCommunication
  - >> canopen_app_process
  - >> CO_CANinit

  CO_CANsetNormalMode (Thumb, 24 bytes, Stack size 8 bytes, co_driver_stm32.o(i.CO_CANsetNormalMode))
  [Stack]

  - Max Depth = 24
  - Call Chain = CO_CANsetNormalMode ⇒ HAL_CAN_Start
  [Calls]
  - >> HAL_CAN_Start
  [Called By]
  - >> canopen_app_resetCommunication

  CO_CANtxBufferInit (Thumb, 60 bytes, Stack size 20 bytes, co_driver_stm32.o(i.CO_CANtxBufferInit))
  [Stack]

  - Max Depth = 20
  - Call Chain = CO_CANtxBufferInit
  [Called By]
  - >> OD_write_1019
  - >> OD_write_1005
  - >> CO_SDOserver_init_canRxTx
  - >> OD_write_18xx
  - >> CO_TPDO_init
  - >> CO_SYNC_init
  - >> CO_NMT_init
  - >> CO_LSSslave_init
  - >> CO_EM_init

  CO_EM_init (Thumb, 314 bytes, Stack size 64 bytes, co_emergency.o(i.CO_EM_init))
  [Stack]

  - Max Depth = 160
  - Call Chain = CO_EM_init ⇒ OD_get_value ⇒ OD_getSub
  [Calls]
  - >> OD_getPtr
  - >> CO_CANtxBufferInit
  - >> OD_getIndex
  - >> OD_extension_init
  - >> OD_get_value
  - >> __aeabi_memclr4
  [Called By]
  - >> CO_CANopenInit

  CO_EM_process (Thumb, 422 bytes, Stack size 40 bytes, co_emergency.o(i.CO_EM_process))
  [Stack]

  - Max Depth = 100
  - Call Chain = CO_EM_process ⇒ CO_CANsend ⇒ prv_send_can_message ⇒ HAL_CAN_AddTxMessage
  [Calls]
  - >> CO_CANsend
  - >> CO_error
  [Called By]
  - >> CO_process

  CO_HBconsumer_init (Thumb, 268 bytes, Stack size 80 bytes, co_hbconsumer.o(i.CO_HBconsumer_init))
  [Stack]

  - Max Depth = 176
  - Call Chain = CO_HBconsumer_init ⇒ OD_get_value ⇒ OD_getSub
  [Calls]
  - >> OD_getIndex
  - >> CO_HBconsumer_initEntry
  - >> OD_get_value
  - >> __aeabi_memclr4
  [Called By]
  - >> CO_CANopenInit

  CO_HBconsumer_process (Thumb, 284 bytes, Stack size 40 bytes, co_hbconsumer.o(i.CO_HBconsumer_process))
  [Stack]

  - Max Depth = 76
  - Call Chain = CO_HBconsumer_process ⇒ CO_error
  [Calls]
  - >> CO_error
  [Called By]
  - >> CO_process

  CO_LEDs_init (Thumb, 22 bytes, Stack size 0 bytes, co_leds.o(i.CO_LEDs_init))
  [Called By]

  - >> CO_CANopenInit

  CO_LEDs_process (Thumb, 618 bytes, Stack size 36 bytes, co_leds.o(i.CO_LEDs_process))
  [Stack]

  - Max Depth = 36
  - Call Chain = CO_LEDs_process
  [Called By]
  - >> CO_process

  CO_LSSinit (Thumb, 72 bytes, Stack size 48 bytes, canopen.o(i.CO_LSSinit))
  [Stack]

  - Max Depth = 132
  - Call Chain = CO_LSSinit ⇒ CO_LSSslave_init ⇒ CO_CANrxBufferInit
  [Calls]
  - >> CO_LSSslave_init
  [Called By]
  - >> canopen_app_resetCommunication

  CO_LSSslave_init (Thumb, 172 bytes, Stack size 56 bytes, co_lssslave.o(i.CO_LSSslave_init))
  [Stack]

  - Max Depth = 84
  - Call Chain = CO_LSSslave_init ⇒ CO_CANrxBufferInit
  [Calls]
  - >> CO_CANrxBufferInit
  - >> CO_CANtxBufferInit
  - >> __aeabi_memclr4
  [Called By]
  - >> CO_LSSinit

  CO_LSSslave_process (Thumb, 506 bytes, Stack size 48 bytes, co_lssslave.o(i.CO_LSSslave_process))
  [Stack]

  - Max Depth = 108
  - Call Chain = CO_LSSslave_process ⇒ CO_CANsend ⇒ prv_send_can_message ⇒ HAL_CAN_AddTxMessage
  [Calls]
  - >> CO_CANsend
  [Called By]
  - >> CO_process

  CO_NMT_init (Thumb, 280 bytes, Stack size 72 bytes, co_nmt_heartbeat.o(i.CO_NMT_init))
  [Stack]

  - Max Depth = 168
  - Call Chain = CO_NMT_init ⇒ OD_get_value ⇒ OD_getSub
  [Calls]
  - >> OD_getIndex
  - >> CO_CANrxBufferInit
  - >> CO_CANtxBufferInit
  - >> OD_get_value
  - >> __aeabi_memclr4
  [Called By]
  - >> CO_CANopenInit

  CO_NMT_process (Thumb, 360 bytes, Stack size 64 bytes, co_nmt_heartbeat.o(i.CO_NMT_process))
  [Stack]

  - Max Depth = 124
  - Call Chain = CO_NMT_process ⇒ CO_CANsend ⇒ prv_send_can_message ⇒ HAL_CAN_AddTxMessage
  [Calls]
  - >> CO_isError
  - >> CO_CANsend
  [Called By]
  - >> CO_process

  CO_RPDO_init (Thumb, 464 bytes, Stack size 80 bytes, co_pdo.o(i.CO_RPDO_init))
  [Stack]

  - Max Depth = 272
  - Call Chain = CO_RPDO_init ⇒ PDO_initMapping ⇒ PDOconfigMap ⇒ OD_getSub
  [Calls]
  - >> PDO_initMapping
  - >> OD_get_u8
  - >> OD_get_u32
  - >> OD_get_u16
  - >> OD_getIndex
  - >> OD_extension_init
  - >> CO_CANrxBufferInit
  - >> CO_error
  - >> __aeabi_memclr4
  [Called By]
  - >> CO_CANopenInitPDO

  CO_RPDO_process (Thumb, 496 bytes, Stack size 80 bytes, co_pdo.o(i.CO_RPDO_process))
  [Stack]

  - Max Depth = 116
  - Call Chain = CO_RPDO_process ⇒ CO_error
  [Calls]
  - >> CO_error
  - >> __aeabi_memcpy
  [Called By]
  - >> CO_process_RPDO

  CO_SDOserver_init (Thumb, 424 bytes, Stack size 80 bytes, co_sdoserver.o(i.CO_SDOserver_init))
  [Stack]

  - Max Depth = 216
  - Call Chain = CO_SDOserver_init ⇒ OD_set_u32 ⇒ OD_set_value ⇒ OD_getSub
  [Calls]
  - >> OD_set_u32
  - >> OD_get_u32
  - >> CO_SDOserver_init_canRxTx
  - >> OD_get_value
  [Called By]
  - >> CO_CANopenInit

  CO_SDOserver_process (Thumb, 1906 bytes, Stack size 56 bytes, co_sdoserver.o(i.CO_SDOserver_process))
  [Stack]

  - Max Depth = 116
  - Call Chain = CO_SDOserver_process ⇒ CO_CANsend ⇒ prv_send_can_message ⇒ HAL_CAN_AddTxMessage
  [Calls]
  - >> validateAndWriteToOD
  - >> readFromOd
  - >> OD_getSub
  - >> OD_getSDOabCode
  - >> CO_CANsend
  - >> OD_find
  - >> __aeabi_memcpy4
  - >> __aeabi_memcpy
  [Called By]
  - >> CO_process

  CO_SYNC_init (Thumb, 446 bytes, Stack size 64 bytes, co_sync.o(i.CO_SYNC_init))
  [Stack]

  - Max Depth = 160
  - Call Chain = CO_SYNC_init ⇒ OD_get_value ⇒ OD_getSub
  [Calls]
  - >> OD_getIndex
  - >> OD_extension_init
  - >> CO_CANrxBufferInit
  - >> OD_getPtr
  - >> CO_CANtxBufferInit
  - >> OD_get_value
  - >> __aeabi_memclr4
  [Called By]
  - >> CO_CANopenInit

  CO_SYNC_process (Thumb, 306 bytes, Stack size 40 bytes, co_sync.o(i.CO_SYNC_process))
  [Stack]

  - Max Depth = 100
  - Call Chain = CO_SYNC_process ⇒ CO_CANsend ⇒ prv_send_can_message ⇒ HAL_CAN_AddTxMessage
  [Calls]
  - >> CO_CANsend
  - >> CO_error
  [Called By]
  - >> CO_process_SYNC

  CO_TIME_init (Thumb, 198 bytes, Stack size 72 bytes, co_time.o(i.CO_TIME_init))
  [Stack]

  - Max Depth = 168
  - Call Chain = CO_TIME_init ⇒ OD_get_value ⇒ OD_getSub
  [Calls]
  - >> CO_CANrxBufferInit
  - >> OD_get_value
  - >> __aeabi_memclr4
  [Called By]
  - >> CO_CANopenInit

  CO_TIME_process (Thumb, 146 bytes, Stack size 40 bytes, co_time.o(i.CO_TIME_process))
  [Stack]

  - Max Depth = 64
  - Call Chain = CO_TIME_process ⇒ CO_getUint32 ⇒ __aeabi_memmove
  [Calls]
  - >> CO_getUint32
  - >> __aeabi_memmove
  [Called By]
  - >> CO_process

  CO_TPDO_init (Thumb, 548 bytes, Stack size 88 bytes, co_pdo.o(i.CO_TPDO_init))
  [Stack]

  - Max Depth = 280
  - Call Chain = CO_TPDO_init ⇒ PDO_initMapping ⇒ PDOconfigMap ⇒ OD_getSub
  [Calls]
  - >> PDO_initMapping
  - >> OD_get_u8
  - >> OD_get_u32
  - >> OD_get_u16
  - >> OD_getIndex
  - >> OD_extension_init
  - >> CO_CANtxBufferInit
  - >> CO_error
  - >> __aeabi_memclr4
  [Called By]
  - >> CO_CANopenInitPDO

  CO_TPDO_process (Thumb, 360 bytes, Stack size 32 bytes, co_pdo.o(i.CO_TPDO_process))
  [Stack]

  - Max Depth = 156
  - Call Chain = CO_TPDO_process ⇒ CO_TPDOsend ⇒ CO_CANsend ⇒ prv_send_can_message ⇒ HAL_CAN_AddTxMessage
  [Calls]
  - >> CO_TPDOsend
  [Called By]
  - >> CO_process_TPDO

  CO_delete (Thumb, 114 bytes, Stack size 8 bytes, canopen.o(i.CO_delete))
  [Stack]

  - Max Depth = 32
  - Call Chain = CO_delete ⇒ CO_CANmodule_disable ⇒ HAL_CAN_Stop
  [Calls]
  - >> CO_CANmodule_disable
  - >> free
  [Called By]
  - >> canopen_app_process
  - >> CO_new

  CO_error (Thumb, 226 bytes, Stack size 36 bytes, co_emergency.o(i.CO_error))
  [Stack]

  - Max Depth = 36
  - Call Chain = CO_error
  [Called By]
  - >> CO_TPDOsend
  - >> CO_TPDO_init
  - >> CO_SYNC_process
  - >> CO_RPDO_process
  - >> CO_RPDO_init
  - >> CO_HBconsumer_process
  - >> CO_EM_process

  CO_new (Thumb, 390 bytes, Stack size 32 bytes, canopen.o(i.CO_new))
  [Stack]

  - Max Depth = 64
  - Call Chain = CO_new ⇒ CO_delete ⇒ CO_CANmodule_disable ⇒ HAL_CAN_Stop
  [Calls]
  - >> CO_delete
  - >> calloc
  [Called By]
  - >> canopen_app_init

  CO_process (Thumb, 370 bytes, Stack size 88 bytes, canopen.o(i.CO_process))
  [Stack]

  - Max Depth = 212
  - Call Chain = CO_process ⇒ CO_NMT_process ⇒ CO_CANsend ⇒ prv_send_can_message ⇒ HAL_CAN_AddTxMessage
  [Calls]
  - >> CO_TIME_process
  - >> CO_SDOserver_process
  - >> CO_NMT_process
  - >> CO_LSSslave_process
  - >> CO_LEDs_process
  - >> CO_HBconsumer_process
  - >> CO_EM_process
  - >> CO_CANmodule_process
  - >> CO_isError
  - >> CO_NMT_getInternalState
  [Called By]
  - >> canopen_app_process

  CO_process_RPDO (Thumb, 76 bytes, Stack size 32 bytes, canopen.o(i.CO_process_RPDO))
  [Stack]

  - Max Depth = 148
  - Call Chain = CO_process_RPDO ⇒ CO_RPDO_process ⇒ CO_error
  [Calls]
  - >> CO_RPDO_process
  - >> CO_NMT_getInternalState
  [Called By]
  - >> canopen_app_interrupt

  CO_process_SYNC (Thumb, 104 bytes, Stack size 32 bytes, canopen.o(i.CO_process_SYNC))
  [Stack]

  - Max Depth = 132
  - Call Chain = CO_process_SYNC ⇒ CO_SYNC_process ⇒ CO_CANsend ⇒ prv_send_can_message ⇒ HAL_CAN_AddTxMessage
  [Calls]
  - >> CO_SYNC_process
  - >> CO_CANclearPendingSyncPDOs
  - >> CO_NMT_getInternalState
  [Called By]
  - >> canopen_app_interrupt

  CO_process_TPDO (Thumb, 80 bytes, Stack size 32 bytes, canopen.o(i.CO_process_TPDO))
  [Stack]

  - Max Depth = 188
  - Call Chain = CO_process_TPDO ⇒ CO_TPDO_process ⇒ CO_TPDOsend ⇒ CO_CANsend ⇒ prv_send_can_message ⇒ HAL_CAN_AddTxMessage
  [Calls]
  - >> CO_TPDO_process
  - >> CO_NMT_getInternalState
  [Called By]
  - >> canopen_app_interrupt

  DWT_TS_GET (Thumb, 6 bytes, Stack size 0 bytes, dwt.o(i.DWT_TS_GET))
  [Called By]

  - >> DWT_delay_us

  DWT_delay_us (Thumb, 72 bytes, Stack size 12 bytes, dwt.o(i.DWT_delay_us))
  [Stack]

  - Max Depth = 12
  - Call Chain = DWT_delay_us
  [Calls]
  - >> DWT_TS_GET
  [Called By]
  - >> Dri_I2C_Stop
  - >> Dri_I2C_Start
  - >> Dri_I2C_TransmitByte
  - >> Dri_I2C_TransmitACK
  - >> Dri_I2C_ReceiveByte
  - >> Dri_I2C_ReceiveACK

  DWT_init (Thumb, 30 bytes, Stack size 0 bytes, dwt.o(i.DWT_init))
  [Called By]

  - >> Int_Encoder_Init

  DebugMon_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.DebugMon_Handler))
  [Address Reference Count : 1]

  - startup_stm32f407xx.o(RESET)

  Dri_I2C_Init (Thumb, 74 bytes, Stack size 32 bytes, softi2c.o(i.Dri_I2C_Init))
  [Stack]

  - Max Depth = 56
  - Call Chain = Dri_I2C_Init ⇒ HAL_GPIO_Init
  [Calls]
  - >> HAL_GPIO_Init
  - >> __aeabi_memclr4
  [Called By]
  - >> Int_Encoder_set_resolution

  Dri_I2C_ReadReg (Thumb, 178 bytes, Stack size 32 bytes, softi2c.o(i.Dri_I2C_ReadReg))
  [Stack]

  - Max Depth = 84
  - Call Chain = Dri_I2C_ReadReg ⇒ Dri_I2C_WriteAddr ⇒ Dri_I2C_TransmitByte ⇒ DWT_delay_us
  [Calls]
  - >> Dri_I2C_WriteAddr
  - >> Dri_I2C_Stop
  - >> Dri_I2C_Start
  - >> Dri_I2C_TransmitByte
  - >> Dri_I2C_TransmitACK
  - >> Dri_I2C_ReceiveByte
  - >> Dri_I2C_ReceiveACK
  - >> __2printf
  - >> strrchr
  [Called By]
  - >> Int_Encoder_set_resolution

  Dri_I2C_ReceiveACK (Thumb, 48 bytes, Stack size 8 bytes, softi2c.o(i.Dri_I2C_ReceiveACK))
  [Stack]

  - Max Depth = 20
  - Call Chain = Dri_I2C_ReceiveACK ⇒ DWT_delay_us
  [Calls]
  - >> DWT_delay_us
  [Called By]
  - >> Dri_I2C_WriteReg
  - >> Dri_I2C_WriteAddr
  - >> Dri_I2C_ReadReg

  Dri_I2C_ReceiveByte (Thumb, 74 bytes, Stack size 16 bytes, softi2c.o(i.Dri_I2C_ReceiveByte))
  [Stack]

  - Max Depth = 28
  - Call Chain = Dri_I2C_ReceiveByte ⇒ DWT_delay_us
  [Calls]
  - >> DWT_delay_us
  [Called By]
  - >> Dri_I2C_ReadReg

  Dri_I2C_Start (Thumb, 50 bytes, Stack size 8 bytes, softi2c.o(i.Dri_I2C_Start))
  [Stack]

  - Max Depth = 20
  - Call Chain = Dri_I2C_Start ⇒ DWT_delay_us
  [Calls]
  - >> DWT_delay_us
  [Called By]
  - >> Dri_I2C_ReadReg
  - >> Int_Encoder_set_resolution

  Dri_I2C_Stop (Thumb, 36 bytes, Stack size 8 bytes, softi2c.o(i.Dri_I2C_Stop))
  [Stack]

  - Max Depth = 20
  - Call Chain = Dri_I2C_Stop ⇒ DWT_delay_us
  [Calls]
  - >> DWT_delay_us
  [Called By]
  - >> Dri_I2C_ReadReg
  - >> Int_Encoder_set_resolution

  Dri_I2C_TransmitACK (Thumb, 54 bytes, Stack size 8 bytes, softi2c.o(i.Dri_I2C_TransmitACK))
  [Stack]

  - Max Depth = 20
  - Call Chain = Dri_I2C_TransmitACK ⇒ DWT_delay_us
  [Calls]
  - >> DWT_delay_us
  [Called By]
  - >> Dri_I2C_ReadReg

  Dri_I2C_TransmitByte (Thumb, 74 bytes, Stack size 16 bytes, softi2c.o(i.Dri_I2C_TransmitByte))
  [Stack]

  - Max Depth = 28
  - Call Chain = Dri_I2C_TransmitByte ⇒ DWT_delay_us
  [Calls]
  - >> DWT_delay_us
  [Called By]
  - >> Dri_I2C_WriteReg
  - >> Dri_I2C_WriteAddr
  - >> Dri_I2C_ReadReg

  Dri_I2C_WriteAddr (Thumb, 136 bytes, Stack size 24 bytes, softi2c.o(i.Dri_I2C_WriteAddr))
  [Stack]

  - Max Depth = 52
  - Call Chain = Dri_I2C_WriteAddr ⇒ Dri_I2C_TransmitByte ⇒ DWT_delay_us
  [Calls]
  - >> Dri_I2C_TransmitByte
  - >> Dri_I2C_ReceiveACK
  - >> __2printf
  - >> strrchr
  [Called By]
  - >> Dri_I2C_ReadReg
  - >> Int_Encoder_set_resolution

  Dri_I2C_WriteReg (Thumb, 262 bytes, Stack size 24 bytes, softi2c.o(i.Dri_I2C_WriteReg))
  [Stack]

  - Max Depth = 52
  - Call Chain = Dri_I2C_WriteReg ⇒ Dri_I2C_TransmitByte ⇒ DWT_delay_us
  [Calls]
  - >> Dri_I2C_TransmitByte
  - >> Dri_I2C_ReceiveACK
  - >> __2printf
  - >> strrchr
  [Called By]
  - >> Int_Encoder_set_resolution

  EXTI2_IRQHandler (Thumb, 10 bytes, Stack size 8 bytes, stm32f4xx_it.o(i.EXTI2_IRQHandler))
  [Stack]

  - Max Depth = 16
  - Call Chain = EXTI2_IRQHandler ⇒ HAL_GPIO_EXTI_IRQHandler
  [Calls]
  - >> HAL_GPIO_EXTI_IRQHandler
  [Address Reference Count : 1]
  - startup_stm32f407xx.o(RESET)

  EXTI9_5_IRQHandler (Thumb, 18 bytes, Stack size 8 bytes, stm32f4xx_it.o(i.EXTI9_5_IRQHandler))
  [Stack]

  - Max Depth = 16
  - Call Chain = EXTI9_5_IRQHandler ⇒ HAL_GPIO_EXTI_IRQHandler
  [Calls]
  - >> HAL_GPIO_EXTI_IRQHandler
  [Address Reference Count : 1]
  - startup_stm32f407xx.o(RESET)

  Error_Handler (Thumb, 6 bytes, Stack size 0 bytes, main.o(i.Error_Handler))
  [Called By]

  - >> MX_USART3_UART_Init
  - >> MX_UART5_Init
  - >> MX_TIM9_Init
  - >> MX_TIM2_Init
  - >> MX_TIM1_Init
  - >> MX_TIM12_Init
  - >> MX_TIM11_Init
  - >> MX_TIM10_Init
  - >> MX_I2C2_Init
  - >> MX_CRC_Init
  - >> MX_CAN1_Init
  - >> SystemClock_Config

  HAL_CAN_ActivateNotification (Thumb, 42 bytes, Stack size 8 bytes, stm32f4xx_hal_can.o(i.HAL_CAN_ActivateNotification))
  [Stack]

  - Max Depth = 8
  - Call Chain = HAL_CAN_ActivateNotification
  [Called By]
  - >> CO_CANmodule_init

  HAL_CAN_AddTxMessage (Thumb, 330 bytes, Stack size 20 bytes, stm32f4xx_hal_can.o(i.HAL_CAN_AddTxMessage))
  [Stack]

  - Max Depth = 20
  - Call Chain = HAL_CAN_AddTxMessage
  [Called By]
  - >> prv_send_can_message

  HAL_CAN_ConfigFilter (Thumb, 284 bytes, Stack size 20 bytes, stm32f4xx_hal_can.o(i.HAL_CAN_ConfigFilter))
  [Stack]

  - Max Depth = 20
  - Call Chain = HAL_CAN_ConfigFilter
  [Called By]
  - >> CO_CANmodule_init

  HAL_CAN_ErrorCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_can.o(i.HAL_CAN_ErrorCallback))
  [Called By]

  - >> HAL_CAN_IRQHandler

  HAL_CAN_GetRxMessage (Thumb, 404 bytes, Stack size 16 bytes, stm32f4xx_hal_can.o(i.HAL_CAN_GetRxMessage))
  [Stack]

  - Max Depth = 16
  - Call Chain = HAL_CAN_GetRxMessage
  [Called By]
  - >> prv_read_can_received_msg

  HAL_CAN_GetTxMailboxesFreeLevel (Thumb, 54 bytes, Stack size 0 bytes, stm32f4xx_hal_can.o(i.HAL_CAN_GetTxMailboxesFreeLevel))
  [Called By]

  - >> prv_send_can_message

  HAL_CAN_IRQHandler (Thumb, 590 bytes, Stack size 40 bytes, stm32f4xx_hal_can.o(i.HAL_CAN_IRQHandler))
  [Stack]

  - Max Depth = 116
  - Call Chain = HAL_CAN_IRQHandler ⇒ HAL_CAN_TxMailbox2CompleteCallback ⇒ CO_CANinterrupt_TX ⇒ prv_send_can_message ⇒ HAL_CAN_AddTxMessage
  [Calls]
  - >> HAL_CAN_WakeUpFromRxMsgCallback
  - >> HAL_CAN_TxMailbox2AbortCallback
  - >> HAL_CAN_TxMailbox1AbortCallback
  - >> HAL_CAN_TxMailbox0AbortCallback
  - >> HAL_CAN_SleepCallback
  - >> HAL_CAN_RxFifo1FullCallback
  - >> HAL_CAN_RxFifo0FullCallback
  - >> HAL_CAN_ErrorCallback
  - >> HAL_CAN_TxMailbox2CompleteCallback
  - >> HAL_CAN_TxMailbox1CompleteCallback
  - >> HAL_CAN_TxMailbox0CompleteCallback
  - >> HAL_CAN_RxFifo1MsgPendingCallback
  - >> HAL_CAN_RxFifo0MsgPendingCallback
  [Called By]
  - >> CAN1_RX0_IRQHandler

  HAL_CAN_Init (Thumb, 372 bytes, Stack size 16 bytes, stm32f4xx_hal_can.o(i.HAL_CAN_Init))
  [Stack]

  - Max Depth = 96
  - Call Chain = HAL_CAN_Init ⇒ HAL_CAN_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
  [Calls]
  - >> HAL_CAN_MspInit
  - >> HAL_GetTick
  [Called By]
  - >> MX_CAN1_Init

  HAL_CAN_MspInit (Thumb, 140 bytes, Stack size 32 bytes, can.o(i.HAL_CAN_MspInit))
  [Stack]

  - Max Depth = 80
  - Call Chain = HAL_CAN_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
  [Calls]
  - >> HAL_NVIC_SetPriority
  - >> HAL_NVIC_EnableIRQ
  - >> HAL_GPIO_Init
  - >> __aeabi_memclr4
  [Called By]
  - >> HAL_CAN_Init

  HAL_CAN_RxFifo0FullCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_can.o(i.HAL_CAN_RxFifo0FullCallback))
  [Called By]

  - >> HAL_CAN_IRQHandler

  HAL_CAN_RxFifo0MsgPendingCallback (Thumb, 16 bytes, Stack size 8 bytes, co_driver_stm32.o(i.HAL_CAN_RxFifo0MsgPendingCallback))
  [Stack]

  - Max Depth = 72
  - Call Chain = HAL_CAN_RxFifo0MsgPendingCallback ⇒ prv_read_can_received_msg ⇒ HAL_CAN_GetRxMessage
  [Calls]
  - >> prv_read_can_received_msg
  [Called By]
  - >> HAL_CAN_IRQHandler

  HAL_CAN_RxFifo1FullCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_can.o(i.HAL_CAN_RxFifo1FullCallback))
  [Called By]

  - >> HAL_CAN_IRQHandler

  HAL_CAN_RxFifo1MsgPendingCallback (Thumb, 16 bytes, Stack size 8 bytes, co_driver_stm32.o(i.HAL_CAN_RxFifo1MsgPendingCallback))
  [Stack]

  - Max Depth = 72
  - Call Chain = HAL_CAN_RxFifo1MsgPendingCallback ⇒ prv_read_can_received_msg ⇒ HAL_CAN_GetRxMessage
  [Calls]
  - >> prv_read_can_received_msg
  [Called By]
  - >> HAL_CAN_IRQHandler

  HAL_CAN_SleepCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_can.o(i.HAL_CAN_SleepCallback))
  [Called By]

  - >> HAL_CAN_IRQHandler

  HAL_CAN_Start (Thumb, 94 bytes, Stack size 16 bytes, stm32f4xx_hal_can.o(i.HAL_CAN_Start))
  [Stack]

  - Max Depth = 16
  - Call Chain = HAL_CAN_Start
  [Calls]
  - >> HAL_GetTick
  [Called By]
  - >> CO_CANsetNormalMode

  HAL_CAN_Stop (Thumb, 106 bytes, Stack size 16 bytes, stm32f4xx_hal_can.o(i.HAL_CAN_Stop))
  [Stack]

  - Max Depth = 16
  - Call Chain = HAL_CAN_Stop
  [Calls]
  - >> HAL_GetTick
  [Called By]
  - >> CO_CANsetConfigurationMode
  - >> CO_CANmodule_disable

  HAL_CAN_TxMailbox0AbortCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_can.o(i.HAL_CAN_TxMailbox0AbortCallback))
  [Called By]

  - >> HAL_CAN_IRQHandler

  HAL_CAN_TxMailbox0CompleteCallback (Thumb, 16 bytes, Stack size 8 bytes, co_driver_stm32.o(i.HAL_CAN_TxMailbox0CompleteCallback))
  [Stack]

  - Max Depth = 76
  - Call Chain = HAL_CAN_TxMailbox0CompleteCallback ⇒ CO_CANinterrupt_TX ⇒ prv_send_can_message ⇒ HAL_CAN_AddTxMessage
  [Calls]
  - >> CO_CANinterrupt_TX
  [Called By]
  - >> HAL_CAN_IRQHandler

  HAL_CAN_TxMailbox1AbortCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_can.o(i.HAL_CAN_TxMailbox1AbortCallback))
  [Called By]

  - >> HAL_CAN_IRQHandler

  HAL_CAN_TxMailbox1CompleteCallback (Thumb, 16 bytes, Stack size 8 bytes, co_driver_stm32.o(i.HAL_CAN_TxMailbox1CompleteCallback))
  [Stack]

  - Max Depth = 76
  - Call Chain = HAL_CAN_TxMailbox1CompleteCallback ⇒ CO_CANinterrupt_TX ⇒ prv_send_can_message ⇒ HAL_CAN_AddTxMessage
  [Calls]
  - >> CO_CANinterrupt_TX
  [Called By]
  - >> HAL_CAN_IRQHandler

  HAL_CAN_TxMailbox2AbortCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_can.o(i.HAL_CAN_TxMailbox2AbortCallback))
  [Called By]

  - >> HAL_CAN_IRQHandler

  HAL_CAN_TxMailbox2CompleteCallback (Thumb, 16 bytes, Stack size 8 bytes, co_driver_stm32.o(i.HAL_CAN_TxMailbox2CompleteCallback))
  [Stack]

  - Max Depth = 76
  - Call Chain = HAL_CAN_TxMailbox2CompleteCallback ⇒ CO_CANinterrupt_TX ⇒ prv_send_can_message ⇒ HAL_CAN_AddTxMessage
  [Calls]
  - >> CO_CANinterrupt_TX
  [Called By]
  - >> HAL_CAN_IRQHandler

  HAL_CAN_WakeUpFromRxMsgCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_can.o(i.HAL_CAN_WakeUpFromRxMsgCallback))
  [Called By]

  - >> HAL_CAN_IRQHandler

  HAL_CRC_Accumulate (Thumb, 40 bytes, Stack size 16 bytes, stm32f4xx_hal_crc.o(i.HAL_CRC_Accumulate))
  [Stack]

  - Max Depth = 16
  - Call Chain = HAL_CRC_Accumulate
  [Called By]
  - >> App_ParamStore_Crc32

  HAL_CRC_Calculate (Thumb, 52 bytes, Stack size 16 bytes, stm32f4xx_hal_crc.o(i.HAL_CRC_Calculate))
  [Stack]

  - Max Depth = 16
  - Call Chain = HAL_CRC_Calculate
  [Called By]
  - >> App_ParamStore_Crc32

  HAL_CRC_Init (Thumb, 32 bytes, Stack size 8 bytes, stm32f4xx_hal_crc.o(i.HAL_CRC_Init))
  [Stack]

  - Max Depth = 16
  - Call Chain = HAL_CRC_Init ⇒ HAL_CRC_MspInit
  [Calls]
  - >> HAL_CRC_MspInit
  [Called By]
  - >> MX_CRC_Init

  HAL_CRC_MspInit (Thumb, 44 bytes, Stack size 8 bytes, crc.o(i.HAL_CRC_MspInit))
  [Stack]

  - Max Depth = 8
  - Call Chain = HAL_CRC_MspInit
  [Called By]
  - >> HAL_CRC_Init

  HAL_DMA_Abort (Thumb, 172 bytes, Stack size 16 bytes, stm32f4xx_hal_dma.o(i.HAL_DMA_Abort))
  [Stack]

  - Max Depth = 16
  - Call Chain = HAL_DMA_Abort
  [Calls]
  - >> HAL_GetTick
  [Called By]
  - >> HAL_UART_IRQHandler

  HAL_DMA_Abort_IT (Thumb, 40 bytes, Stack size 0 bytes, stm32f4xx_hal_dma.o(i.HAL_DMA_Abort_IT))
  [Called By]

  - >> HAL_UART_IRQHandler

  HAL_Delay (Thumb, 36 bytes, Stack size 16 bytes, stm32f4xx_hal.o(i.HAL_Delay))
  [Stack]

  - Max Depth = 16
  - Call Chain = HAL_Delay
  [Calls]
  - >> HAL_GetTick
  [Called By]
  - >> Int_EEPROM24xx_Write
  - >> Int_Encoder_set_resolution

  HAL_GPIO_EXTI_Callback (Thumb, 40 bytes, Stack size 0 bytes, app_main.o(i.HAL_GPIO_EXTI_Callback))
  [Called By]

  - >> HAL_GPIO_EXTI_IRQHandler

  HAL_GPIO_EXTI_IRQHandler (Thumb, 24 bytes, Stack size 8 bytes, stm32f4xx_hal_gpio.o(i.HAL_GPIO_EXTI_IRQHandler))
  [Stack]

  - Max Depth = 8
  - Call Chain = HAL_GPIO_EXTI_IRQHandler
  [Calls]
  - >> HAL_GPIO_EXTI_Callback
  [Called By]
  - >> EXTI9_5_IRQHandler
  - >> EXTI2_IRQHandler

  HAL_GPIO_Init (Thumb, 454 bytes, Stack size 24 bytes, stm32f4xx_hal_gpio.o(i.HAL_GPIO_Init))
  [Stack]

  - Max Depth = 24
  - Call Chain = HAL_GPIO_Init
  [Called By]
  - >> HAL_UART_MspInit
  - >> HAL_TIM_MspPostInit
  - >> HAL_TIM_Encoder_MspInit
  - >> HAL_I2C_MspInit
  - >> HAL_CAN_MspInit
  - >> MX_GPIO_Init
  - >> Dri_I2C_Init
  - >> Int_Encoder_start

  HAL_GPIO_ReadPin (Thumb, 16 bytes, Stack size 0 bytes, stm32f4xx_hal_gpio.o(i.HAL_GPIO_ReadPin))
  [Called By]

  - >> Int_Key_Task
  - >> key_home_switch_active

  HAL_GPIO_WritePin (Thumb, 12 bytes, Stack size 0 bytes, stm32f4xx_hal_gpio.o(i.HAL_GPIO_WritePin))
  [Called By]

  - >> MX_GPIO_Init
  - >> Int_TMC2209_stop
  - >> Int_TMC2209_start
  - >> Int_Encoder_set_resolution

  HAL_GetTick (Thumb, 6 bytes, Stack size 0 bytes, stm32f4xx_hal.o(i.HAL_GetTick))
  [Called By]

  - >> HAL_CAN_Init
  - >> HAL_RCC_OscConfig
  - >> HAL_RCC_ClockConfig
  - >> HAL_CAN_Stop
  - >> HAL_CAN_Start
  - >> HAL_I2C_Mem_Write
  - >> HAL_I2C_Mem_Read
  - >> HAL_I2C_IsDeviceReady
  - >> Int_Key_Task
  - >> HAL_Delay
  - >> HAL_UART_Transmit
  - >> HAL_DMA_Abort
  - >> I2C_WaitOnTXEFlagUntilTimeout
  - >> I2C_WaitOnRXNEFlagUntilTimeout
  - >> I2C_WaitOnMasterAddressFlagUntilTimeout
  - >> I2C_WaitOnFlagUntilTimeout
  - >> I2C_WaitOnBTFFlagUntilTimeout
  - >> canopen_app_resetCommunication
  - >> canopen_app_process
  - >> App_ParamStore_Process
  - >> App_Motor_StepLossCheck
  - >> UART_WaitOnFlagUntilTimeout

  HAL_I2C_GetError (Thumb, 6 bytes, Stack size 0 bytes, stm32f4xx_hal_i2c.o(i.HAL_I2C_GetError))
  [Called By]

  - >> Int_EEPROM24xx_Write
  - >> Int_EEPROM24xx_Read
  - >> Int_EEPROM24xx_WaitReady

  HAL_I2C_Init (Thumb, 446 bytes, Stack size 16 bytes, stm32f4xx_hal_i2c.o(i.HAL_I2C_Init))
  [Stack]

  - Max Depth = 72
  - Call Chain = HAL_I2C_Init ⇒ HAL_I2C_MspInit ⇒ HAL_GPIO_Init
  [Calls]
  - >> HAL_I2C_MspInit
  - >> HAL_RCC_GetPCLK1Freq
  [Called By]
  - >> MX_I2C2_Init

  HAL_I2C_IsDeviceReady (Thumb, 430 bytes, Stack size 40 bytes, stm32f4xx_hal_i2c.o(i.HAL_I2C_IsDeviceReady))
  [Stack]

  - Max Depth = 64
  - Call Chain = HAL_I2C_IsDeviceReady ⇒ I2C_WaitOnFlagUntilTimeout
  [Calls]
  - >> HAL_GetTick
  - >> I2C_WaitOnFlagUntilTimeout
  [Called By]
  - >> Int_EEPROM24xx_WaitReady

  HAL_I2C_Mem_Read (Thumb, 762 bytes, Stack size 48 bytes, stm32f4xx_hal_i2c.o(i.HAL_I2C_Mem_Read))
  [Stack]

  - Max Depth = 104
  - Call Chain = HAL_I2C_Mem_Read ⇒ I2C_RequestMemoryRead ⇒ I2C_WaitOnMasterAddressFlagUntilTimeout
  [Calls]
  - >> HAL_GetTick
  - >> I2C_WaitOnRXNEFlagUntilTimeout
  - >> I2C_WaitOnFlagUntilTimeout
  - >> I2C_RequestMemoryRead
  [Called By]
  - >> Int_EEPROM24xx_Read

  HAL_I2C_Mem_Write (Thumb, 348 bytes, Stack size 48 bytes, stm32f4xx_hal_i2c.o(i.HAL_I2C_Mem_Write))
  [Stack]

  - Max Depth = 104
  - Call Chain = HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnMasterAddressFlagUntilTimeout
  [Calls]
  - >> HAL_GetTick
  - >> I2C_WaitOnTXEFlagUntilTimeout
  - >> I2C_WaitOnFlagUntilTimeout
  - >> I2C_WaitOnBTFFlagUntilTimeout
  - >> I2C_RequestMemoryWrite
  [Called By]
  - >> Int_EEPROM24xx_Write

  HAL_I2C_MspInit (Thumb, 122 bytes, Stack size 32 bytes, i2c.o(i.HAL_I2C_MspInit))
  [Stack]

  - Max Depth = 56
  - Call Chain = HAL_I2C_MspInit ⇒ HAL_GPIO_Init
  [Calls]
  - >> HAL_GPIO_Init
  - >> __aeabi_memclr4
  [Called By]
  - >> HAL_I2C_Init

  HAL_IncTick (Thumb, 16 bytes, Stack size 0 bytes, stm32f4xx_hal.o(i.HAL_IncTick))
  [Called By]

  - >> SysTick_Handler

  HAL_Init (Thumb, 54 bytes, Stack size 8 bytes, stm32f4xx_hal.o(i.HAL_Init))
  [Stack]

  - Max Depth = 72
  - Call Chain = HAL_Init ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
  [Calls]
  - >> HAL_MspInit
  - >> HAL_InitTick
  - >> HAL_NVIC_SetPriorityGrouping
  [Called By]
  - >> main

  HAL_InitTick (Thumb, 64 bytes, Stack size 16 bytes, stm32f4xx_hal.o(i.HAL_InitTick))
  [Stack]

  - Max Depth = 64
  - Call Chain = HAL_InitTick ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
  [Calls]
  - >> HAL_NVIC_SetPriority
  - >> HAL_SYSTICK_Config
  [Called By]
  - >> HAL_RCC_ClockConfig
  - >> HAL_Init

  HAL_MspInit (Thumb, 68 bytes, Stack size 8 bytes, stm32f4xx_hal_msp.o(i.HAL_MspInit))
  [Stack]

  - Max Depth = 8
  - Call Chain = HAL_MspInit
  [Called By]
  - >> HAL_Init

  HAL_NVIC_EnableIRQ (Thumb, 40 bytes, Stack size 0 bytes, stm32f4xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ))
  [Called By]

  - >> HAL_UART_MspInit
  - >> HAL_TIM_Encoder_MspInit
  - >> HAL_TIM_Base_MspInit
  - >> HAL_CAN_MspInit
  - >> MX_GPIO_Init

  HAL_NVIC_SetPriority (Thumb, 124 bytes, Stack size 40 bytes, stm32f4xx_hal_cortex.o(i.HAL_NVIC_SetPriority))
  [Stack]

  - Max Depth = 48
  - Call Chain = HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
  [Calls]
  - >> __NVIC_SetPriority
  - >> __NVIC_GetPriorityGrouping
  [Called By]
  - >> HAL_UART_MspInit
  - >> HAL_TIM_Encoder_MspInit
  - >> HAL_TIM_Base_MspInit
  - >> HAL_CAN_MspInit
  - >> MX_GPIO_Init
  - >> HAL_InitTick

  HAL_NVIC_SetPriorityGrouping (Thumb, 32 bytes, Stack size 0 bytes, stm32f4xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping))
  [Called By]

  - >> HAL_Init

  HAL_NVIC_SystemReset (Thumb, 36 bytes, Stack size 0 bytes, stm32f4xx_hal_cortex.o(i.HAL_NVIC_SystemReset))
  [Called By]

  - >> canopen_app_process

  HAL_RCC_ClockConfig (Thumb, 368 bytes, Stack size 16 bytes, stm32f4xx_hal_rcc.o(i.HAL_RCC_ClockConfig))
  [Stack]

  - Max Depth = 88
  - Call Chain = HAL_RCC_ClockConfig ⇒ HAL_RCC_GetSysClockFreq ⇒ __aeabi_uldivmod
  [Calls]
  - >> HAL_RCC_GetSysClockFreq
  - >> HAL_InitTick
  - >> HAL_GetTick
  [Called By]
  - >> SystemClock_Config

  HAL_RCC_GetHCLKFreq (Thumb, 6 bytes, Stack size 0 bytes, stm32f4xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq))
  [Called By]

  - >> HAL_RCC_GetPCLK2Freq
  - >> HAL_RCC_GetPCLK1Freq

  HAL_RCC_GetPCLK1Freq (Thumb, 22 bytes, Stack size 4 bytes, stm32f4xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq))
  [Stack]

  - Max Depth = 4
  - Call Chain = HAL_RCC_GetPCLK1Freq
  [Calls]
  - >> HAL_RCC_GetHCLKFreq
  [Called By]
  - >> HAL_I2C_Init
  - >> UART_SetConfig

  HAL_RCC_GetPCLK2Freq (Thumb, 22 bytes, Stack size 4 bytes, stm32f4xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq))
  [Stack]

  - Max Depth = 4
  - Call Chain = HAL_RCC_GetPCLK2Freq
  [Calls]
  - >> HAL_RCC_GetHCLKFreq
  [Called By]
  - >> UART_SetConfig

  HAL_RCC_GetSysClockFreq (Thumb, 162 bytes, Stack size 32 bytes, stm32f4xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq))
  [Stack]

  - Max Depth = 72
  - Call Chain = HAL_RCC_GetSysClockFreq ⇒ __aeabi_uldivmod
  [Calls]
  - >> __aeabi_uldivmod
  [Called By]
  - >> HAL_RCC_ClockConfig

  HAL_RCC_OscConfig (Thumb, 1172 bytes, Stack size 24 bytes, stm32f4xx_hal_rcc.o(i.HAL_RCC_OscConfig))
  [Stack]

  - Max Depth = 24
  - Call Chain = HAL_RCC_OscConfig
  [Calls]
  - >> HAL_GetTick
  [Called By]
  - >> SystemClock_Config

  HAL_SYSTICK_Config (Thumb, 52 bytes, Stack size 16 bytes, stm32f4xx_hal_cortex.o(i.HAL_SYSTICK_Config))
  [Stack]

  - Max Depth = 24
  - Call Chain = HAL_SYSTICK_Config ⇒ __NVIC_SetPriority
  [Calls]
  - >> __NVIC_SetPriority
  [Called By]
  - >> HAL_InitTick

  HAL_TIMEx_BreakCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_tim_ex.o(i.HAL_TIMEx_BreakCallback))
  [Called By]

  - >> HAL_TIM_IRQHandler

  HAL_TIMEx_CommutCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_tim_ex.o(i.HAL_TIMEx_CommutCallback))
  [Called By]

  - >> HAL_TIM_IRQHandler

  HAL_TIMEx_MasterConfigSynchronization (Thumb, 150 bytes, Stack size 12 bytes, stm32f4xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization))
  [Stack]

  - Max Depth = 12
  - Call Chain = HAL_TIMEx_MasterConfigSynchronization
  [Called By]
  - >> MX_TIM2_Init
  - >> MX_TIM1_Init

  HAL_TIM_Base_Init (Thumb, 102 bytes, Stack size 8 bytes, stm32f4xx_hal_tim.o(i.HAL_TIM_Base_Init))
  [Stack]

  - Max Depth = 72
  - Call Chain = HAL_TIM_Base_Init ⇒ HAL_TIM_Base_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
  [Calls]
  - >> HAL_TIM_Base_MspInit
  - >> TIM_Base_SetConfig
  [Called By]
  - >> MX_TIM9_Init
  - >> MX_TIM2_Init
  - >> MX_TIM12_Init
  - >> MX_TIM11_Init
  - >> MX_TIM10_Init

  HAL_TIM_Base_MspInit (Thumb, 288 bytes, Stack size 16 bytes, tim.o(i.HAL_TIM_Base_MspInit))
  [Stack]

  - Max Depth = 64
  - Call Chain = HAL_TIM_Base_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
  [Calls]
  - >> HAL_NVIC_SetPriority
  - >> HAL_NVIC_EnableIRQ
  [Called By]
  - >> HAL_TIM_Base_Init

  HAL_TIM_Base_Start_IT (Thumb, 138 bytes, Stack size 0 bytes, stm32f4xx_hal_tim.o(i.HAL_TIM_Base_Start_IT))
  [Called By]

  - >> Int_Encoder_Init
  - >> canopen_app_resetCommunication

  HAL_TIM_Base_Stop_IT (Thumb, 62 bytes, Stack size 0 bytes, stm32f4xx_hal_tim.o(i.HAL_TIM_Base_Stop_IT))
  [Called By]

  - >> canopen_app_process

  HAL_TIM_ConfigClockSource (Thumb, 268 bytes, Stack size 24 bytes, stm32f4xx_hal_tim.o(i.HAL_TIM_ConfigClockSource))
  [Stack]

  - Max Depth = 36
  - Call Chain = HAL_TIM_ConfigClockSource ⇒ TIM_TI2_ConfigInputStage
  [Calls]
  - >> TIM_TI2_ConfigInputStage
  - >> TIM_TI1_ConfigInputStage
  - >> TIM_ITRx_SetConfig
  - >> TIM_ETR_SetConfig
  [Called By]
  - >> MX_TIM9_Init
  - >> MX_TIM2_Init
  - >> MX_TIM12_Init

  HAL_TIM_Encoder_Init (Thumb, 200 bytes, Stack size 24 bytes, stm32f4xx_hal_tim.o(i.HAL_TIM_Encoder_Init))
  [Stack]

  - Max Depth = 104
  - Call Chain = HAL_TIM_Encoder_Init ⇒ HAL_TIM_Encoder_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
  [Calls]
  - >> HAL_TIM_Encoder_MspInit
  - >> TIM_Base_SetConfig
  [Called By]
  - >> MX_TIM1_Init

  HAL_TIM_Encoder_MspInit (Thumb, 154 bytes, Stack size 32 bytes, tim.o(i.HAL_TIM_Encoder_MspInit))
  [Stack]

  - Max Depth = 80
  - Call Chain = HAL_TIM_Encoder_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
  [Calls]
  - >> HAL_NVIC_SetPriority
  - >> HAL_NVIC_EnableIRQ
  - >> HAL_GPIO_Init
  - >> __aeabi_memclr4
  [Called By]
  - >> HAL_TIM_Encoder_Init

  HAL_TIM_Encoder_Start (Thumb, 204 bytes, Stack size 28 bytes, stm32f4xx_hal_tim.o(i.HAL_TIM_Encoder_Start))
  [Stack]

  - Max Depth = 40
  - Call Chain = HAL_TIM_Encoder_Start ⇒ TIM_CCxChannelCmd
  [Calls]
  - >> TIM_CCxChannelCmd
  [Called By]
  - >> Int_TMC2209_start

  HAL_TIM_Encoder_Stop (Thumb, 214 bytes, Stack size 12 bytes, stm32f4xx_hal_tim.o(i.HAL_TIM_Encoder_Stop))
  [Stack]

  - Max Depth = 24
  - Call Chain = HAL_TIM_Encoder_Stop ⇒ TIM_CCxChannelCmd
  [Calls]
  - >> TIM_CCxChannelCmd
  [Called By]
  - >> Int_TMC2209_stop

  HAL_TIM_IC_CaptureCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_tim.o(i.HAL_TIM_IC_CaptureCallback))
  [Called By]

  - >> HAL_TIM_IRQHandler

  HAL_TIM_IRQHandler (Thumb, 364 bytes, Stack size 16 bytes, stm32f4xx_hal_tim.o(i.HAL_TIM_IRQHandler))
  [Stack]

  - Max Depth = 228
  - Call Chain = HAL_TIM_IRQHandler ⇒ HAL_TIM_PeriodElapsedCallback ⇒ canopen_app_interrupt ⇒ CO_process_TPDO ⇒ CO_TPDO_process ⇒ CO_TPDOsend ⇒ CO_CANsend ⇒ prv_send_can_message ⇒ HAL_CAN_AddTxMessage
  [Calls]
  - >> HAL_TIM_OC_DelayElapsedCallback
  - >> HAL_TIM_PeriodElapsedCallback
  - >> HAL_TIM_TriggerCallback
  - >> HAL_TIM_PWM_PulseFinishedCallback
  - >> HAL_TIM_IC_CaptureCallback
  - >> HAL_TIMEx_CommutCallback
  - >> HAL_TIMEx_BreakCallback
  [Called By]
  - >> TIM8_BRK_TIM12_IRQHandler
  - >> TIM2_IRQHandler
  - >> TIM1_TRG_COM_TIM11_IRQHandler

  HAL_TIM_MspPostInit (Thumb, 154 bytes, Stack size 32 bytes, tim.o(i.HAL_TIM_MspPostInit))
  [Stack]

  - Max Depth = 56
  - Call Chain = HAL_TIM_MspPostInit ⇒ HAL_GPIO_Init
  [Calls]
  - >> HAL_GPIO_Init
  - >> __aeabi_memclr4
  [Called By]
  - >> MX_TIM2_Init
  - >> MX_TIM10_Init

  HAL_TIM_OC_ConfigChannel (Thumb, 112 bytes, Stack size 24 bytes, stm32f4xx_hal_tim.o(i.HAL_TIM_OC_ConfigChannel))
  [Stack]

  - Max Depth = 36
  - Call Chain = HAL_TIM_OC_ConfigChannel ⇒ TIM_OC4_SetConfig
  [Calls]
  - >> TIM_OC4_SetConfig
  - >> TIM_OC3_SetConfig
  - >> TIM_OC1_SetConfig
  - >> TIM_OC2_SetConfig
  [Called By]
  - >> MX_TIM2_Init

  HAL_TIM_OC_DelayElapsedCallback (Thumb, 314 bytes, Stack size 16 bytes, int_tmc2209.o(i.HAL_TIM_OC_DelayElapsedCallback))
  [Stack]

  - Max Depth = 52
  - Call Chain = HAL_TIM_OC_DelayElapsedCallback ⇒ Int_TMC2209_stop ⇒ HAL_TIM_OC_Stop_IT ⇒ TIM_CCxChannelCmd
  [Calls]
  - >> Int_TMC2209_stop
  [Called By]
  - >> HAL_TIM_IRQHandler

  HAL_TIM_OC_Init (Thumb, 102 bytes, Stack size 8 bytes, stm32f4xx_hal_tim.o(i.HAL_TIM_OC_Init))
  [Stack]

  - Max Depth = 16
  - Call Chain = HAL_TIM_OC_Init ⇒ TIM_Base_SetConfig
  [Calls]
  - >> HAL_TIM_OC_MspInit
  - >> TIM_Base_SetConfig
  [Called By]
  - >> MX_TIM2_Init

  HAL_TIM_OC_MspInit (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_tim.o(i.HAL_TIM_OC_MspInit))
  [Called By]

  - >> HAL_TIM_OC_Init

  HAL_TIM_OC_Start_IT (Thumb, 324 bytes, Stack size 20 bytes, stm32f4xx_hal_tim.o(i.HAL_TIM_OC_Start_IT))
  [Stack]

  - Max Depth = 32
  - Call Chain = HAL_TIM_OC_Start_IT ⇒ TIM_CCxChannelCmd
  [Calls]
  - >> TIM_CCxChannelCmd
  [Called By]
  - >> Int_TMC2209_start

  HAL_TIM_OC_Stop_IT (Thumb, 244 bytes, Stack size 16 bytes, stm32f4xx_hal_tim.o(i.HAL_TIM_OC_Stop_IT))
  [Stack]

  - Max Depth = 28
  - Call Chain = HAL_TIM_OC_Stop_IT ⇒ TIM_CCxChannelCmd
  [Calls]
  - >> TIM_CCxChannelCmd
  [Called By]
  - >> Int_TMC2209_stop

  HAL_TIM_PWM_ConfigChannel (Thumb, 260 bytes, Stack size 24 bytes, stm32f4xx_hal_tim.o(i.HAL_TIM_PWM_ConfigChannel))
  [Stack]

  - Max Depth = 36
  - Call Chain = HAL_TIM_PWM_ConfigChannel ⇒ TIM_OC4_SetConfig
  [Calls]
  - >> TIM_OC4_SetConfig
  - >> TIM_OC3_SetConfig
  - >> TIM_OC1_SetConfig
  - >> TIM_OC2_SetConfig
  [Called By]
  - >> MX_TIM10_Init

  HAL_TIM_PWM_Init (Thumb, 102 bytes, Stack size 8 bytes, stm32f4xx_hal_tim.o(i.HAL_TIM_PWM_Init))
  [Stack]

  - Max Depth = 16
  - Call Chain = HAL_TIM_PWM_Init ⇒ TIM_Base_SetConfig
  [Calls]
  - >> HAL_TIM_PWM_MspInit
  - >> TIM_Base_SetConfig
  [Called By]
  - >> MX_TIM10_Init

  HAL_TIM_PWM_MspInit (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_tim.o(i.HAL_TIM_PWM_MspInit))
  [Called By]

  - >> HAL_TIM_PWM_Init

  HAL_TIM_PWM_PulseFinishedCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_tim.o(i.HAL_TIM_PWM_PulseFinishedCallback))
  [Called By]

  - >> HAL_TIM_IRQHandler

  HAL_TIM_PeriodElapsedCallback (Thumb, 30 bytes, Stack size 8 bytes, app_main.o(i.HAL_TIM_PeriodElapsedCallback))
  [Stack]

  - Max Depth = 212
  - Call Chain = HAL_TIM_PeriodElapsedCallback ⇒ canopen_app_interrupt ⇒ CO_process_TPDO ⇒ CO_TPDO_process ⇒ CO_TPDOsend ⇒ CO_CANsend ⇒ prv_send_can_message ⇒ HAL_CAN_AddTxMessage
  [Calls]
  - >> canopen_app_interrupt
  - >> App_Motor_StepLossCheck
  [Called By]
  - >> HAL_TIM_IRQHandler

  HAL_TIM_TriggerCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_tim.o(i.HAL_TIM_TriggerCallback))
  [Called By]

  - >> HAL_TIM_IRQHandler

  HAL_UARTEx_ReceiveToIdle_IT (Thumb, 114 bytes, Stack size 24 bytes, stm32f4xx_hal_uart.o(i.HAL_UARTEx_ReceiveToIdle_IT))
  [Stack]

  - Max Depth = 32
  - Call Chain = HAL_UARTEx_ReceiveToIdle_IT ⇒ UART_Start_Receive_IT
  [Calls]
  - >> UART_Start_Receive_IT
  [Called By]
  - >> HAL_UARTEx_RxEventCallback

  HAL_UARTEx_RxEventCallback (Thumb, 36 bytes, Stack size 16 bytes, app_test.o(i.HAL_UARTEx_RxEventCallback))
  [Stack]

  - Max Depth = 48
  - Call Chain = HAL_UARTEx_RxEventCallback ⇒ HAL_UARTEx_ReceiveToIdle_IT ⇒ UART_Start_Receive_IT
  [Calls]
  - >> HAL_UARTEx_ReceiveToIdle_IT
  [Called By]
  - >> HAL_UART_IRQHandler
  - >> UART_Receive_IT

  HAL_UART_ErrorCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_uart.o(i.HAL_UART_ErrorCallback))
  [Called By]

  - >> HAL_UART_IRQHandler
  - >> UART_DMAAbortOnError

  HAL_UART_IRQHandler (Thumb, 772 bytes, Stack size 40 bytes, stm32f4xx_hal_uart.o(i.HAL_UART_IRQHandler))
  [Stack]

  - Max Depth = 112
  - Call Chain = HAL_UART_IRQHandler ⇒ UART_Receive_IT ⇒ HAL_UARTEx_RxEventCallback ⇒ HAL_UARTEx_ReceiveToIdle_IT ⇒ UART_Start_Receive_IT
  [Calls]
  - >> HAL_DMA_Abort_IT
  - >> HAL_DMA_Abort
  - >> HAL_UART_ErrorCallback
  - >> UART_Transmit_IT
  - >> UART_Receive_IT
  - >> UART_EndTransmit_IT
  - >> UART_EndRxTransfer
  - >> HAL_UARTEx_RxEventCallback
  [Called By]
  - >> USART3_IRQHandler

  HAL_UART_Init (Thumb, 118 bytes, Stack size 8 bytes, stm32f4xx_hal_uart.o(i.HAL_UART_Init))
  [Stack]

  - Max Depth = 88
  - Call Chain = HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
  [Calls]
  - >> HAL_UART_MspInit
  - >> UART_SetConfig
  [Called By]
  - >> MX_USART3_UART_Init
  - >> MX_UART5_Init

  HAL_UART_MspInit (Thumb, 304 bytes, Stack size 32 bytes, usart.o(i.HAL_UART_MspInit))
  [Stack]

  - Max Depth = 80
  - Call Chain = HAL_UART_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
  [Calls]
  - >> HAL_NVIC_SetPriority
  - >> HAL_NVIC_EnableIRQ
  - >> HAL_GPIO_Init
  - >> __aeabi_memclr4
  [Called By]
  - >> HAL_UART_Init

  HAL_UART_RxCpltCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_uart.o(i.HAL_UART_RxCpltCallback))
  [Called By]

  - >> UART_Receive_IT

  HAL_UART_Transmit (Thumb, 190 bytes, Stack size 40 bytes, stm32f4xx_hal_uart.o(i.HAL_UART_Transmit))
  [Stack]

  - Max Depth = 72
  - Call Chain = HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout
  [Calls]
  - >> HAL_GetTick
  - >> UART_WaitOnFlagUntilTimeout
  [Called By]
  - >> fputc

  HAL_UART_TxCpltCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_uart.o(i.HAL_UART_TxCpltCallback))
  [Called By]

  - >> UART_EndTransmit_IT

  Handle_Homing_Mode (Thumb, 614 bytes, Stack size 32 bytes, app_cia402.o(i.Handle_Homing_Mode))
  [Stack]

  - Max Depth = 168
  - Call Chain = Handle_Homing_Mode ⇒ OD_set_u16 ⇒ OD_set_value ⇒ OD_getSub
  [Calls]
  - >> Int_TMC2209_stop
  - >> Int_TMC2209_start
  - >> __set_PRIMASK
  - >> __get_PRIMASK
  - >> OD_set_u16
  - >> OD_set_i32
  - >> OD_get_u16
  - >> OD_find
  - >> __2printf
  - >> strrchr
  [Called By]
  - >> Process_Motion_Logic

  Handle_Position_Mode (Thumb, 1184 bytes, Stack size 120 bytes, app_cia402.o(i.Handle_Position_Mode))
  [Stack]

  - Max Depth = 256
  - Call Chain = Handle_Position_Mode ⇒ OD_set_u16 ⇒ OD_set_value ⇒ OD_getSub
  [Calls]
  - >> __aeabi_f2d
  - >> Int_TMC2209_start
  - >> __set_PRIMASK
  - >> __get_PRIMASK
  - >> OD_set_u16
  - >> OD_get_u32
  - >> OD_get_u16
  - >> OD_get_i32
  - >> OD_find
  - >> __2printf
  - >> strrchr
  [Called By]
  - >> Process_Motion_Logic

  HardFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.HardFault_Handler))
  [Address Reference Count : 1]

  - startup_stm32f407xx.o(RESET)

  Int_EEPROM24xx_GetLastHalError (Thumb, 6 bytes, Stack size 0 bytes, int_eeprom24xx.o(i.Int_EEPROM24xx_GetLastHalError))
  [Called By]

  - >> App_ParamStore_Init
  - >> App_ParamStore_Save
  - >> App_ParamStore_Read

  Int_EEPROM24xx_Init (Thumb, 14 bytes, Stack size 0 bytes, int_eeprom24xx.o(i.Int_EEPROM24xx_Init))
  [Called By]

  - >> App_ParamStore_Init

  Int_EEPROM24xx_Read (Thumb, 100 bytes, Stack size 40 bytes, int_eeprom24xx.o(i.Int_EEPROM24xx_Read))
  [Stack]

  - Max Depth = 144
  - Call Chain = Int_EEPROM24xx_Read ⇒ HAL_I2C_Mem_Read ⇒ I2C_RequestMemoryRead ⇒ I2C_WaitOnMasterAddressFlagUntilTimeout
  [Calls]
  - >> HAL_I2C_Mem_Read
  - >> HAL_I2C_GetError
  - >> Int_EEPROM24xx_GetMemAddrSizeHal
  - >> Int_EEPROM24xx_CheckRange
  [Called By]
  - >> App_ParamStore_Read

  Int_EEPROM24xx_Write (Thumb, 168 bytes, Stack size 56 bytes, int_eeprom24xx.o(i.Int_EEPROM24xx_Write))
  [Stack]

  - Max Depth = 160
  - Call Chain = Int_EEPROM24xx_Write ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnMasterAddressFlagUntilTimeout
  [Calls]
  - >> HAL_I2C_Mem_Write
  - >> HAL_I2C_GetError
  - >> Int_EEPROM24xx_WaitReady
  - >> Int_EEPROM24xx_GetMemAddrSizeHal
  - >> Int_EEPROM24xx_CheckRange
  - >> HAL_Delay
  [Called By]
  - >> App_ParamStore_Save

  Int_Encoder_Init (Thumb, 26 bytes, Stack size 8 bytes, int_encoder.o(i.Int_Encoder_Init))
  [Stack]

  - Max Depth = 108
  - Call Chain = Int_Encoder_Init ⇒ Int_Encoder_set_resolution ⇒ Dri_I2C_ReadReg ⇒ Dri_I2C_WriteAddr ⇒ Dri_I2C_TransmitByte ⇒ DWT_delay_us
  [Calls]
  - >> HAL_TIM_Base_Start_IT
  - >> DWT_init
  - >> Int_Encoder_start
  - >> Int_Encoder_set_resolution
  [Called By]
  - >> App_Motor_Init

  Int_Encoder_set_resolution (Thumb, 196 bytes, Stack size 16 bytes, int_encoder.o(i.Int_Encoder_set_resolution))
  [Stack]

  - Max Depth = 100
  - Call Chain = Int_Encoder_set_resolution ⇒ Dri_I2C_ReadReg ⇒ Dri_I2C_WriteAddr ⇒ Dri_I2C_TransmitByte ⇒ DWT_delay_us
  [Calls]
  - >> HAL_GPIO_WritePin
  - >> HAL_Delay
  - >> Dri_I2C_WriteReg
  - >> Dri_I2C_WriteAddr
  - >> Dri_I2C_Stop
  - >> Dri_I2C_Start
  - >> Dri_I2C_ReadReg
  - >> Dri_I2C_Init
  [Called By]
  - >> Int_Encoder_Init

  Int_Encoder_start (Thumb, 44 bytes, Stack size 24 bytes, int_encoder.o(i.Int_Encoder_start))
  [Stack]

  - Max Depth = 48
  - Call Chain = Int_Encoder_start ⇒ HAL_GPIO_Init
  [Calls]
  - >> HAL_GPIO_Init
  - >> __aeabi_memclr4
  [Called By]
  - >> Int_Encoder_Init

  Int_Key_PopAction (Thumb, 56 bytes, Stack size 8 bytes, int_key.o(i.Int_Key_PopAction))
  [Stack]

  - Max Depth = 8
  - Call Chain = Int_Key_PopAction
  [Calls]
  - >> queue_next
  [Called By]
  - >> App_key_run

  Int_Key_Task (Thumb, 166 bytes, Stack size 24 bytes, int_key.o(i.Int_Key_Task))
  [Stack]

  - Max Depth = 40
  - Call Chain = Int_Key_Task ⇒ push_action
  [Calls]
  - >> HAL_GetTick
  - >> HAL_GPIO_ReadPin
  - >> push_action
  [Called By]
  - >> App_key_run

  Int_TMC2209_start (Thumb, 326 bytes, Stack size 48 bytes, int_tmc2209.o(i.Int_TMC2209_start))
  [Stack]

  - Max Depth = 112
  - Call Chain = Int_TMC2209_start ⇒ Int_TMC2209_set_steps ⇒ __2printf
  [Calls]
  - >> HAL_GPIO_WritePin
  - >> __aeabi_f2d
  - >> HAL_TIM_OC_Start_IT
  - >> HAL_TIM_Encoder_Start
  - >> Int_TMC2209_set_steps
  - >> __2printf
  - >> strrchr
  [Called By]
  - >> local_motion_start
  - >> Handle_Position_Mode
  - >> Handle_Homing_Mode

  Int_TMC2209_stop (Thumb, 30 bytes, Stack size 8 bytes, int_tmc2209.o(i.Int_TMC2209_stop))
  [Stack]

  - Max Depth = 36
  - Call Chain = Int_TMC2209_stop ⇒ HAL_TIM_OC_Stop_IT ⇒ TIM_CCxChannelCmd
  [Calls]
  - >> HAL_GPIO_WritePin
  - >> HAL_TIM_OC_Stop_IT
  - >> HAL_TIM_Encoder_Stop
  [Called By]
  - >> HAL_TIM_OC_DelayElapsedCallback
  - >> Process_Motion_Logic
  - >> local_motion_start
  - >> local_motion_estop
  - >> Handle_Homing_Mode

  MX_CAN1_Init (Thumb, 58 bytes, Stack size 8 bytes, can.o(i.MX_CAN1_Init))
  [Stack]

  - Max Depth = 104
  - Call Chain = MX_CAN1_Init ⇒ HAL_CAN_Init ⇒ HAL_CAN_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
  [Calls]
  - >> HAL_CAN_Init
  - >> Error_Handler
  [Called By]
  - >> main
  [Address Reference Count : 1]
  - app_main.o(i.CANopenNode_init)

  MX_CRC_Init (Thumb, 22 bytes, Stack size 8 bytes, crc.o(i.MX_CRC_Init))
  [Stack]

  - Max Depth = 24
  - Call Chain = MX_CRC_Init ⇒ HAL_CRC_Init ⇒ HAL_CRC_MspInit
  [Calls]
  - >> HAL_CRC_Init
  - >> Error_Handler
  [Called By]
  - >> main

  MX_GPIO_Init (Thumb, 504 bytes, Stack size 32 bytes, gpio.o(i.MX_GPIO_Init))
  [Stack]

  - Max Depth = 80
  - Call Chain = MX_GPIO_Init ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
  [Calls]
  - >> HAL_NVIC_SetPriority
  - >> HAL_NVIC_EnableIRQ
  - >> HAL_GPIO_WritePin
  - >> HAL_GPIO_Init
  - >> __aeabi_memclr4
  [Called By]
  - >> main

  MX_I2C2_Init (Thumb, 48 bytes, Stack size 8 bytes, i2c.o(i.MX_I2C2_Init))
  [Stack]

  - Max Depth = 80
  - Call Chain = MX_I2C2_Init ⇒ HAL_I2C_Init ⇒ HAL_I2C_MspInit ⇒ HAL_GPIO_Init
  [Calls]
  - >> HAL_I2C_Init
  - >> Error_Handler
  [Called By]
  - >> main

  MX_TIM10_Init (Thumb, 100 bytes, Stack size 32 bytes, tim.o(i.MX_TIM10_Init))
  [Stack]

  - Max Depth = 104
  - Call Chain = MX_TIM10_Init ⇒ HAL_TIM_Base_Init ⇒ HAL_TIM_Base_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
  [Calls]
  - >> HAL_TIM_PWM_Init
  - >> HAL_TIM_PWM_ConfigChannel
  - >> HAL_TIM_Base_Init
  - >> HAL_TIM_MspPostInit
  - >> Error_Handler
  - >> __aeabi_memclr4
  [Called By]
  - >> main

  MX_TIM11_Init (Thumb, 42 bytes, Stack size 8 bytes, tim.o(i.MX_TIM11_Init))
  [Stack]

  - Max Depth = 80
  - Call Chain = MX_TIM11_Init ⇒ HAL_TIM_Base_Init ⇒ HAL_TIM_Base_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
  [Calls]
  - >> HAL_TIM_Base_Init
  - >> Error_Handler
  [Called By]
  - >> main

  MX_TIM12_Init (Thumb, 72 bytes, Stack size 24 bytes, tim.o(i.MX_TIM12_Init))
  [Stack]

  - Max Depth = 96
  - Call Chain = MX_TIM12_Init ⇒ HAL_TIM_Base_Init ⇒ HAL_TIM_Base_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
  [Calls]
  - >> HAL_TIM_ConfigClockSource
  - >> HAL_TIM_Base_Init
  - >> Error_Handler
  [Called By]
  - >> main

  MX_TIM1_Init (Thumb, 116 bytes, Stack size 48 bytes, tim.o(i.MX_TIM1_Init))
  [Stack]

  - Max Depth = 152
  - Call Chain = MX_TIM1_Init ⇒ HAL_TIM_Encoder_Init ⇒ HAL_TIM_Encoder_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
  [Calls]
  - >> HAL_TIM_Encoder_Init
  - >> HAL_TIMEx_MasterConfigSynchronization
  - >> Error_Handler
  - >> __aeabi_memclr4
  [Called By]
  - >> main

  MX_TIM2_Init (Thumb, 160 bytes, Stack size 56 bytes, tim.o(i.MX_TIM2_Init))
  [Stack]

  - Max Depth = 128
  - Call Chain = MX_TIM2_Init ⇒ HAL_TIM_Base_Init ⇒ HAL_TIM_Base_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
  [Calls]
  - >> HAL_TIM_OC_Init
  - >> HAL_TIM_OC_ConfigChannel
  - >> HAL_TIM_ConfigClockSource
  - >> HAL_TIM_Base_Init
  - >> HAL_TIMEx_MasterConfigSynchronization
  - >> HAL_TIM_MspPostInit
  - >> Error_Handler
  - >> __aeabi_memclr4
  [Called By]
  - >> main

  MX_TIM9_Init (Thumb, 72 bytes, Stack size 24 bytes, tim.o(i.MX_TIM9_Init))
  [Stack]

  - Max Depth = 96
  - Call Chain = MX_TIM9_Init ⇒ HAL_TIM_Base_Init ⇒ HAL_TIM_Base_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
  [Calls]
  - >> HAL_TIM_ConfigClockSource
  - >> HAL_TIM_Base_Init
  - >> Error_Handler
  [Called By]
  - >> main

  MX_UART5_Init (Thumb, 46 bytes, Stack size 8 bytes, usart.o(i.MX_UART5_Init))
  [Stack]

  - Max Depth = 96
  - Call Chain = MX_UART5_Init ⇒ HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
  [Calls]
  - >> HAL_UART_Init
  - >> Error_Handler
  [Called By]
  - >> main

  MX_USART3_UART_Init (Thumb, 46 bytes, Stack size 8 bytes, usart.o(i.MX_USART3_UART_Init))
  [Stack]

  - Max Depth = 96
  - Call Chain = MX_USART3_UART_Init ⇒ HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
  [Calls]
  - >> HAL_UART_Init
  - >> Error_Handler
  [Called By]
  - >> main

  MemManage_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.MemManage_Handler))
  [Address Reference Count : 1]

  - startup_stm32f407xx.o(RESET)

  NMI_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.NMI_Handler))
  [Address Reference Count : 1]

  - startup_stm32f407xx.o(RESET)

  OD_find (Thumb, 104 bytes, Stack size 20 bytes, co_odinterface.o(i.OD_find))
  [Stack]

  - Max Depth = 20
  - Call Chain = OD_find
  [Called By]
  - >> PDOconfigMap
  - >> Update_PP_FollowingError_StatusBit
  - >> Sync_FollowingErrorThreshold_From_OD
  - >> Process_Motion_Logic
  - >> CO_SDOserver_process
  - >> App_ParamStore_ReadCurrentFromOD
  - >> App_ParamStore_ApplyThresholdToOD
  - >> App_ParamStore_ApplyAccDecToOD
  - >> Update_Motion_State_To_OD
  - >> Process_StateMachine
  - >> Handle_Position_Mode
  - >> Handle_Homing_Mode

  OD_getPtr (Thumb, 72 bytes, Stack size 60 bytes, co_odinterface.o(i.OD_getPtr))
  [Stack]

  - Max Depth = 84
  - Call Chain = OD_getPtr ⇒ OD_getSub
  [Calls]
  - >> OD_getSub
  [Called By]
  - >> CO_SYNC_init
  - >> CO_EM_init

  OD_getSDOabCode (Thumb, 24 bytes, Stack size 0 bytes, co_odinterface.o(i.OD_getSDOabCode))
  [Called By]

  - >> validateAndWriteToOD
  - >> readFromOd
  - >> CO_SDOserver_process

  OD_getSub (Thumb, 304 bytes, Stack size 24 bytes, co_odinterface.o(i.OD_getSub))
  [Stack]

  - Max Depth = 24
  - Call Chain = OD_getSub
  [Called By]
  - >> PDOconfigMap
  - >> OD_getPtr
  - >> CO_SDOserver_process
  - >> OD_set_value
  - >> OD_get_value

  OD_get_value (Thumb, 88 bytes, Stack size 72 bytes, co_odinterface.o(i.OD_get_value))
  [Stack]

  - Max Depth = 96
  - Call Chain = OD_get_value ⇒ OD_getSub
  [Calls]
  - >> OD_getSub
  - >> __aeabi_memclr4
  [Called By]
  - >> OD_get_u32
  - >> OD_get_u8
  - >> OD_get_u32
  - >> OD_get_u16
  - >> Update_PP_FollowingError_StatusBit
  - >> Sync_FollowingErrorThreshold_From_OD
  - >> OD_get_i8
  - >> CO_TIME_init
  - >> CO_SYNC_init
  - >> CO_SDOserver_init
  - >> CO_NMT_init
  - >> CO_HBconsumer_init
  - >> CO_EM_init
  - >> OD_get_u32
  - >> OD_get_f32
  - >> OD_get_u32
  - >> OD_get_u16
  - >> OD_get_i32

  OD_readOriginal (Thumb, 112 bytes, Stack size 32 bytes, co_odinterface.o(i.OD_readOriginal))
  [Stack]

  - Max Depth = 40
  - Call Chain = OD_readOriginal ⇒ __aeabi_memcpy
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> OD_read_PDO_commParam
  [Address Reference Count : 8]
  - co_odinterface.o(i.OD_getSub)
  - co_pdo.o(i.CO_TPDO_init)
  - co_hbconsumer.o(i.CO_HBconsumer_init)
  - co_pdo.o(i.CO_RPDO_init)
  - co_time.o(i.CO_TIME_init)
  - co_sync.o(i.CO_SYNC_init)
  - co_sdoserver.o(i.CO_SDOserver_init)
  - co_nmt_heartbeat.o(i.CO_NMT_init)

  OD_set_value (Thumb, 88 bytes, Stack size 72 bytes, co_odinterface.o(i.OD_set_value))
  [Stack]

  - Max Depth = 96
  - Call Chain = OD_set_value ⇒ OD_getSub
  [Calls]
  - >> OD_getSub
  - >> __aeabi_memclr4
  [Called By]
  - >> OD_set_u32
  - >> Update_PP_FollowingError_StatusBit
  - >> Process_Motion_Logic
  - >> OD_set_u32
  - >> OD_set_f32
  - >> OD_set_u16
  - >> OD_set_i32

  OD_writeOriginal (Thumb, 144 bytes, Stack size 40 bytes, co_odinterface.o(i.OD_writeOriginal))
  [Stack]

  - Max Depth = 48
  - Call Chain = OD_writeOriginal ⇒ __aeabi_memcpy
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> OD_write_1012
  - >> OD_write_1019
  - >> OD_write_1005
  - >> OD_write_1201_additional
  - >> OD_write_PDO_mapping
  - >> OD_write_18xx
  - >> OD_write_14xx
  - >> OD_write_1017
  - >> OD_write_1016
  [Address Reference Count : 2]
  - co_odinterface.o(i.OD_getSub)
  - co_emergency.o(i.CO_EM_init)

  PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.PendSV_Handler))
  [Address Reference Count : 1]

  - startup_stm32f407xx.o(RESET)

  Process_StateMachine (Thumb, 260 bytes, Stack size 24 bytes, app_cia402.o(i.Process_StateMachine))
  [Stack]

  - Max Depth = 160
  - Call Chain = Process_StateMachine ⇒ OD_set_u16 ⇒ OD_set_value ⇒ OD_getSub
  [Calls]
  - >> OD_set_u16
  - >> OD_get_u16
  - >> OD_find
  [Called By]
  - >> App_Motor_Process

  SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.SVC_Handler))
  [Address Reference Count : 1]

  - startup_stm32f407xx.o(RESET)

  SysTick_Handler (Thumb, 8 bytes, Stack size 8 bytes, stm32f4xx_it.o(i.SysTick_Handler))
  [Stack]

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

  SystemClock_Config (Thumb, 172 bytes, Stack size 80 bytes, main.o(i.SystemClock_Config))
  [Stack]

  - Max Depth = 168
  - Call Chain = SystemClock_Config ⇒ HAL_RCC_ClockConfig ⇒ HAL_RCC_GetSysClockFreq ⇒ __aeabi_uldivmod
  [Calls]
  - >> HAL_RCC_OscConfig
  - >> HAL_RCC_ClockConfig
  - >> Error_Handler
  - >> __aeabi_memclr4
  [Called By]
  - >> main

  SystemInit (Thumb, 14 bytes, Stack size 0 bytes, system_stm32f4xx.o(i.SystemInit))
  [Address Reference Count : 1]

  - startup_stm32f407xx.o(.text)

  TIM1_TRG_COM_TIM11_IRQHandler (Thumb, 16 bytes, Stack size 8 bytes, stm32f4xx_it.o(i.TIM1_TRG_COM_TIM11_IRQHandler))
  [Stack]

  - Max Depth = 236
  - Call Chain = TIM1_TRG_COM_TIM11_IRQHandler ⇒ HAL_TIM_IRQHandler ⇒ HAL_TIM_PeriodElapsedCallback ⇒ canopen_app_interrupt ⇒ CO_process_TPDO ⇒ CO_TPDO_process ⇒ CO_TPDOsend ⇒ CO_CANsend ⇒ prv_send_can_message ⇒ HAL_CAN_AddTxMessage
  [Calls]
  - >> HAL_TIM_IRQHandler
  [Address Reference Count : 1]
  - startup_stm32f407xx.o(RESET)

  TIM2_IRQHandler (Thumb, 10 bytes, Stack size 8 bytes, stm32f4xx_it.o(i.TIM2_IRQHandler))
  [Stack]

  - Max Depth = 236
  - Call Chain = TIM2_IRQHandler ⇒ HAL_TIM_IRQHandler ⇒ HAL_TIM_PeriodElapsedCallback ⇒ canopen_app_interrupt ⇒ CO_process_TPDO ⇒ CO_TPDO_process ⇒ CO_TPDOsend ⇒ CO_CANsend ⇒ prv_send_can_message ⇒ HAL_CAN_AddTxMessage
  [Calls]
  - >> HAL_TIM_IRQHandler
  [Address Reference Count : 1]
  - startup_stm32f407xx.o(RESET)

  TIM8_BRK_TIM12_IRQHandler (Thumb, 10 bytes, Stack size 8 bytes, stm32f4xx_it.o(i.TIM8_BRK_TIM12_IRQHandler))
  [Stack]

  - Max Depth = 236
  - Call Chain = TIM8_BRK_TIM12_IRQHandler ⇒ HAL_TIM_IRQHandler ⇒ HAL_TIM_PeriodElapsedCallback ⇒ canopen_app_interrupt ⇒ CO_process_TPDO ⇒ CO_TPDO_process ⇒ CO_TPDOsend ⇒ CO_CANsend ⇒ prv_send_can_message ⇒ HAL_CAN_AddTxMessage
  [Calls]
  - >> HAL_TIM_IRQHandler
  [Address Reference Count : 1]
  - startup_stm32f407xx.o(RESET)

  TIM_Base_SetConfig (Thumb, 178 bytes, Stack size 8 bytes, stm32f4xx_hal_tim.o(i.TIM_Base_SetConfig))
  [Stack]

  - Max Depth = 8
  - Call Chain = TIM_Base_SetConfig
  [Called By]
  - >> HAL_TIM_PWM_Init
  - >> HAL_TIM_OC_Init
  - >> HAL_TIM_Encoder_Init
  - >> HAL_TIM_Base_Init

  TIM_CCxChannelCmd (Thumb, 34 bytes, Stack size 12 bytes, stm32f4xx_hal_tim.o(i.TIM_CCxChannelCmd))
  [Stack]

  - Max Depth = 12
  - Call Chain = TIM_CCxChannelCmd
  [Called By]
  - >> HAL_TIM_OC_Stop_IT
  - >> HAL_TIM_OC_Start_IT
  - >> HAL_TIM_Encoder_Stop
  - >> HAL_TIM_Encoder_Start

  TIM_ETR_SetConfig (Thumb, 22 bytes, Stack size 12 bytes, stm32f4xx_hal_tim.o(i.TIM_ETR_SetConfig))
  [Stack]

  - Max Depth = 12
  - Call Chain = TIM_ETR_SetConfig
  [Called By]
  - >> HAL_TIM_ConfigClockSource

  TIM_OC2_SetConfig (Thumb, 114 bytes, Stack size 12 bytes, stm32f4xx_hal_tim.o(i.TIM_OC2_SetConfig))
  [Stack]

  - Max Depth = 12
  - Call Chain = TIM_OC2_SetConfig
  [Called By]
  - >> HAL_TIM_PWM_ConfigChannel
  - >> HAL_TIM_OC_ConfigChannel

  UART_Start_Receive_IT (Thumb, 64 bytes, Stack size 8 bytes, stm32f4xx_hal_uart.o(i.UART_Start_Receive_IT))
  [Stack]

  - Max Depth = 8
  - Call Chain = UART_Start_Receive_IT
  [Called By]
  - >> HAL_UARTEx_ReceiveToIdle_IT

  USART3_IRQHandler (Thumb, 10 bytes, Stack size 8 bytes, stm32f4xx_it.o(i.USART3_IRQHandler))
  [Stack]

  - Max Depth = 120
  - Call Chain = USART3_IRQHandler ⇒ HAL_UART_IRQHandler ⇒ UART_Receive_IT ⇒ HAL_UARTEx_RxEventCallback ⇒ HAL_UARTEx_ReceiveToIdle_IT ⇒ UART_Start_Receive_IT
  [Calls]
  - >> HAL_UART_IRQHandler
  [Address Reference Count : 1]
  - startup_stm32f407xx.o(RESET)

  Update_Motion_State_To_OD (Thumb, 362 bytes, Stack size 40 bytes, app_cia402.o(i.Update_Motion_State_To_OD))
  [Stack]

  - Max Depth = 176
  - Call Chain = Update_Motion_State_To_OD ⇒ OD_set_u16 ⇒ OD_set_value ⇒ OD_getSub
  [Calls]
  - >> __set_PRIMASK
  - >> __get_PRIMASK
  - >> OD_set_u16
  - >> OD_set_i32
  - >> OD_get_u16
  - >> OD_find
  [Called By]
  - >> Process_Motion_Logic

  UsageFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.UsageFault_Handler))
  [Address Reference Count : 1]

  - startup_stm32f407xx.o(RESET)

  __0printf (Thumb, 22 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))
  [Stack]

  - Max Depth = 24
  - Call Chain = __2printf
  [Called By]
  - >> app_main
  - >> Int_TMC2209_start
  - >> Int_TMC2209_set_steps
  - >> Dri_I2C_WriteReg
  - >> Dri_I2C_WriteAddr
  - >> Dri_I2C_ReadReg
  - >> canopen_app_resetCommunication
  - >> key_guard_check
  - >> canopen_app_process
  - >> canopen_app_init
  - >> App_key_run
  - >> App_ParamStore_LoadAndApply
  - >> App_ParamStore_Init
  - >> App_Motor_Process
  - >> App_Motor_Init
  - >> App_ParamStore_Save
  - >> App_ParamStore_Read
  - >> Handle_Position_Mode
  - >> Handle_Homing_Mode

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

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

  app_main (Thumb, 144 bytes, Stack size 0 bytes, app_main.o(i.app_main))
  [Stack]

  - Max Depth = 448
  - Call Chain = app_main ⇒ canopen_app_process ⇒ canopen_app_init ⇒ canopen_app_resetCommunication ⇒ CO_CANopenInitPDO ⇒ CO_TPDO_init ⇒ PDO_initMapping ⇒ PDOconfigMap ⇒ OD_getSub
  [Calls]
  - >> canopen_app_process
  - >> App_key_run
  - >> App_ParamStore_Process
  - >> App_ParamStore_LoadAndApply
  - >> App_ParamStore_Init
  - >> App_Motor_Process
  - >> App_Motor_Init
  - >> CANopenNode_init
  - >> __2printf
  - >> strrchr
  [Called By]
  - >> main

  canopen_app_init (Thumb, 64 bytes, Stack size 16 bytes, co_app_stm32.o(i.canopen_app_init))
  [Stack]

  - Max Depth = 432
  - Call Chain = canopen_app_init ⇒ canopen_app_resetCommunication ⇒ CO_CANopenInitPDO ⇒ CO_TPDO_init ⇒ PDO_initMapping ⇒ PDOconfigMap ⇒ OD_getSub
  [Calls]
  - >> canopen_app_resetCommunication
  - >> CO_new
  - >> __2printf
  [Called By]
  - >> canopen_app_process
  - >> CANopenNode_init

  canopen_app_interrupt (Thumb, 106 bytes, Stack size 16 bytes, co_app_stm32.o(i.canopen_app_interrupt))
  [Stack]

  - Max Depth = 204
  - Call Chain = canopen_app_interrupt ⇒ CO_process_TPDO ⇒ CO_TPDO_process ⇒ CO_TPDOsend ⇒ CO_CANsend ⇒ prv_send_can_message ⇒ HAL_CAN_AddTxMessage
  [Calls]
  - >> CO_process_TPDO
  - >> CO_process_SYNC
  - >> CO_process_RPDO
  [Called By]
  - >> HAL_TIM_PeriodElapsedCallback

  canopen_app_process (Thumb, 160 bytes, Stack size 16 bytes, co_app_stm32.o(i.canopen_app_process))
  [Stack]

  - Max Depth = 448
  - Call Chain = canopen_app_process ⇒ canopen_app_init ⇒ canopen_app_resetCommunication ⇒ CO_CANopenInitPDO ⇒ CO_TPDO_init ⇒ PDO_initMapping ⇒ PDOconfigMap ⇒ OD_getSub
  [Calls]
  - >> HAL_GetTick
  - >> HAL_NVIC_SystemReset
  - >> canopen_app_init
  - >> HAL_TIM_Base_Stop_IT
  - >> CO_CANsetConfigurationMode
  - >> CO_process
  - >> CO_delete
  - >> __2printf
  [Called By]
  - >> app_main

  canopen_app_resetCommunication (Thumb, 422 bytes, Stack size 56 bytes, co_app_stm32.o(i.canopen_app_resetCommunication))
  [Stack]

  - Max Depth = 416
  - Call Chain = canopen_app_resetCommunication ⇒ CO_CANopenInitPDO ⇒ CO_TPDO_init ⇒ PDO_initMapping ⇒ PDOconfigMap ⇒ OD_getSub
  [Calls]
  - >> HAL_GetTick
  - >> HAL_TIM_Base_Start_IT
  - >> CO_CANsetNormalMode
  - >> CO_CANsetConfigurationMode
  - >> CO_CANmodule_disable
  - >> CO_LSSinit
  - >> CO_CANopenInitPDO
  - >> CO_CANopenInit
  - >> CO_CANinit
  - >> __2printf
  [Called By]
  - >> canopen_app_init

  fputc (Thumb, 22 bytes, Stack size 16 bytes, com_debug.o(i.fputc))
  [Stack]

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

  free (Thumb, 76 bytes, Stack size 8 bytes, malloc.o(i.free))
  [Stack]

  - Max Depth = 8
  - Call Chain = free
  [Called By]
  - >> CO_delete

  main (Thumb, 64 bytes, Stack size 0 bytes, main.o(i.main))
  [Stack]

  - Max Depth = 448
  - Call Chain = main ⇒ app_main ⇒ canopen_app_process ⇒ canopen_app_init ⇒ canopen_app_resetCommunication ⇒ CO_CANopenInitPDO ⇒ CO_TPDO_init ⇒ PDO_initMapping ⇒ PDOconfigMap ⇒ OD_getSub
  [Calls]
  - >> app_main
  - >> MX_USART3_UART_Init
  - >> MX_UART5_Init
  - >> MX_TIM9_Init
  - >> MX_TIM2_Init
  - >> MX_TIM1_Init
  - >> MX_TIM12_Init
  - >> MX_TIM11_Init
  - >> MX_TIM10_Init
  - >> MX_I2C2_Init
  - >> MX_GPIO_Init
  - >> MX_CRC_Init
  - >> MX_CAN1_Init
  - >> HAL_Init
  - >> SystemClock_Config
  [Address Reference Count : 1]
  - entry9a.o(.ARM.Collect$$$$0000000B)

  malloc (Thumb, 92 bytes, Stack size 20 bytes, malloc.o(i.malloc))
  [Stack]

  - Max Depth = 20
  - Call Chain = malloc
  [Called By]
  - >> calloc

  ### Local Symbols

  Int_TMC2209_set_steps (Thumb, 436 bytes, Stack size 40 bytes, int_tmc2209.o(i.Int_TMC2209_set_steps))
  [Stack]

  - Max Depth = 64
  - Call Chain = Int_TMC2209_set_steps ⇒ __2printf
  [Calls]
  - >> __2printf
  - >> strrchr
  [Called By]
  - >> Int_TMC2209_start

  push_action (Thumb, 54 bytes, Stack size 16 bytes, int_key.o(i.push_action))
  [Stack]

  - Max Depth = 16
  - Call Chain = push_action
  [Calls]
  - >> queue_next
  [Called By]
  - >> Int_Key_Task

  queue_next (Thumb, 12 bytes, Stack size 0 bytes, int_key.o(i.queue_next))
  [Called By]

  - >> Int_Key_PopAction
  - >> push_action

  Int_EEPROM24xx_CheckRange (Thumb, 38 bytes, Stack size 0 bytes, int_eeprom24xx.o(i.Int_EEPROM24xx_CheckRange))
  [Called By]

  - >> Int_EEPROM24xx_Write
  - >> Int_EEPROM24xx_Read

  Int_EEPROM24xx_GetMemAddrSizeHal (Thumb, 4 bytes, Stack size 0 bytes, int_eeprom24xx.o(i.Int_EEPROM24xx_GetMemAddrSizeHal))
  [Called By]

  - >> Int_EEPROM24xx_Write
  - >> Int_EEPROM24xx_Read

  Int_EEPROM24xx_WaitReady (Thumb, 40 bytes, Stack size 8 bytes, int_eeprom24xx.o(i.Int_EEPROM24xx_WaitReady))
  [Stack]

  - Max Depth = 72
  - Call Chain = Int_EEPROM24xx_WaitReady ⇒ HAL_I2C_IsDeviceReady ⇒ I2C_WaitOnFlagUntilTimeout
  [Calls]
  - >> HAL_I2C_IsDeviceReady
  - >> HAL_I2C_GetError
  [Called By]
  - >> Int_EEPROM24xx_Write

  __NVIC_GetPriorityGrouping (Thumb, 10 bytes, Stack size 0 bytes, stm32f4xx_hal_cortex.o(i.__NVIC_GetPriorityGrouping))
  [Called By]

  - >> HAL_NVIC_SetPriority

  __NVIC_SetPriority (Thumb, 32 bytes, Stack size 8 bytes, stm32f4xx_hal_cortex.o(i.__NVIC_SetPriority))
  [Stack]

  - Max Depth = 8
  - Call Chain = __NVIC_SetPriority
  [Called By]
  - >> HAL_NVIC_SetPriority
  - >> HAL_SYSTICK_Config

  I2C_IsAcknowledgeFailed (Thumb, 62 bytes, Stack size 0 bytes, stm32f4xx_hal_i2c.o(i.I2C_IsAcknowledgeFailed))
  [Called By]

  - >> I2C_WaitOnTXEFlagUntilTimeout
  - >> I2C_WaitOnBTFFlagUntilTimeout

  I2C_RequestMemoryRead (Thumb, 348 bytes, Stack size 32 bytes, stm32f4xx_hal_i2c.o(i.I2C_RequestMemoryRead))
  [Stack]

  - Max Depth = 56
  - Call Chain = I2C_RequestMemoryRead ⇒ I2C_WaitOnMasterAddressFlagUntilTimeout
  [Calls]
  - >> I2C_WaitOnTXEFlagUntilTimeout
  - >> I2C_WaitOnMasterAddressFlagUntilTimeout
  - >> I2C_WaitOnFlagUntilTimeout
  [Called By]
  - >> HAL_I2C_Mem_Read

  I2C_RequestMemoryWrite (Thumb, 220 bytes, Stack size 32 bytes, stm32f4xx_hal_i2c.o(i.I2C_RequestMemoryWrite))
  [Stack]

  - Max Depth = 56
  - Call Chain = I2C_RequestMemoryWrite ⇒ I2C_WaitOnMasterAddressFlagUntilTimeout
  [Calls]
  - >> I2C_WaitOnTXEFlagUntilTimeout
  - >> I2C_WaitOnMasterAddressFlagUntilTimeout
  - >> I2C_WaitOnFlagUntilTimeout
  [Called By]
  - >> HAL_I2C_Mem_Write

  I2C_WaitOnBTFFlagUntilTimeout (Thumb, 102 bytes, Stack size 16 bytes, stm32f4xx_hal_i2c.o(i.I2C_WaitOnBTFFlagUntilTimeout))
  [Stack]

  - Max Depth = 16
  - Call Chain = I2C_WaitOnBTFFlagUntilTimeout
  [Calls]
  - >> HAL_GetTick
  - >> I2C_IsAcknowledgeFailed
  [Called By]
  - >> HAL_I2C_Mem_Write

  I2C_WaitOnFlagUntilTimeout (Thumb, 190 bytes, Stack size 24 bytes, stm32f4xx_hal_i2c.o(i.I2C_WaitOnFlagUntilTimeout))
  [Stack]

  - Max Depth = 24
  - Call Chain = I2C_WaitOnFlagUntilTimeout
  [Calls]
  - >> HAL_GetTick
  [Called By]
  - >> HAL_I2C_Mem_Write
  - >> HAL_I2C_Mem_Read
  - >> HAL_I2C_IsDeviceReady
  - >> I2C_RequestMemoryWrite
  - >> I2C_RequestMemoryRead

  I2C_WaitOnMasterAddressFlagUntilTimeout (Thumb, 250 bytes, Stack size 24 bytes, stm32f4xx_hal_i2c.o(i.I2C_WaitOnMasterAddressFlagUntilTimeout))
  [Stack]

  - Max Depth = 24
  - Call Chain = I2C_WaitOnMasterAddressFlagUntilTimeout
  [Calls]
  - >> HAL_GetTick
  [Called By]
  - >> I2C_RequestMemoryWrite
  - >> I2C_RequestMemoryRead

  I2C_WaitOnRXNEFlagUntilTimeout (Thumb, 138 bytes, Stack size 16 bytes, stm32f4xx_hal_i2c.o(i.I2C_WaitOnRXNEFlagUntilTimeout))
  [Stack]

  - Max Depth = 16
  - Call Chain = I2C_WaitOnRXNEFlagUntilTimeout
  [Calls]
  - >> HAL_GetTick
  [Called By]
  - >> HAL_I2C_Mem_Read

  I2C_WaitOnTXEFlagUntilTimeout (Thumb, 102 bytes, Stack size 16 bytes, stm32f4xx_hal_i2c.o(i.I2C_WaitOnTXEFlagUntilTimeout))
  [Stack]

  - Max Depth = 16
  - Call Chain = I2C_WaitOnTXEFlagUntilTimeout
  [Calls]
  - >> HAL_GetTick
  - >> I2C_IsAcknowledgeFailed
  [Called By]
  - >> HAL_I2C_Mem_Write
  - >> I2C_RequestMemoryWrite
  - >> I2C_RequestMemoryRead

  TIM_ITRx_SetConfig (Thumb, 18 bytes, Stack size 0 bytes, stm32f4xx_hal_tim.o(i.TIM_ITRx_SetConfig))
  [Called By]

  - >> HAL_TIM_ConfigClockSource

  TIM_OC1_SetConfig (Thumb, 104 bytes, Stack size 12 bytes, stm32f4xx_hal_tim.o(i.TIM_OC1_SetConfig))
  [Stack]

  - Max Depth = 12
  - Call Chain = TIM_OC1_SetConfig
  [Called By]
  - >> HAL_TIM_PWM_ConfigChannel
  - >> HAL_TIM_OC_ConfigChannel

  TIM_OC3_SetConfig (Thumb, 112 bytes, Stack size 12 bytes, stm32f4xx_hal_tim.o(i.TIM_OC3_SetConfig))
  [Stack]

  - Max Depth = 12
  - Call Chain = TIM_OC3_SetConfig
  [Called By]
  - >> HAL_TIM_PWM_ConfigChannel
  - >> HAL_TIM_OC_ConfigChannel

  TIM_OC4_SetConfig (Thumb, 74 bytes, Stack size 12 bytes, stm32f4xx_hal_tim.o(i.TIM_OC4_SetConfig))
  [Stack]

  - Max Depth = 12
  - Call Chain = TIM_OC4_SetConfig
  [Called By]
  - >> HAL_TIM_PWM_ConfigChannel
  - >> HAL_TIM_OC_ConfigChannel

  TIM_TI1_ConfigInputStage (Thumb, 38 bytes, Stack size 12 bytes, stm32f4xx_hal_tim.o(i.TIM_TI1_ConfigInputStage))
  [Stack]

  - Max Depth = 12
  - Call Chain = TIM_TI1_ConfigInputStage
  [Called By]
  - >> HAL_TIM_ConfigClockSource

  TIM_TI2_ConfigInputStage (Thumb, 40 bytes, Stack size 12 bytes, stm32f4xx_hal_tim.o(i.TIM_TI2_ConfigInputStage))
  [Stack]

  - Max Depth = 12
  - Call Chain = TIM_TI2_ConfigInputStage
  [Called By]
  - >> HAL_TIM_ConfigClockSource

  UART_DMAAbortOnError (Thumb, 18 bytes, Stack size 16 bytes, stm32f4xx_hal_uart.o(i.UART_DMAAbortOnError))
  [Stack]

  - Max Depth = 16
  - Call Chain = UART_DMAAbortOnError
  [Calls]
  - >> HAL_UART_ErrorCallback
  [Address Reference Count : 1]
  - stm32f4xx_hal_uart.o(i.HAL_UART_IRQHandler)

  UART_EndRxTransfer (Thumb, 108 bytes, Stack size 0 bytes, stm32f4xx_hal_uart.o(i.UART_EndRxTransfer))
  [Called By]

  - >> HAL_UART_IRQHandler
  - >> UART_WaitOnFlagUntilTimeout

  UART_EndTransmit_IT (Thumb, 32 bytes, Stack size 8 bytes, stm32f4xx_hal_uart.o(i.UART_EndTransmit_IT))
  [Stack]

  - Max Depth = 8
  - Call Chain = UART_EndTransmit_IT
  [Calls]
  - >> HAL_UART_TxCpltCallback
  [Called By]
  - >> HAL_UART_IRQHandler

  UART_Receive_IT (Thumb, 252 bytes, Stack size 24 bytes, stm32f4xx_hal_uart.o(i.UART_Receive_IT))
  [Stack]

  - Max Depth = 72
  - Call Chain = UART_Receive_IT ⇒ HAL_UARTEx_RxEventCallback ⇒ HAL_UARTEx_ReceiveToIdle_IT ⇒ UART_Start_Receive_IT
  [Calls]
  - >> HAL_UART_RxCpltCallback
  - >> HAL_UARTEx_RxEventCallback
  [Called By]
  - >> HAL_UART_IRQHandler

  UART_SetConfig (Thumb, 546 bytes, Stack size 40 bytes, stm32f4xx_hal_uart.o(i.UART_SetConfig))
  [Stack]

  - Max Depth = 80
  - Call Chain = UART_SetConfig ⇒ __aeabi_uldivmod
  [Calls]
  - >> HAL_RCC_GetPCLK2Freq
  - >> HAL_RCC_GetPCLK1Freq
  - >> __aeabi_uldivmod
  [Called By]
  - >> HAL_UART_Init

  UART_Transmit_IT (Thumb, 96 bytes, Stack size 0 bytes, stm32f4xx_hal_uart.o(i.UART_Transmit_IT))
  [Called By]

  - >> HAL_UART_IRQHandler

  UART_WaitOnFlagUntilTimeout (Thumb, 140 bytes, Stack size 32 bytes, stm32f4xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout))
  [Stack]

  - Max Depth = 32
  - Call Chain = UART_WaitOnFlagUntilTimeout
  [Calls]
  - >> HAL_GetTick
  - >> UART_EndRxTransfer
  [Called By]
  - >> HAL_UART_Transmit

  CANopenNode_init (Thumb, 34 bytes, Stack size 8 bytes, app_main.o(i.CANopenNode_init))
  [Stack]

  - Max Depth = 440
  - Call Chain = CANopenNode_init ⇒ canopen_app_init ⇒ canopen_app_resetCommunication ⇒ CO_CANopenInitPDO ⇒ CO_TPDO_init ⇒ PDO_initMapping ⇒ PDOconfigMap ⇒ OD_getSub
  [Calls]
  - >> canopen_app_init
  [Called By]
  - >> app_main

  key_estimate_pos_mm (Thumb, 48 bytes, Stack size 0 bytes, app_key.o(i.key_estimate_pos_mm))
  [Called By]

  - >> key_guard_check

  key_guard_check (Thumb, 512 bytes, Stack size 40 bytes, app_key.o(i.key_guard_check))
  [Stack]

  - Max Depth = 84
  - Call Chain = key_guard_check ⇒ local_motion_estop ⇒ Int_TMC2209_stop ⇒ HAL_TIM_OC_Stop_IT ⇒ TIM_CCxChannelCmd
  [Calls]
  - >> local_motion_stop_decel
  - >> local_motion_estop
  - >> key_home_switch_active
  - >> key_estimate_pos_mm
  - >> __2printf
  - >> strrchr
  [Called By]
  - >> App_key_run

  key_home_switch_active (Thumb, 20 bytes, Stack size 8 bytes, app_key.o(i.key_home_switch_active))
  [Stack]

  - Max Depth = 8
  - Call Chain = key_home_switch_active
  [Calls]
  - >> HAL_GPIO_ReadPin
  [Called By]
  - >> key_guard_check

  local_motion_estop (Thumb, 34 bytes, Stack size 8 bytes, app_key.o(i.local_motion_estop))
  [Stack]

  - Max Depth = 44
  - Call Chain = local_motion_estop ⇒ Int_TMC2209_stop ⇒ HAL_TIM_OC_Stop_IT ⇒ TIM_CCxChannelCmd
  [Calls]
  - >> Int_TMC2209_stop
  [Called By]
  - >> key_guard_check
  - >> App_key_run

  local_motion_start (Thumb, 124 bytes, Stack size 24 bytes, app_key.o(i.local_motion_start))
  [Stack]

  - Max Depth = 136
  - Call Chain = local_motion_start ⇒ Int_TMC2209_start ⇒ Int_TMC2209_set_steps ⇒ __2printf
  [Calls]
  - >> Int_TMC2209_stop
  - >> Int_TMC2209_start
  [Called By]
  - >> App_key_run

  local_motion_stop_decel (Thumb, 54 bytes, Stack size 0 bytes, app_key.o(i.local_motion_stop_decel))
  [Called By]

  - >> key_guard_check
  - >> App_key_run

  Normalize_FollowingErrorThreshold (Thumb, 62 bytes, Stack size 0 bytes, app_motor.o(i.Normalize_FollowingErrorThreshold))
  [Called By]

  - >> Sync_FollowingErrorThreshold_From_OD

  OD_get_i8 (Thumb, 26 bytes, Stack size 24 bytes, app_motor.o(i.OD_get_i8))
  [Stack]

  - Max Depth = 120
  - Call Chain = OD_get_i8 ⇒ OD_get_value ⇒ OD_getSub
  [Calls]
  - >> OD_get_value
  [Called By]
  - >> Update_PP_FollowingError_StatusBit
  - >> Process_Motion_Logic

  Process_Motion_Logic (Thumb, 162 bytes, Stack size 32 bytes, app_motor.o(i.Process_Motion_Logic))
  [Stack]

  - Max Depth = 288
  - Call Chain = Process_Motion_Logic ⇒ Handle_Position_Mode ⇒ OD_set_u16 ⇒ OD_set_value ⇒ OD_getSub
  [Calls]
  - >> Int_TMC2209_stop
  - >> OD_get_i8
  - >> Update_Motion_State_To_OD
  - >> OD_set_value
  - >> OD_find
  - >> Handle_Position_Mode
  - >> Handle_Homing_Mode
  [Called By]
  - >> App_Motor_Process

  Sync_FollowingErrorThreshold_From_OD (Thumb, 82 bytes, Stack size 32 bytes, app_motor.o(i.Sync_FollowingErrorThreshold_From_OD))
  [Stack]

  - Max Depth = 128
  - Call Chain = Sync_FollowingErrorThreshold_From_OD ⇒ OD_get_value ⇒ OD_getSub
  [Calls]
  - >> Normalize_FollowingErrorThreshold
  - >> OD_get_value
  - >> OD_find
  [Called By]
  - >> App_Motor_Process

  Update_PP_FollowingError_StatusBit (Thumb, 212 bytes, Stack size 48 bytes, app_motor.o(i.Update_PP_FollowingError_StatusBit))
  [Stack]

  - Max Depth = 168
  - Call Chain = Update_PP_FollowingError_StatusBit ⇒ OD_get_i8 ⇒ OD_get_value ⇒ OD_getSub
  [Calls]
  - >> OD_get_i8
  - >> OD_set_value
  - >> OD_get_value
  - >> OD_find
  [Called By]
  - >> App_Motor_Process

  OD_get_i32 (Thumb, 26 bytes, Stack size 24 bytes, app_cia402.o(i.OD_get_i32))
  [Stack]

  - Max Depth = 120
  - Call Chain = OD_get_i32 ⇒ OD_get_value ⇒ OD_getSub
  [Calls]
  - >> OD_get_value
  [Called By]
  - >> Handle_Position_Mode

  OD_get_u16 (Thumb, 26 bytes, Stack size 24 bytes, app_cia402.o(i.OD_get_u16))
  [Stack]

  - Max Depth = 120
  - Call Chain = OD_get_u16 ⇒ OD_get_value ⇒ OD_getSub
  [Calls]
  - >> OD_get_value
  [Called By]
  - >> Update_Motion_State_To_OD
  - >> Process_StateMachine
  - >> Handle_Position_Mode
  - >> Handle_Homing_Mode

  OD_get_u32 (Thumb, 26 bytes, Stack size 24 bytes, app_cia402.o(i.OD_get_u32))
  [Stack]

  - Max Depth = 120
  - Call Chain = OD_get_u32 ⇒ OD_get_value ⇒ OD_getSub
  [Calls]
  - >> OD_get_value
  [Called By]
  - >> Handle_Position_Mode

  OD_set_i32 (Thumb, 28 bytes, Stack size 40 bytes, app_cia402.o(i.OD_set_i32))
  [Stack]

  - Max Depth = 136
  - Call Chain = OD_set_i32 ⇒ OD_set_value ⇒ OD_getSub
  [Calls]
  - >> OD_set_value
  [Called By]
  - >> Update_Motion_State_To_OD
  - >> Handle_Homing_Mode

  OD_set_u16 (Thumb, 28 bytes, Stack size 40 bytes, app_cia402.o(i.OD_set_u16))
  [Stack]

  - Max Depth = 136
  - Call Chain = OD_set_u16 ⇒ OD_set_value ⇒ OD_getSub
  [Calls]
  - >> OD_set_value
  [Called By]
  - >> Update_Motion_State_To_OD
  - >> Process_StateMachine
  - >> Handle_Position_Mode
  - >> Handle_Homing_Mode

  __get_PRIMASK (Thumb, 6 bytes, Stack size 0 bytes, app_cia402.o(i.__get_PRIMASK))
  [Called By]

  - >> Update_Motion_State_To_OD
  - >> Handle_Position_Mode
  - >> Handle_Homing_Mode

  __set_PRIMASK (Thumb, 6 bytes, Stack size 0 bytes, app_cia402.o(i.__set_PRIMASK))
  [Called By]

  - >> Update_Motion_State_To_OD
  - >> Handle_Position_Mode
  - >> Handle_Homing_Mode

  App_ParamStore_ApplyAccDecToOD (Thumb, 138 bytes, Stack size 24 bytes, app_param_store.o(i.App_ParamStore_ApplyAccDecToOD))
  [Stack]

  - Max Depth = 160
  - Call Chain = App_ParamStore_ApplyAccDecToOD ⇒ OD_set_u32 ⇒ OD_set_value ⇒ OD_getSub
  [Calls]
  - >> OD_set_u32
  - >> OD_find
  [Called By]
  - >> App_ParamStore_LoadAndApply

  App_ParamStore_ApplyThresholdToOD (Thumb, 106 bytes, Stack size 16 bytes, app_param_store.o(i.App_ParamStore_ApplyThresholdToOD))
  [Stack]

  - Max Depth = 152
  - Call Chain = App_ParamStore_ApplyThresholdToOD ⇒ OD_set_f32 ⇒ OD_set_value ⇒ OD_getSub
  [Calls]
  - >> OD_set_f32
  - >> OD_find
  [Called By]
  - >> App_ParamStore_LoadAndApply

  App_ParamStore_CalcBlobCrc (Thumb, 14 bytes, Stack size 8 bytes, app_param_store.o(i.App_ParamStore_CalcBlobCrc))
  [Stack]

  - Max Depth = 72
  - Call Chain = App_ParamStore_CalcBlobCrc ⇒ App_ParamStore_Crc32 ⇒ HAL_CRC_Calculate
  [Calls]
  - >> App_ParamStore_Crc32
  [Called By]
  - >> App_ParamStore_Read

  App_ParamStore_Crc32 (Thumb, 156 bytes, Stack size 48 bytes, app_param_store.o(i.App_ParamStore_Crc32))
  [Stack]

  - Max Depth = 64
  - Call Chain = App_ParamStore_Crc32 ⇒ HAL_CRC_Calculate
  [Calls]
  - >> HAL_CRC_Calculate
  - >> HAL_CRC_Accumulate
  [Called By]
  - >> App_ParamStore_Save
  - >> App_ParamStore_Validate
  - >> App_ParamStore_CalcBlobCrc

  App_ParamStore_ParamsEqual (Thumb, 82 bytes, Stack size 0 bytes, app_param_store.o(i.App_ParamStore_ParamsEqual))
  [Called By]

  - >> App_ParamStore_Process

  App_ParamStore_ReadCurrentFromOD (Thumb, 270 bytes, Stack size 32 bytes, app_param_store.o(i.App_ParamStore_ReadCurrentFromOD))
  [Stack]

  - Max Depth = 152
  - Call Chain = App_ParamStore_ReadCurrentFromOD ⇒ OD_get_u32 ⇒ OD_get_value ⇒ OD_getSub
  [Calls]
  - >> OD_get_u32
  - >> OD_get_f32
  - >> OD_find
  [Called By]
  - >> App_ParamStore_Process

  App_ParamStore_Validate (Thumb, 108 bytes, Stack size 16 bytes, app_param_store.o(i.App_ParamStore_Validate))
  [Stack]

  - Max Depth = 80
  - Call Chain = App_ParamStore_Validate ⇒ App_ParamStore_Crc32 ⇒ HAL_CRC_Calculate
  [Calls]
  - >> App_ParamStore_Crc32
  [Called By]
  - >> App_ParamStore_Read

  OD_get_f32 (Thumb, 26 bytes, Stack size 24 bytes, app_param_store.o(i.OD_get_f32))
  [Stack]

  - Max Depth = 120
  - Call Chain = OD_get_f32 ⇒ OD_get_value ⇒ OD_getSub
  [Calls]
  - >> OD_get_value
  [Called By]
  - >> App_ParamStore_ReadCurrentFromOD

  OD_get_u32 (Thumb, 26 bytes, Stack size 24 bytes, app_param_store.o(i.OD_get_u32))
  [Stack]

  - Max Depth = 120
  - Call Chain = OD_get_u32 ⇒ OD_get_value ⇒ OD_getSub
  [Calls]
  - >> OD_get_value
  [Called By]
  - >> App_ParamStore_ReadCurrentFromOD

  OD_set_f32 (Thumb, 32 bytes, Stack size 40 bytes, app_param_store.o(i.OD_set_f32))
  [Stack]

  - Max Depth = 136
  - Call Chain = OD_set_f32 ⇒ OD_set_value ⇒ OD_getSub
  [Calls]
  - >> OD_set_value
  [Called By]
  - >> App_ParamStore_ApplyThresholdToOD

  OD_set_u32 (Thumb, 28 bytes, Stack size 40 bytes, app_param_store.o(i.OD_set_u32))
  [Stack]

  - Max Depth = 136
  - Call Chain = OD_set_u32 ⇒ OD_set_value ⇒ OD_getSub
  [Calls]
  - >> OD_set_value
  [Called By]
  - >> App_ParamStore_ApplyAccDecToOD

  CO_NMT_getInternalState (Thumb, 14 bytes, Stack size 0 bytes, canopen.o(i.CO_NMT_getInternalState))
  [Called By]

  - >> CO_process_TPDO
  - >> CO_process_SYNC
  - >> CO_process_RPDO
  - >> CO_process

  CO_isError (Thumb, 36 bytes, Stack size 12 bytes, canopen.o(i.CO_isError))
  [Stack]

  - Max Depth = 12
  - Call Chain = CO_isError
  [Called By]
  - >> CO_process

  CO_setUint32 (Thumb, 18 bytes, Stack size 16 bytes, co_emergency.o(i.CO_setUint32))
  [Stack]

  - Max Depth = 24
  - Call Chain = CO_setUint32 ⇒ __aeabi_memmove
  [Calls]
  - >> __aeabi_memmove
  [Called By]
  - >> OD_read_1014_default
  - >> OD_read_1003

  OD_extension_init (Thumb, 14 bytes, Stack size 0 bytes, co_emergency.o(i.OD_extension_init))
  [Called By]

  - >> CO_EM_init

  OD_getIndex (Thumb, 12 bytes, Stack size 0 bytes, co_emergency.o(i.OD_getIndex))
  [Called By]

  - >> CO_EM_init

  OD_read_1003 (Thumb, 150 bytes, Stack size 32 bytes, co_emergency.o(i.OD_read_1003))
  [Stack]

  - Max Depth = 56
  - Call Chain = OD_read_1003 ⇒ CO_setUint32 ⇒ __aeabi_memmove
  [Calls]
  - >> CO_setUint32
  - >> __aeabi_memmove
  [Address Reference Count : 1]
  - co_emergency.o(i.CO_EM_init)

  OD_read_1014_default (Thumb, 76 bytes, Stack size 32 bytes, co_emergency.o(i.OD_read_1014_default))
  [Stack]

  - Max Depth = 56
  - Call Chain = OD_read_1014_default ⇒ CO_setUint32 ⇒ __aeabi_memmove
  [Calls]
  - >> CO_setUint32
  [Address Reference Count : 1]
  - co_emergency.o(i.CO_EM_init)

  OD_write_1003 (Thumb, 72 bytes, Stack size 32 bytes, co_emergency.o(i.OD_write_1003))
  [Stack]

  - Max Depth = 40
  - Call Chain = OD_write_1003 ⇒ __aeabi_memmove
  [Calls]
  - >> __aeabi_memmove
  [Address Reference Count : 1]
  - co_emergency.o(i.CO_EM_init)

  CO_HBcons_receive (Thumb, 28 bytes, Stack size 12 bytes, co_hbconsumer.o(i.CO_HBcons_receive))
  [Stack]

  - Max Depth = 12
  - Call Chain = CO_HBcons_receive
  [Address Reference Count : 1]
  - co_hbconsumer.o(i.CO_HBconsumer_initEntry)

  CO_HBconsumer_initEntry (Thumb, 206 bytes, Stack size 48 bytes, co_hbconsumer.o(i.CO_HBconsumer_initEntry))
  [Stack]

  - Max Depth = 76
  - Call Chain = CO_HBconsumer_initEntry ⇒ CO_CANrxBufferInit
  [Calls]
  - >> CO_CANrxBufferInit
  [Called By]
  - >> OD_write_1016
  - >> CO_HBconsumer_init

  OD_getIndex (Thumb, 12 bytes, Stack size 0 bytes, co_hbconsumer.o(i.OD_getIndex))
  [Called By]

  - >> CO_HBconsumer_init

  OD_write_1016 (Thumb, 118 bytes, Stack size 48 bytes, co_hbconsumer.o(i.OD_write_1016))
  [Stack]

  - Max Depth = 124
  - Call Chain = OD_write_1016 ⇒ CO_HBconsumer_initEntry ⇒ CO_CANrxBufferInit
  [Calls]
  - >> CO_HBconsumer_initEntry
  - >> OD_writeOriginal
  - >> __aeabi_memmove
  [Address Reference Count : 1]
  - co_hbconsumer.o(i.CO_HBconsumer_init)

  CO_NMT_receive (Thumb, 28 bytes, Stack size 20 bytes, co_nmt_heartbeat.o(i.CO_NMT_receive))
  [Stack]

  - Max Depth = 20
  - Call Chain = CO_NMT_receive
  [Address Reference Count : 1]
  - co_nmt_heartbeat.o(i.CO_NMT_init)

  CO_isError (Thumb, 36 bytes, Stack size 12 bytes, co_nmt_heartbeat.o(i.CO_isError))
  [Stack]

  - Max Depth = 12
  - Call Chain = CO_isError
  [Called By]
  - >> CO_NMT_process

  OD_getIndex (Thumb, 12 bytes, Stack size 0 bytes, co_nmt_heartbeat.o(i.OD_getIndex))
  [Called By]

  - >> CO_NMT_init

  OD_write_1017 (Thumb, 80 bytes, Stack size 32 bytes, co_nmt_heartbeat.o(i.OD_write_1017))
  [Stack]

  - Max Depth = 80
  - Call Chain = OD_write_1017 ⇒ OD_writeOriginal ⇒ __aeabi_memcpy
  [Calls]
  - >> OD_writeOriginal
  - >> __aeabi_memmove
  [Address Reference Count : 1]
  - co_nmt_heartbeat.o(i.CO_NMT_init)

  OD_readDisabled (Thumb, 8 bytes, Stack size 8 bytes, co_odinterface.o(i.OD_readDisabled))
  [Stack]

  - Max Depth = 8
  - Call Chain = OD_readDisabled
  [Address Reference Count : 1]
  - co_odinterface.o(i.OD_getSub)

  OD_writeDisabled (Thumb, 8 bytes, Stack size 8 bytes, co_odinterface.o(i.OD_writeDisabled))
  [Stack]

  - Max Depth = 8
  - Call Chain = OD_writeDisabled
  [Address Reference Count : 1]
  - co_odinterface.o(i.OD_getSub)

  CO_PDO_receive (Thumb, 142 bytes, Stack size 24 bytes, co_pdo.o(i.CO_PDO_receive))
  [Stack]

  - Max Depth = 24
  - Call Chain = CO_PDO_receive
  [Address Reference Count : 2]
  - co_pdo.o(i.OD_write_14xx)
  - co_pdo.o(i.CO_RPDO_init)

  CO_TPDOsend (Thumb, 276 bytes, Stack size 64 bytes, co_pdo.o(i.CO_TPDOsend))
  [Stack]

  - Max Depth = 124
  - Call Chain = CO_TPDOsend ⇒ CO_CANsend ⇒ prv_send_can_message ⇒ HAL_CAN_AddTxMessage
  [Calls]
  - >> CO_CANsend
  - >> CO_error
  - >> __aeabi_memcpy
  [Called By]
  - >> CO_TPDO_process

  CO_getUint16 (Thumb, 20 bytes, Stack size 16 bytes, co_pdo.o(i.CO_getUint16))
  [Stack]

  - Max Depth = 24
  - Call Chain = CO_getUint16 ⇒ __aeabi_memmove
  [Calls]
  - >> __aeabi_memmove
  [Called By]
  - >> OD_write_18xx
  - >> OD_write_14xx

  CO_getUint32 (Thumb, 18 bytes, Stack size 16 bytes, co_pdo.o(i.CO_getUint32))
  [Stack]

  - Max Depth = 24
  - Call Chain = CO_getUint32 ⇒ __aeabi_memmove
  [Calls]
  - >> __aeabi_memmove
  [Called By]
  - >> OD_write_PDO_mapping
  - >> OD_write_18xx
  - >> OD_write_14xx
  - >> OD_read_PDO_commParam

  CO_getUint8 (Thumb, 20 bytes, Stack size 16 bytes, co_pdo.o(i.CO_getUint8))
  [Stack]

  - Max Depth = 24
  - Call Chain = CO_getUint8 ⇒ __aeabi_memmove
  [Calls]
  - >> __aeabi_memmove
  [Called By]
  - >> OD_write_PDO_mapping
  - >> OD_write_18xx
  - >> OD_write_14xx

  CO_setUint32 (Thumb, 18 bytes, Stack size 16 bytes, co_pdo.o(i.CO_setUint32))
  [Stack]

  - Max Depth = 24
  - Call Chain = CO_setUint32 ⇒ __aeabi_memmove
  [Calls]
  - >> __aeabi_memmove
  [Called By]
  - >> OD_write_18xx
  - >> OD_write_14xx
  - >> OD_read_PDO_commParam

  OD_extension_init (Thumb, 14 bytes, Stack size 0 bytes, co_pdo.o(i.OD_extension_init))
  [Called By]

  - >> CO_TPDO_init
  - >> CO_RPDO_init

  OD_getIndex (Thumb, 12 bytes, Stack size 0 bytes, co_pdo.o(i.OD_getIndex))
  [Called By]

  - >> PDO_initMapping
  - >> CO_TPDO_init
  - >> CO_RPDO_init

  OD_get_u16 (Thumb, 26 bytes, Stack size 24 bytes, co_pdo.o(i.OD_get_u16))
  [Stack]

  - Max Depth = 120
  - Call Chain = OD_get_u16 ⇒ OD_get_value ⇒ OD_getSub
  [Calls]
  - >> OD_get_value
  [Called By]
  - >> CO_TPDO_init
  - >> CO_RPDO_init

  OD_get_u32 (Thumb, 26 bytes, Stack size 24 bytes, co_pdo.o(i.OD_get_u32))
  [Stack]

  - Max Depth = 120
  - Call Chain = OD_get_u32 ⇒ OD_get_value ⇒ OD_getSub
  [Calls]
  - >> OD_get_value
  [Called By]
  - >> PDO_initMapping
  - >> CO_TPDO_init
  - >> CO_RPDO_init

  OD_get_u8 (Thumb, 26 bytes, Stack size 24 bytes, co_pdo.o(i.OD_get_u8))
  [Stack]

  - Max Depth = 120
  - Call Chain = OD_get_u8 ⇒ OD_get_value ⇒ OD_getSub
  [Calls]
  - >> OD_get_value
  [Called By]
  - >> PDO_initMapping
  - >> CO_TPDO_init
  - >> CO_RPDO_init

  OD_read_PDO_commParam (Thumb, 116 bytes, Stack size 40 bytes, co_pdo.o(i.OD_read_PDO_commParam))
  [Stack]

  - Max Depth = 80
  - Call Chain = OD_read_PDO_commParam ⇒ OD_readOriginal ⇒ __aeabi_memcpy
  [Calls]
  - >> CO_setUint32
  - >> CO_getUint32
  - >> OD_readOriginal
  [Address Reference Count : 2]
  - co_pdo.o(i.CO_TPDO_init)
  - co_pdo.o(i.CO_RPDO_init)

  OD_read_dummy (Thumb, 46 bytes, Stack size 24 bytes, co_pdo.o(i.OD_read_dummy))
  [Stack]

  - Max Depth = 24
  - Call Chain = OD_read_dummy
  [Calls]
  - >> __aeabi_memclr
  [Address Reference Count : 1]
  - co_pdo.o(i.PDOconfigMap)

  OD_write_14xx (Thumb, 410 bytes, Stack size 72 bytes, co_pdo.o(i.OD_write_14xx))
  [Stack]

  - Max Depth = 120
  - Call Chain = OD_write_14xx ⇒ OD_writeOriginal ⇒ __aeabi_memcpy
  [Calls]
  - >> CO_setUint32
  - >> CO_getUint8
  - >> CO_getUint32
  - >> CO_getUint16
  - >> CO_CANrxBufferInit
  - >> OD_writeOriginal
  - >> __aeabi_memcpy
  [Address Reference Count : 1]
  - co_pdo.o(i.CO_RPDO_init)

  OD_write_18xx (Thumb, 446 bytes, Stack size 64 bytes, co_pdo.o(i.OD_write_18xx))
  [Stack]

  - Max Depth = 112
  - Call Chain = OD_write_18xx ⇒ OD_writeOriginal ⇒ __aeabi_memcpy
  [Calls]
  - >> CO_setUint32
  - >> CO_getUint8
  - >> CO_getUint32
  - >> CO_getUint16
  - >> OD_writeOriginal
  - >> CO_CANtxBufferInit
  - >> __aeabi_memcpy
  [Address Reference Count : 1]
  - co_pdo.o(i.CO_TPDO_init)

  OD_write_PDO_mapping (Thumb, 192 bytes, Stack size 40 bytes, co_pdo.o(i.OD_write_PDO_mapping))
  [Stack]

  - Max Depth = 168
  - Call Chain = OD_write_PDO_mapping ⇒ PDOconfigMap ⇒ OD_getSub
  [Calls]
  - >> PDOconfigMap
  - >> CO_getUint8
  - >> CO_getUint32
  - >> OD_writeOriginal
  [Address Reference Count : 2]
  - co_pdo.o(i.CO_TPDO_init)
  - co_pdo.o(i.CO_RPDO_init)

  OD_write_dummy (Thumb, 12 bytes, Stack size 8 bytes, co_pdo.o(i.OD_write_dummy))
  [Stack]

  - Max Depth = 8
  - Call Chain = OD_write_dummy
  [Address Reference Count : 1]
  - co_pdo.o(i.PDOconfigMap)

  PDO_initMapping (Thumb, 242 bytes, Stack size 64 bytes, co_pdo.o(i.PDO_initMapping))
  [Stack]

  - Max Depth = 192
  - Call Chain = PDO_initMapping ⇒ PDOconfigMap ⇒ OD_getSub
  [Calls]
  - >> PDOconfigMap
  - >> OD_get_u8
  - >> OD_get_u32
  - >> OD_getIndex
  [Called By]
  - >> CO_TPDO_init
  - >> CO_RPDO_init

  PDOconfigMap (Thumb, 244 bytes, Stack size 104 bytes, co_pdo.o(i.PDOconfigMap))
  [Stack]

  - Max Depth = 128
  - Call Chain = PDOconfigMap ⇒ OD_getSub
  [Calls]
  - >> OD_getSub
  - >> OD_find
  - >> __aeabi_memclr4
  - >> __aeabi_memcpy4
  [Called By]
  - >> PDO_initMapping
  - >> OD_write_PDO_mapping

  CO_SDO_receive (Thumb, 62 bytes, Stack size 24 bytes, co_sdoserver.o(i.CO_SDO_receive))
  [Stack]

  - Max Depth = 32
  - Call Chain = CO_SDO_receive ⇒ __aeabi_memcpy
  [Calls]
  - >> __aeabi_memcpy
  [Address Reference Count : 1]
  - co_sdoserver.o(i.CO_SDOserver_init_canRxTx)

  CO_SDOserver_init_canRxTx (Thumb, 160 bytes, Stack size 64 bytes, co_sdoserver.o(i.CO_SDOserver_init_canRxTx))
  [Stack]

  - Max Depth = 92
  - Call Chain = CO_SDOserver_init_canRxTx ⇒ CO_CANrxBufferInit
  [Calls]
  - >> CO_CANrxBufferInit
  - >> CO_CANtxBufferInit
  [Called By]
  - >> OD_write_1201_additional
  - >> CO_SDOserver_init

  CO_getUint32 (Thumb, 18 bytes, Stack size 16 bytes, co_sdoserver.o(i.CO_getUint32))
  [Stack]

  - Max Depth = 24
  - Call Chain = CO_getUint32 ⇒ __aeabi_memmove
  [Calls]
  - >> __aeabi_memmove
  [Called By]
  - >> OD_write_1201_additional

  OD_get_u32 (Thumb, 26 bytes, Stack size 24 bytes, co_sdoserver.o(i.OD_get_u32))
  [Stack]

  - Max Depth = 120
  - Call Chain = OD_get_u32 ⇒ OD_get_value ⇒ OD_getSub
  [Calls]
  - >> OD_get_value
  [Called By]
  - >> CO_SDOserver_init

  OD_set_u32 (Thumb, 28 bytes, Stack size 40 bytes, co_sdoserver.o(i.OD_set_u32))
  [Stack]

  - Max Depth = 136
  - Call Chain = OD_set_u32 ⇒ OD_set_value ⇒ OD_getSub
  [Calls]
  - >> OD_set_value
  [Called By]
  - >> CO_SDOserver_init

  OD_write_1201_additional (Thumb, 404 bytes, Stack size 48 bytes, co_sdoserver.o(i.OD_write_1201_additional))
  [Stack]

  - Max Depth = 140
  - Call Chain = OD_write_1201_additional ⇒ CO_SDOserver_init_canRxTx ⇒ CO_CANrxBufferInit
  [Calls]
  - >> CO_getUint32
  - >> CO_SDOserver_init_canRxTx
  - >> OD_writeOriginal
  - >> __aeabi_memmove
  [Address Reference Count : 1]
  - co_sdoserver.o(i.CO_SDOserver_init)

  readFromOd (Thumb, 252 bytes, Stack size 40 bytes, co_sdoserver.o(i.readFromOd))
  [Stack]

  - Max Depth = 48
  - Call Chain = readFromOd ⇒ __aeabi_memmove
  [Calls]
  - >> OD_getSDOabCode
  - >> strlen
  - >> __aeabi_memmove
  [Called By]
  - >> CO_SDOserver_process

  validateAndWriteToOD (Thumb, 350 bytes, Stack size 32 bytes, co_sdoserver.o(i.validateAndWriteToOD))
  [Stack]

  - Max Depth = 32
  - Call Chain = validateAndWriteToOD
  [Calls]
  - >> OD_getSDOabCode
  [Called By]
  - >> CO_SDOserver_process

  CO_SYNC_receive (Thumb, 74 bytes, Stack size 16 bytes, co_sync.o(i.CO_SYNC_receive))
  [Stack]

  - Max Depth = 16
  - Call Chain = CO_SYNC_receive
  [Address Reference Count : 2]
  - co_sync.o(i.OD_write_1005)
  - co_sync.o(i.CO_SYNC_init)

  OD_extension_init (Thumb, 14 bytes, Stack size 0 bytes, co_sync.o(i.OD_extension_init))
  [Called By]

  - >> CO_SYNC_init

  OD_getIndex (Thumb, 12 bytes, Stack size 0 bytes, co_sync.o(i.OD_getIndex))
  [Called By]

  - >> CO_SYNC_init

  OD_write_1005 (Thumb, 278 bytes, Stack size 56 bytes, co_sync.o(i.OD_write_1005))
  [Stack]

  - Max Depth = 104
  - Call Chain = OD_write_1005 ⇒ OD_writeOriginal ⇒ __aeabi_memcpy
  [Calls]
  - >> CO_CANrxBufferInit
  - >> OD_writeOriginal
  - >> CO_CANtxBufferInit
  - >> __aeabi_memmove
  [Address Reference Count : 1]
  - co_sync.o(i.CO_SYNC_init)

  OD_write_1019 (Thumb, 140 bytes, Stack size 40 bytes, co_sync.o(i.OD_write_1019))
  [Stack]

  - Max Depth = 88
  - Call Chain = OD_write_1019 ⇒ OD_writeOriginal ⇒ __aeabi_memcpy
  [Calls]
  - >> OD_writeOriginal
  - >> CO_CANtxBufferInit
  - >> __aeabi_memmove
  [Address Reference Count : 1]
  - co_sync.o(i.CO_SYNC_init)

  CO_TIME_receive (Thumb, 30 bytes, Stack size 12 bytes, co_time.o(i.CO_TIME_receive))
  [Stack]

  - Max Depth = 12
  - Call Chain = CO_TIME_receive
  [Address Reference Count : 1]
  - co_time.o(i.CO_TIME_init)

  CO_getUint32 (Thumb, 18 bytes, Stack size 16 bytes, co_time.o(i.CO_getUint32))
  [Stack]

  - Max Depth = 24
  - Call Chain = CO_getUint32 ⇒ __aeabi_memmove
  [Calls]
  - >> __aeabi_memmove
  [Called By]
  - >> OD_write_1012
  - >> CO_TIME_process

  OD_write_1012 (Thumb, 152 bytes, Stack size 32 bytes, co_time.o(i.OD_write_1012))
  [Stack]

  - Max Depth = 80
  - Call Chain = OD_write_1012 ⇒ OD_writeOriginal ⇒ __aeabi_memcpy
  [Calls]
  - >> CO_getUint32
  - >> OD_writeOriginal
  [Address Reference Count : 1]
  - co_time.o(i.CO_TIME_init)

  CO_LSSslave_receive (Thumb, 420 bytes, Stack size 44 bytes, co_lssslave.o(i.CO_LSSslave_receive))
  [Stack]

  - Max Depth = 44
  - Call Chain = CO_LSSslave_receive
  [Address Reference Count : 1]
  - co_lssslave.o(i.CO_LSSslave_init)

  prv_read_can_received_msg (Thumb, 144 bytes, Stack size 48 bytes, co_driver_stm32.o(i.prv_read_can_received_msg))
  [Stack]

  - Max Depth = 64
  - Call Chain = prv_read_can_received_msg ⇒ HAL_CAN_GetRxMessage
  [Calls]
  - >> HAL_CAN_GetRxMessage
  [Called By]
  - >> HAL_CAN_RxFifo1MsgPendingCallback
  - >> HAL_CAN_RxFifo0MsgPendingCallback

  prv_send_can_message (Thumb, 86 bytes, Stack size 24 bytes, co_driver_stm32.o(i.prv_send_can_message))
  [Stack]

  - Max Depth = 44
  - Call Chain = prv_send_can_message ⇒ HAL_CAN_AddTxMessage
  [Calls]
  - >> HAL_CAN_GetTxMailboxesFreeLevel
  - >> HAL_CAN_AddTxMessage
  [Called By]
  - >> CO_CANsend
  - >> CO_CANinterrupt_TX

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

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

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

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

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

  - >> _printf_core

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

  - >> _printf_core

  ### Undefined Global Symbols