# Static Call Graph for image .\Output\Syd8811_Peripheral.axf

#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Thu Jun 19 18:59:14 2025

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

### Call chain for Maximum Stack Depth:

ble_evt_callback ⇒ ble_gatt_write ⇒ ota_cmd ⇒ BLSetConnectionUpdate ⇒ SEGGER_RTT_printf ⇒ SEGGER_RTT_vprintf ⇒ _PrintInt ⇒ _PrintUnsigned ⇒ _StoreChar ⇒ SEGGER_RTT_Write ⇒ SEGGER_RTT_WriteNoLock ⇒ _WriteNoCheck

### Mutually Recursive functions

- Timer_Evt_Trigger ⇒ timer_0_start
- cJSON_Delete ⇒ cJSON_Delete
- print_array ⇒ print_value
- print_object ⇒ print_value
- NMI_Handler ⇒ NMI_Handler
- HardFault_Handler ⇒ HardFault_Handler
- SVC_Handler ⇒ SVC_Handler
- PendSV_Handler ⇒ PendSV_Handler
- SysTick_Handler ⇒ SysTick_Handler
- CAP_IRQHandler ⇒ CAP_IRQHandler

  ### Function Pointers

  - CAP_IRQHandler from startup_armcm0.o(.text) referenced from startup_armcm0.o(RESET)
  - GPADC_IRQHandler from gpadc.o(.text) referenced from startup_armcm0.o(RESET)
  - GPIO_IRQHandler from gpio.o(.text) referenced from startup_armcm0.o(RESET)
  - GPIO_callback from isr.o(.text) referenced from app_gpio.o(.text)
  - HID_IRQHandler from startup_armcm0.o(.text) referenced from startup_armcm0.o(RESET)
  - HPWM_IRQHandler from startup_armcm0.o(.text) referenced from startup_armcm0.o(RESET)
  - HTIMER_IRQHandler from startup_armcm0.o(.text) referenced from startup_armcm0.o(RESET)
  - HardFault_Handler from startup_armcm0.o(.text) referenced from startup_armcm0.o(RESET)
  - I2C0_IRQHandler from startup_armcm0.o(.text) referenced from startup_armcm0.o(RESET)
  - I2C1_IRQHandler from startup_armcm0.o(.text) referenced from startup_armcm0.o(RESET)
  - IR_Rx_IRQHandler from startup_armcm0.o(.text) referenced from startup_armcm0.o(RESET)
  - IR_Tx_IRQHandler from startup_armcm0.o(.text) referenced from startup_armcm0.o(RESET)
  - ISO_7816_IRQHandler from startup_armcm0.o(.text) referenced from startup_armcm0.o(RESET)
  - LLC2_IRQHandler from startup_armcm0.o(.text) referenced from startup_armcm0.o(RESET)
  - LLC_IRQHandler from startup_armcm0.o(.text) referenced from startup_armcm0.o(RESET)
  - Lib_EvtCallback from main.o(.text) referenced from main.o(.text)
  - Lib_LLEvtCallback from main.o(.text) referenced from main.o(.text)
  - Lib_MiscCallback from main.o(.text) referenced from main.o(.text)
  - Lib_ProtocolHookCallback from main.o(.text) referenced from main.o(.text)
  - NMI_Handler from startup_armcm0.o(.text) referenced from startup_armcm0.o(RESET)
  - PendSV_Handler from startup_armcm0.o(.text) referenced from startup_armcm0.o(RESET)
  - RTC_IRQHandler from rtc.o(.text) referenced from startup_armcm0.o(RESET)
  - Reset_Handler from startup_armcm0.o(.text) referenced from startup_armcm0.o(RESET)
  - SPIM_IRQHandler from startup_armcm0.o(.text) referenced from startup_armcm0.o(RESET)
  - SVC_Handler from startup_armcm0.o(.text) referenced from startup_armcm0.o(RESET)
  - SW_IRQHandler from startup_armcm0.o(.text) referenced from startup_armcm0.o(RESET)
  - SysTick_Handler from startup_armcm0.o(.text) referenced from startup_armcm0.o(RESET)
  - SystemInit from system_armcm0.o(.text) referenced from startup_armcm0.o(.text)
  - TIMER0_IRQHandler from timer.o(.text) referenced from startup_armcm0.o(RESET)
  - TIMER1_IRQHandler from timer.o(.text) referenced from startup_armcm0.o(RESET)
  - TIMER2_IRQHandler from timer.o(.text) referenced from startup_armcm0.o(RESET)
  - TIMER3_IRQHandler from startup_armcm0.o(.text) referenced from startup_armcm0.o(RESET)
  - TOUCH_IRQHandler from startup_armcm0.o(.text) referenced from startup_armcm0.o(RESET)
  - Timer_2_callback from isr.o(.text) referenced from app_timer.o(.text)
  - Timer_EVT_1S_OTA from timer_handler.o(.text) referenced from timer_handler.o(.text)
  - Timer_EVT_1S_WORK from timer_handler.o(.text) referenced from timer_handler.o(.text)
  - Timer_EVT_20S_BATTERY from timer_handler.o(.text) referenced from timer_handler.o(.text)
  - Timer_EVT_300MS_PCAK from timer_handler.o(.text) referenced from timer_handler.o(.text)
  - Timer_Evt_2s from timer_handler.o(.text) referenced from timer_handler.o(.text)
  - Timer_Evt_Trigger from timer.o(.text) referenced from timer.o(.text)
  - Timer_RTCEVT_Trigger from rtc.o(.text) referenced from rtc.o(.text)
  - UART0_IRQHandler from uart.o(.text) referenced from startup_armcm0.o(RESET)
  - UART1_IRQHandler from uart.o(.text) referenced from startup_armcm0.o(RESET)
  - __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_armcm0.o(.text)
  - _sbackspace from _sgetc.o(.text) referenced 2 times from __0sscanf.o(.text)
  - _scanf_char_input from scanf_char.o(.text) referenced from scanf_char.o(.text)
  - _sgetc from _sgetc.o(.text) referenced 2 times from __0sscanf.o(.text)
  - _sputc from printfa.o(i._sputc) referenced from printfa.o(i.__0sprintf)
  - ble_evt_callback from main.o(.text) referenced from main.o(.text)
  - cal_battery_value from main.o(.text) referenced from main.o(.text)
  - free from mallocr.o(i.__free$realloc) referenced 2 times from cjson.o(.data)
  - free from mallocr.o(i.__free$realloc) referenced from cjson.o(.text)
  - isspace from isspace_c.o(.text) referenced 2 times from scanf_char.o(.text)
  - main from main.o(.text) referenced from entry9a.o(.ARM.Collect$$$$0000000B)
  - malloc from mallocr.o(i.__malloc$realloc) referenced 2 times from cjson.o(.data)
  - malloc from mallocr.o(i.__malloc$realloc) referenced from cjson.o(.text)
  - platform0_delay from lsm6d.o(.text) referenced from lsm6d.o(.text)
  - platform0_read from lsm6d.o(.text) referenced from lsm6d.o(.text)
  - platform0_write from lsm6d.o(.text) referenced from lsm6d.o(.text)
  - platform1_delay from lis2dh.o(.text) referenced from lis2dh.o(.text)
  - platform1_read from lis2dh.o(.text) referenced from lis2dh.o(.text)
  - platform1_write from lis2dh.o(.text) referenced from lis2dh.o(.text)
  - realloc from mallocr.o(i.realloc) referenced 2 times from cjson.o(.data)
  - realloc from mallocr.o(i.realloc) referenced from cjson.o(.text)
  - sw_timer_latency_callback from main.o(.text) referenced from main.o(.text)
  - sw_timer_update_callback from main.o(.text) referenced from main.o(.text)
  - timer_1_callback from main.o(.text) referenced from main.o(.text)

  ### Global Symbols

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

  - startup_armcm0.o(.text)

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

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

  - >> __scatterload

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

  - >> __scatterload

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

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

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

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

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

  uart_0_init (Thumb, 340 bytes, Stack size 8 bytes, uart.o(.text), UNUSED)
  [Calls]

  - >> __NVIC_EnableIRQ

  uart_0_write (Thumb, 40 bytes, Stack size 0 bytes, uart.o(.text), UNUSED)

  uart_0_read (Thumb, 72 bytes, Stack size 12 bytes, uart.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = uart_0_read
  [Called By]
  - >> UART0_IRQHandler

  uart_0_close (Thumb, 26 bytes, Stack size 8 bytes, uart.o(.text), UNUSED)
  [Calls]

  - >> __NVIC_DisableIRQ

  UART0_IRQHandler (Thumb, 106 bytes, Stack size 12 bytes, uart.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = UART0_IRQHandler ⇒ uart_0_read
  [Calls]
  - >> uart_0_read
  [Address Reference Count : 1]
  - startup_armcm0.o(RESET)

  uart_1_init (Thumb, 338 bytes, Stack size 8 bytes, uart.o(.text), UNUSED)
  [Calls]

  - >> __NVIC_EnableIRQ

  uart_1_write (Thumb, 40 bytes, Stack size 0 bytes, uart.o(.text), UNUSED)

  uart_1_read (Thumb, 86 bytes, Stack size 12 bytes, uart.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = uart_1_read
  [Called By]
  - >> uartRx_callback

  uart_1_close (Thumb, 26 bytes, Stack size 8 bytes, uart.o(.text), UNUSED)
  [Calls]

  - >> __NVIC_DisableIRQ

  uartRx_callback (Thumb, 12 bytes, Stack size 12 bytes, uart.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = uartRx_callback ⇒ uart_1_read
  [Calls]
  - >> uart_1_read
  [Called By]
  - >> UART1_IRQHandler

  UART1_IRQHandler (Thumb, 70 bytes, Stack size 4 bytes, uart.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = UART1_IRQHandler ⇒ uartRx_callback ⇒ uart_1_read
  [Calls]
  - >> uartRx_callback
  [Address Reference Count : 1]
  - startup_armcm0.o(RESET)

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

  - >> platform0_delay
  - >> platform1_delay
  - >> main
  - >> ota_manage
  - >> PowerDown

  delay_us (Thumb, 26 bytes, Stack size 0 bytes, delay.o(.text), UNUSED)

  PIN_Set_GPIO (Thumb, 50 bytes, Stack size 8 bytes, gpio.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = PIN_Set_GPIO
  [Called By]
  - >> INT_IO_Config
  - >> Ctr_IO_Config
  - >> State_IO_Config
  - >> LED_IO_Config
  - >> i2c_Init

  PIN_Pullup_Enable (Thumb, 150 bytes, Stack size 28 bytes, gpio.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = PIN_Pullup_Enable
  [Called By]
  - >> INT_IO_Config
  - >> State_IO_Config
  - >> i2c_Init
  - >> gpio_init

  PIN_Pullup_Disable (Thumb, 148 bytes, Stack size 28 bytes, gpio.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = PIN_Pullup_Disable
  [Called By]
  - >> gpio_init

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

  - >> Ctr_IO_Config
  - >> LED_IO_Config
  - >> gpio_init

  GPIO_Set_Input (Thumb, 200 bytes, Stack size 8 bytes, gpio.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = GPIO_Set_Input
  [Called By]
  - >> INT_IO_Config
  - >> State_IO_Config
  - >> gpio_init

  GPIO_Set_Input_DIR (Thumb, 50 bytes, Stack size 0 bytes, gpio.o(.text), UNUSED)

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

  - >> INT_IO_Config
  - >> State_IO_Config

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

  - >> INT_IO_Config

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

  - >> Ctr_IO_Config
  - >> LED_IO_Config
  - >> gpio_init
  - >> LED_State_Indicator
  - >> PowerDown

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

  - >> Lsm6dso_Init
  - >> Ctr_IO_Config
  - >> gpio_init
  - >> LED_State_Indicator
  - >> PowerDown

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

  - >> LED_State_Indicator

  GPIO_Pin_Read (Thumb, 34 bytes, Stack size 0 bytes, gpio.o(.text))
  [Called By]

  - >> Lis2dh_Act_State_Judge
  - >> GPIO_callback
  - >> Charge_State_Judge
  - >> work_timer_event

  io_irq_enable (Thumb, 192 bytes, Stack size 8 bytes, gpio.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = io_irq_enable
  [Called By]
  - >> INT_IO_Config
  - >> State_IO_Config

  io_irq_disable (Thumb, 52 bytes, Stack size 0 bytes, gpio.o(.text))
  [Called By]

  - >> INT_IO_Config

  io_irq_disable_all (Thumb, 76 bytes, Stack size 0 bytes, gpio.o(.text), UNUSED)

  GPIO_IRQHandler (Thumb, 132 bytes, Stack size 8 bytes, gpio.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = GPIO_IRQHandler
  [Address Reference Count : 1]
  - startup_armcm0.o(RESET)

  i2c_Init (Thumb, 132 bytes, Stack size 16 bytes, i2c.o(.text))
  [Stack]

  - Max Depth = 44
  - Call Chain = i2c_Init ⇒ PIN_Pullup_Enable
  [Calls]
  - >> PIN_Pullup_Enable
  - >> PIN_Set_GPIO
  [Called By]
  - >> IIC_IO_Config

  i2c_0_write (Thumb, 232 bytes, Stack size 24 bytes, i2c.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = i2c_0_write
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> platform0_write

  i2c_0_read (Thumb, 234 bytes, Stack size 24 bytes, i2c.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = i2c_0_read
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> platform0_read

  i2c_1_write (Thumb, 232 bytes, Stack size 24 bytes, i2c.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = i2c_1_write
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> platform1_write

  i2c_1_read (Thumb, 258 bytes, Stack size 24 bytes, i2c.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = i2c_1_read
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> platform1_read

  GPADC_channel_sel (Thumb, 48 bytes, Stack size 0 bytes, gpadc.o(.text))
  [Called By]

  - >> GPADC_Init
  - >> get_battery_value

  GPADC_Init (Thumb, 1064 bytes, Stack size 12 bytes, gpadc.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = GPADC_Init ⇒ __ARM_common_switch8
  [Calls]
  - >> GPADC_channel_sel
  - >> __ARM_common_switch8
  [Called By]
  - >> ADC_Config

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

  - >> get_battery_value

  GPADC_stop (Thumb, 142 bytes, Stack size 0 bytes, gpadc.o(.text), UNUSED)

  GPADC_get_value (Thumb, 20 bytes, Stack size 0 bytes, gpadc.o(.text))
  [Called By]

  - >> GPADC_IRQHandler

  GPADC_IRQHandler (Thumb, 78 bytes, Stack size 8 bytes, gpadc.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = GPADC_IRQHandler
  [Calls]
  - >> GPADC_get_value
  [Address Reference Count : 1]
  - startup_armcm0.o(RESET)

  Timer_Evt_2s (Thumb, 14 bytes, Stack size 0 bytes, timer_handler.o(.text))
  [Address Reference Count : 1]

  - timer_handler.o(.text)

  Timer_EVT_1S_OTA (Thumb, 14 bytes, Stack size 0 bytes, timer_handler.o(.text))
  [Address Reference Count : 1]

  - timer_handler.o(.text)

  Timer_EVT_1S_WORK (Thumb, 14 bytes, Stack size 0 bytes, timer_handler.o(.text))
  [Address Reference Count : 1]

  - timer_handler.o(.text)

  Timer_EVT_300MS_PCAK (Thumb, 14 bytes, Stack size 0 bytes, timer_handler.o(.text))
  [Address Reference Count : 1]

  - timer_handler.o(.text)

  Timer_EVT_20S_BATTERY (Thumb, 14 bytes, Stack size 0 bytes, timer_handler.o(.text))
  [Address Reference Count : 1]

  - timer_handler.o(.text)

  Timer_Evt_List (Thumb, 72 bytes, Stack size 8 bytes, timer_handler.o(.text))
  [Stack]

  - Max Depth = 152
  - Call Chain = Timer_Evt_List ⇒ Timer_Evt_Creat ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> Timer_Evt_Creat
  [Called By]
  - >> main

  CmdFwErase (Thumb, 22 bytes, Stack size 8 bytes, ota.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = CmdFwErase ⇒ CodeErase
  [Calls]
  - >> CodeErase
  - >> EvtCommandComplete
  [Called By]
  - >> ota_manage

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

  - >> ota_cmd
  - >> ble_evt_callback

  ota_cmd (Thumb, 1042 bytes, Stack size 24 bytes, ota.o(.text))
  [Stack]

  - Max Depth = 464
  - Call Chain = ota_cmd ⇒ BLSetConnectionUpdate ⇒ SEGGER_RTT_printf ⇒ SEGGER_RTT_vprintf ⇒ _PrintInt ⇒ _PrintUnsigned ⇒ _StoreChar ⇒ SEGGER_RTT_Write ⇒ SEGGER_RTT_WriteNoLock ⇒ _WriteNoCheck
  [Calls]
  - >> WriteFlashData
  - >> Timer_Evt_Start
  - >> SEGGER_RTT_printf
  - >> CodeWrite
  - >> BLSetConnectionUpdate
  - >> ota_variable_clear
  - >> CmdFlashdataUpgradev30
  - >> CmdFwUpgradev20
  - >> Cmd4KSETTINGUpgrade
  - >> CmdFwWriteStart
  - >> Cmd4KSETTINGWrite
  - >> __aeabi_memcpy
  - >> __aeabi_uread4
  [Called By]
  - >> ble_gatt_write

  ota_rsp (Thumb, 42 bytes, Stack size 16 bytes, ota.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = ota_rsp
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> ble_gatt_read

  LED_IO_Config (Thumb, 24 bytes, Stack size 8 bytes, app_gpio.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = LED_IO_Config ⇒ PIN_Set_GPIO
  [Calls]
  - >> GPIO_Pin_Set
  - >> GPIO_Set_Output
  - >> PIN_Set_GPIO
  [Called By]
  - >> BSP_GPIOConfig

  State_IO_Config (Thumb, 42 bytes, Stack size 8 bytes, app_gpio.o(.text))
  [Stack]

  - Max Depth = 36
  - Call Chain = State_IO_Config ⇒ PIN_Pullup_Enable
  [Calls]
  - >> io_irq_enable
  - >> GPIO_Input_Enable
  - >> GPIO_Set_Input
  - >> PIN_Pullup_Enable
  - >> PIN_Set_GPIO
  [Called By]
  - >> BSP_GPIOConfig

  IIC_IO_Config (Thumb, 26 bytes, Stack size 8 bytes, app_gpio.o(.text))
  [Stack]

  - Max Depth = 52
  - Call Chain = IIC_IO_Config ⇒ i2c_Init ⇒ PIN_Pullup_Enable
  [Calls]
  - >> i2c_Init
  [Called By]
  - >> BSP_GPIOConfig

  Ctr_IO_Config (Thumb, 108 bytes, Stack size 8 bytes, app_gpio.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = Ctr_IO_Config ⇒ PIN_Set_GPIO
  [Calls]
  - >> GPIO_Pin_Clear
  - >> GPIO_Pin_Set
  - >> GPIO_Set_Output
  - >> PIN_Set_GPIO
  [Called By]
  - >> BSP_GPIOConfig

  INT_IO_Config (Thumb, 78 bytes, Stack size 8 bytes, app_gpio.o(.text))
  [Stack]

  - Max Depth = 36
  - Call Chain = INT_IO_Config ⇒ PIN_Pullup_Enable
  [Calls]
  - >> io_irq_disable
  - >> io_irq_enable
  - >> GPIO_Input_Disable
  - >> GPIO_Input_Enable
  - >> GPIO_Set_Input
  - >> PIN_Pullup_Enable
  - >> PIN_Set_GPIO
  [Called By]
  - >> BSP_GPIOConfig

  Timer_Config (Thumb, 8 bytes, Stack size 8 bytes, app_timer.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = Timer_Config ⇒ timer_2_disable
  [Calls]
  - >> timer_2_disable
  [Called By]
  - >> BSP_TimerConfig

  Timer2_Enable (Thumb, 12 bytes, Stack size 8 bytes, app_timer.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = Timer2_Enable ⇒ timer_2_enable
  [Calls]
  - >> timer_2_enable
  [Called By]
  - >> main
  - >> ble_evt_callback

  Timer2_Disable (Thumb, 8 bytes, Stack size 8 bytes, app_timer.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = Timer2_Disable ⇒ timer_2_disable
  [Calls]
  - >> timer_2_disable
  [Called By]
  - >> work_timer_event

  ADC_Config (Thumb, 38 bytes, Stack size 8 bytes, app_adc.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = ADC_Config ⇒ GPADC_Init ⇒ __ARM_common_switch8
  [Calls]
  - >> GPADC_Manual_Calibration
  - >> GPADC_Get_Calibration
  - >> GPADC_Init
  [Called By]
  - >> BSP_ADCConfig

  Lis2dh_Init (Thumb, 140 bytes, Stack size 16 bytes, lis2dh.o(.text))
  [Stack]

  - Max Depth = 80
  - Call Chain = Lis2dh_Init ⇒ lis2dh12_operating_mode_set ⇒ lis2dh12_write_reg
  [Calls]
  - >> lis2dh12_pin_int2_config_set
  - >> lis2dh12_operating_mode_set
  - >> lis2dh12_full_scale_set
  - >> lis2dh12_device_id_get
  - >> lis2dh12_data_rate_set
  - >> lis2dh12_block_data_update_set
  - >> lis2dh12_act_timeout_set
  - >> lis2dh12_act_threshold_set
  - >> platform1_delay
  - >> lis2dh12_xyz_axis_enable_set
  [Called By]
  - >> main

  Lis2dh_Act_State_Judge (Thumb, 10 bytes, Stack size 8 bytes, lis2dh.o(.text), UNUSED)
  [Calls]

  - >> GPIO_Pin_Read

  Lsm6dso_Init (Thumb, 150 bytes, Stack size 8 bytes, lsm6d.o(.text))
  [Stack]

  - Max Depth = 128
  - Call Chain = Lsm6dso_Init ⇒ lsm6dso_gy_data_rate_set ⇒ lsm6dso_fsm_data_rate_get ⇒ lsm6dso_mem_bank_set ⇒ lsm6dso_write_reg
  [Calls]
  - >> lsm6dso_reset_set
  - >> lsm6dso_reset_get
  - >> lsm6dso_i3c_disable_set
  - >> lsm6dso_gy_lp1_bandwidth_set
  - >> lsm6dso_gy_full_scale_set
  - >> lsm6dso_gy_filter_lp1_set
  - >> lsm6dso_gy_data_rate_set
  - >> lsm6dso_device_id_get
  - >> lsm6dso_block_data_update_set
  - >> platform0_delay
  - >> GPIO_Pin_Clear
  [Called By]
  - >> main

  Lsm6dso_RPM_Cal (Thumb, 248 bytes, Stack size 48 bytes, lsm6d.o(.text))
  [Stack]

  - Max Depth = 176
  - Call Chain = Lsm6dso_RPM_Cal ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> lsm6dso_gy_flag_data_ready_get
  - >> lsm6dso_angular_rate_raw_get
  - >> __aeabi_i2f
  - >> __aeabi_fsub
  - >> __aeabi_frsub
  - >> __aeabi_fmul
  - >> __aeabi_fdiv
  - >> __aeabi_fadd
  - >> __aeabi_f2iz
  - >> __aeabi_f2d
  - >> __aeabi_dmul
  - >> __aeabi_ddiv
  - >> __aeabi_dadd
  - >> __aeabi_d2f
  - >> Cadence_Stop_Judge
  [Called By]
  - >> Timer_2_callback

  Lsm6dso_Disable (Thumb, 12 bytes, Stack size 8 bytes, lsm6d.o(.text))
  [Stack]

  - Max Depth = 72
  - Call Chain = Lsm6dso_Disable ⇒ lsm6dso_reset_set ⇒ lsm6dso_write_reg
  [Calls]
  - >> lsm6dso_reset_set
  [Called By]
  - >> PowerDown

  lis2dh12_read_reg (Thumb, 38 bytes, Stack size 40 bytes, lis2dh12_reg.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = lis2dh12_read_reg
  [Called By]
  - >> lis2dh12_spi_mode_get
  - >> lis2dh12_spi_mode_set
  - >> lis2dh12_pin_sdo_sa0_mode_get
  - >> lis2dh12_pin_sdo_sa0_mode_set
  - >> lis2dh12_act_timeout_get
  - >> lis2dh12_act_threshold_get
  - >> lis2dh12_double_tap_timeout_get
  - >> lis2dh12_double_tap_timeout_set
  - >> lis2dh12_quiet_dur_get
  - >> lis2dh12_quiet_dur_set
  - >> lis2dh12_shock_dur_get
  - >> lis2dh12_shock_dur_set
  - >> lis2dh12_tap_notification_mode_get
  - >> lis2dh12_tap_notification_mode_set
  - >> lis2dh12_tap_threshold_get
  - >> lis2dh12_tap_threshold_set
  - >> lis2dh12_tap_source_get
  - >> lis2dh12_tap_conf_get
  - >> lis2dh12_fifo_fth_flag_get
  - >> lis2dh12_fifo_ovr_flag_get
  - >> lis2dh12_fifo_empty_flag_get
  - >> lis2dh12_fifo_data_level_get
  - >> lis2dh12_fifo_status_get
  - >> lis2dh12_fifo_mode_get
  - >> lis2dh12_fifo_mode_set
  - >> lis2dh12_fifo_trigger_event_get
  - >> lis2dh12_fifo_trigger_event_set
  - >> lis2dh12_fifo_watermark_get
  - >> lis2dh12_fifo_watermark_set
  - >> lis2dh12_fifo_get
  - >> lis2dh12_fifo_set
  - >> lis2dh12_pin_int2_config_get
  - >> lis2dh12_int1_pin_notification_mode_get
  - >> lis2dh12_int1_pin_notification_mode_set
  - >> lis2dh12_int1_pin_detect_4d_get
  - >> lis2dh12_int1_pin_detect_4d_set
  - >> lis2dh12_int2_pin_notification_mode_get
  - >> lis2dh12_int2_pin_notification_mode_set
  - >> lis2dh12_int2_pin_detect_4d_get
  - >> lis2dh12_int2_pin_detect_4d_set
  - >> lis2dh12_pin_int1_config_get
  - >> lis2dh12_high_pass_int_conf_get
  - >> lis2dh12_high_pass_int_conf_set
  - >> lis2dh12_int2_gen_duration_get
  - >> lis2dh12_int2_gen_duration_set
  - >> lis2dh12_int2_gen_threshold_get
  - >> lis2dh12_int2_gen_threshold_set
  - >> lis2dh12_int2_gen_source_get
  - >> lis2dh12_int2_gen_conf_get
  - >> lis2dh12_int1_gen_duration_get
  - >> lis2dh12_int1_gen_duration_set
  - >> lis2dh12_int1_gen_threshold_get
  - >> lis2dh12_int1_gen_threshold_set
  - >> lis2dh12_int1_gen_source_get
  - >> lis2dh12_int1_gen_conf_get
  - >> lis2dh12_status_get
  - >> lis2dh12_boot_get
  - >> lis2dh12_boot_set
  - >> lis2dh12_data_format_get
  - >> lis2dh12_data_format_set
  - >> lis2dh12_self_test_get
  - >> lis2dh12_self_test_set
  - >> lis2dh12_acceleration_raw_get
  - >> lis2dh12_xl_data_ovr_get
  - >> lis2dh12_xl_data_ready_get
  - >> lis2dh12_filter_reference_get
  - >> lis2dh12_block_data_update_get
  - >> lis2dh12_full_scale_get
  - >> lis2dh12_high_pass_mode_get
  - >> lis2dh12_high_pass_mode_set
  - >> lis2dh12_high_pass_bandwidth_get
  - >> lis2dh12_high_pass_bandwidth_set
  - >> lis2dh12_high_pass_on_outputs_get
  - >> lis2dh12_high_pass_on_outputs_set
  - >> lis2dh12_data_rate_get
  - >> lis2dh12_operating_mode_get
  - >> lis2dh12_temperature_meas_get
  - >> lis2dh12_temperature_meas_set
  - >> lis2dh12_temperature_raw_get
  - >> lis2dh12_temp_data_ovr_get
  - >> lis2dh12_temp_data_ready_get
  - >> lis2dh12_temp_status_reg_get
  - >> lis2dh12_operating_mode_set
  - >> lis2dh12_full_scale_set
  - >> lis2dh12_device_id_get
  - >> lis2dh12_data_rate_set
  - >> lis2dh12_block_data_update_set
  - >> lis2dh12_act_timeout_set
  - >> lis2dh12_act_threshold_set
  - >> lis2dh12_xyz_axis_enable_set

  lis2dh12_write_reg (Thumb, 38 bytes, Stack size 40 bytes, lis2dh12_reg.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = lis2dh12_write_reg
  [Called By]
  - >> lis2dh12_spi_mode_set
  - >> lis2dh12_pin_sdo_sa0_mode_set
  - >> lis2dh12_double_tap_timeout_set
  - >> lis2dh12_quiet_dur_set
  - >> lis2dh12_shock_dur_set
  - >> lis2dh12_tap_notification_mode_set
  - >> lis2dh12_tap_threshold_set
  - >> lis2dh12_tap_conf_set
  - >> lis2dh12_fifo_mode_set
  - >> lis2dh12_fifo_trigger_event_set
  - >> lis2dh12_fifo_watermark_set
  - >> lis2dh12_fifo_set
  - >> lis2dh12_int1_pin_notification_mode_set
  - >> lis2dh12_int1_pin_detect_4d_set
  - >> lis2dh12_int2_pin_notification_mode_set
  - >> lis2dh12_int2_pin_detect_4d_set
  - >> lis2dh12_pin_int1_config_set
  - >> lis2dh12_high_pass_int_conf_set
  - >> lis2dh12_int2_gen_duration_set
  - >> lis2dh12_int2_gen_threshold_set
  - >> lis2dh12_int2_gen_conf_set
  - >> lis2dh12_int1_gen_duration_set
  - >> lis2dh12_int1_gen_threshold_set
  - >> lis2dh12_int1_gen_conf_set
  - >> lis2dh12_boot_set
  - >> lis2dh12_data_format_set
  - >> lis2dh12_self_test_set
  - >> lis2dh12_filter_reference_set
  - >> lis2dh12_high_pass_mode_set
  - >> lis2dh12_high_pass_bandwidth_set
  - >> lis2dh12_high_pass_on_outputs_set
  - >> lis2dh12_temperature_meas_set
  - >> lis2dh12_pin_int2_config_set
  - >> lis2dh12_operating_mode_set
  - >> lis2dh12_full_scale_set
  - >> lis2dh12_data_rate_set
  - >> lis2dh12_block_data_update_set
  - >> lis2dh12_act_timeout_set
  - >> lis2dh12_act_threshold_set
  - >> lis2dh12_xyz_axis_enable_set

  lis2dh12_from_fs2_hr_to_mg (Thumb, 32 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fmul
  - >> __aeabi_fdiv

  lis2dh12_from_fs4_hr_to_mg (Thumb, 32 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fmul
  - >> __aeabi_fdiv

  lis2dh12_from_fs8_hr_to_mg (Thumb, 32 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fmul
  - >> __aeabi_fdiv

  lis2dh12_from_fs16_hr_to_mg (Thumb, 30 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fmul
  - >> __aeabi_fdiv

  lis2dh12_from_lsb_hr_to_celsius (Thumb, 40 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fdiv
  - >> __aeabi_fadd

  lis2dh12_from_fs2_nm_to_mg (Thumb, 32 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fmul
  - >> __aeabi_fdiv

  lis2dh12_from_fs4_nm_to_mg (Thumb, 32 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fmul
  - >> __aeabi_fdiv

  lis2dh12_from_fs8_nm_to_mg (Thumb, 32 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fmul
  - >> __aeabi_fdiv

  lis2dh12_from_fs16_nm_to_mg (Thumb, 30 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fmul
  - >> __aeabi_fdiv

  lis2dh12_from_lsb_nm_to_celsius (Thumb, 40 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fdiv
  - >> __aeabi_fadd

  lis2dh12_from_fs2_lp_to_mg (Thumb, 32 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fmul
  - >> __aeabi_fdiv

  lis2dh12_from_fs4_lp_to_mg (Thumb, 32 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fmul
  - >> __aeabi_fdiv

  lis2dh12_from_fs8_lp_to_mg (Thumb, 32 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fmul
  - >> __aeabi_fdiv

  lis2dh12_from_fs16_lp_to_mg (Thumb, 30 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fmul
  - >> __aeabi_fdiv

  lis2dh12_from_lsb_lp_to_celsius (Thumb, 40 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fmul
  - >> __aeabi_fdiv
  - >> __aeabi_fadd

  lis2dh12_temp_status_reg_get (Thumb, 24 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_temp_data_ready_get (Thumb, 34 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_temp_data_ovr_get (Thumb, 34 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_temperature_raw_get (Thumb, 44 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_temperature_meas_set (Thumb, 60 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_temperature_meas_get (Thumb, 60 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_operating_mode_set (Thumb, 150 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = lis2dh12_operating_mode_set ⇒ lis2dh12_write_reg
  [Calls]
  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg
  [Called By]
  - >> Lis2dh_Init

  lis2dh12_operating_mode_get (Thumb, 82 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_data_rate_set (Thumb, 60 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = lis2dh12_data_rate_set ⇒ lis2dh12_write_reg
  [Calls]
  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg
  [Called By]
  - >> Lis2dh_Init

  lis2dh12_data_rate_get (Thumb, 132 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg
  - >> __ARM_common_switch8

  lis2dh12_high_pass_on_outputs_set (Thumb, 60 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_high_pass_on_outputs_get (Thumb, 34 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_high_pass_bandwidth_set (Thumb, 60 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_high_pass_bandwidth_get (Thumb, 82 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_high_pass_mode_set (Thumb, 60 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_high_pass_mode_get (Thumb, 80 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_full_scale_set (Thumb, 60 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = lis2dh12_full_scale_set ⇒ lis2dh12_write_reg
  [Calls]
  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg
  [Called By]
  - >> Lis2dh_Init

  lis2dh12_full_scale_get (Thumb, 82 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_block_data_update_set (Thumb, 60 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = lis2dh12_block_data_update_set ⇒ lis2dh12_write_reg
  [Calls]
  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg
  [Called By]
  - >> Lis2dh_Init

  lis2dh12_block_data_update_get (Thumb, 32 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_filter_reference_set (Thumb, 24 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg

  lis2dh12_filter_reference_get (Thumb, 24 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_xl_data_ready_get (Thumb, 34 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_xl_data_ovr_get (Thumb, 32 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_acceleration_raw_get (Thumb, 84 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_device_id_get (Thumb, 24 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = lis2dh12_device_id_get ⇒ lis2dh12_read_reg
  [Calls]
  - >> lis2dh12_read_reg
  [Called By]
  - >> Lis2dh_Init

  lis2dh12_self_test_set (Thumb, 60 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_self_test_get (Thumb, 72 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_data_format_set (Thumb, 60 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_data_format_get (Thumb, 62 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_boot_set (Thumb, 60 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_boot_get (Thumb, 32 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_status_get (Thumb, 24 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_int1_gen_conf_set (Thumb, 24 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg

  lis2dh12_int1_gen_conf_get (Thumb, 24 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_int1_gen_source_get (Thumb, 24 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_int1_gen_threshold_set (Thumb, 58 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_int1_gen_threshold_get (Thumb, 34 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_int1_gen_duration_set (Thumb, 58 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_int1_gen_duration_get (Thumb, 34 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_int2_gen_conf_set (Thumb, 24 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg

  lis2dh12_int2_gen_conf_get (Thumb, 24 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_int2_gen_source_get (Thumb, 24 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_int2_gen_threshold_set (Thumb, 58 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_int2_gen_threshold_get (Thumb, 34 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_int2_gen_duration_set (Thumb, 58 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_int2_gen_duration_get (Thumb, 34 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_high_pass_int_conf_set (Thumb, 58 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_high_pass_int_conf_get (Thumb, 104 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg
  - >> __ARM_common_switch8

  lis2dh12_pin_int1_config_set (Thumb, 24 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg

  lis2dh12_pin_int1_config_get (Thumb, 24 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_int2_pin_detect_4d_set (Thumb, 58 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_int2_pin_detect_4d_get (Thumb, 34 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_int2_pin_notification_mode_set (Thumb, 60 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_int2_pin_notification_mode_get (Thumb, 62 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_int1_pin_detect_4d_set (Thumb, 60 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_int1_pin_detect_4d_get (Thumb, 34 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_int1_pin_notification_mode_set (Thumb, 60 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_int1_pin_notification_mode_get (Thumb, 62 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_pin_int2_config_set (Thumb, 24 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = lis2dh12_pin_int2_config_set ⇒ lis2dh12_write_reg
  [Calls]
  - >> lis2dh12_write_reg
  [Called By]
  - >> Lis2dh_Init

  lis2dh12_pin_int2_config_get (Thumb, 24 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_fifo_set (Thumb, 60 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_fifo_get (Thumb, 34 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_fifo_watermark_set (Thumb, 58 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_fifo_watermark_get (Thumb, 34 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_fifo_trigger_event_set (Thumb, 60 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_fifo_trigger_event_get (Thumb, 62 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_fifo_mode_set (Thumb, 60 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_fifo_mode_get (Thumb, 80 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_fifo_status_get (Thumb, 24 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_fifo_data_level_get (Thumb, 34 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_fifo_empty_flag_get (Thumb, 34 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_fifo_ovr_flag_get (Thumb, 34 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_fifo_fth_flag_get (Thumb, 32 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_tap_conf_set (Thumb, 24 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg

  lis2dh12_tap_conf_get (Thumb, 24 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_tap_source_get (Thumb, 24 bytes, Stack size 16 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_tap_threshold_set (Thumb, 58 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_tap_threshold_get (Thumb, 34 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_tap_notification_mode_set (Thumb, 60 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_tap_notification_mode_get (Thumb, 60 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_shock_dur_set (Thumb, 58 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_shock_dur_get (Thumb, 34 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_quiet_dur_set (Thumb, 46 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_quiet_dur_get (Thumb, 30 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_double_tap_timeout_set (Thumb, 46 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_double_tap_timeout_get (Thumb, 30 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_act_threshold_set (Thumb, 58 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = lis2dh12_act_threshold_set ⇒ lis2dh12_write_reg
  [Calls]
  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg
  [Called By]
  - >> Lis2dh_Init

  lis2dh12_act_threshold_get (Thumb, 34 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_act_timeout_set (Thumb, 46 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = lis2dh12_act_timeout_set ⇒ lis2dh12_write_reg
  [Calls]
  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg
  [Called By]
  - >> Lis2dh_Init

  lis2dh12_act_timeout_get (Thumb, 30 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_pin_sdo_sa0_mode_set (Thumb, 60 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_pin_sdo_sa0_mode_get (Thumb, 56 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lis2dh12_spi_mode_set (Thumb, 58 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg

  lis2dh12_spi_mode_get (Thumb, 62 bytes, Stack size 24 bytes, lis2dh12_reg.o(.text), UNUSED)
  [Calls]

  - >> lis2dh12_read_reg

  lsm6dso_read_reg (Thumb, 38 bytes, Stack size 40 bytes, lsm6dso_reg.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = lsm6dso_read_reg
  [Called By]
  - >> lsm6dso_aux_mode_set
  - >> lsm6dso_aux_drdy_on_int2_get
  - >> lsm6dso_aux_drdy_on_int2_set
  - >> lsm6dso_aux_den_mode_get
  - >> lsm6dso_aux_den_mode_set
  - >> lsm6dso_aux_den_polarity_get
  - >> lsm6dso_aux_den_polarity_set
  - >> lsm6dso_aux_xl_self_test_get
  - >> lsm6dso_aux_xl_self_test_set
  - >> lsm6dso_aux_gy_flag_settling_get
  - >> lsm6dso_aux_gy_flag_data_ready_get
  - >> lsm6dso_aux_xl_flag_data_ready_get
  - >> lsm6dso_aux_status_reg_get
  - >> lsm6dso_aux_xl_fs_mode_get
  - >> lsm6dso_aux_xl_fs_mode_set
  - >> lsm6dso_aux_pw_on_ctrl_get
  - >> lsm6dso_aux_pw_on_ctrl_set
  - >> lsm6dso_aux_sdo_ocs_mode_get
  - >> lsm6dso_aux_sdo_ocs_mode_set
  - >> lsm6dso_gy_hp_path_internal_get
  - >> lsm6dso_gy_hp_path_internal_set
  - >> lsm6dso_xl_hp_path_internal_get
  - >> lsm6dso_xl_hp_path_internal_set
  - >> lsm6dso_xl_fast_settling_get
  - >> lsm6dso_xl_fast_settling_set
  - >> lsm6dso_xl_hp_path_on_out_get
  - >> lsm6dso_xl_hp_path_on_out_set
  - >> lsm6dso_xl_lp2_on_6d_get
  - >> lsm6dso_xl_lp2_on_6d_set
  - >> lsm6dso_gy_lp1_bandwidth_get
  - >> lsm6dso_filter_settling_mask_get
  - >> lsm6dso_filter_settling_mask_set
  - >> lsm6dso_gy_filter_lp1_get
  - >> lsm6dso_xl_filter_lp2_get
  - >> lsm6dso_xl_filter_lp2_set
  - >> lsm6dso_gy_self_test_get
  - >> lsm6dso_gy_self_test_set
  - >> lsm6dso_xl_self_test_get
  - >> lsm6dso_xl_self_test_set
  - >> lsm6dso_boot_get
  - >> lsm6dso_boot_set
  - >> lsm6dso_auto_increment_get
  - >> lsm6dso_auto_increment_set
  - >> lsm6dso_data_ready_mode_get
  - >> lsm6dso_data_ready_mode_set
  - >> lsm6dso_ln_pg_read
  - >> lsm6dso_ln_pg_write
  - >> lsm6dso_mem_bank_get
  - >> lsm6dso_odr_cal_reg_get
  - >> lsm6dso_odr_cal_reg_set
  - >> lsm6dso_steps_reset
  - >> lsm6dso_number_of_steps_get
  - >> lsm6dso_fifo_out_raw_get
  - >> lsm6dso_acceleration_raw_get
  - >> lsm6dso_temperature_raw_get
  - >> lsm6dso_rounding_mode_get
  - >> lsm6dso_rounding_mode_set
  - >> lsm6dso_timestamp_raw_get
  - >> lsm6dso_timestamp_get
  - >> lsm6dso_timestamp_set
  - >> lsm6dso_xl_usr_offset_get
  - >> lsm6dso_xl_usr_offset_set
  - >> lsm6dso_xl_usr_offset_z_get
  - >> lsm6dso_xl_usr_offset_y_get
  - >> lsm6dso_xl_usr_offset_x_get
  - >> lsm6dso_temp_flag_data_ready_get
  - >> lsm6dso_xl_flag_data_ready_get
  - >> lsm6dso_status_reg_get
  - >> lsm6dso_gy_power_mode_get
  - >> lsm6dso_gy_power_mode_set
  - >> lsm6dso_xl_power_mode_get
  - >> lsm6dso_xl_power_mode_set
  - >> lsm6dso_xl_offset_weight_get
  - >> lsm6dso_xl_offset_weight_set
  - >> lsm6dso_block_data_update_get
  - >> lsm6dso_gy_data_rate_get
  - >> lsm6dso_gy_full_scale_get
  - >> lsm6dso_xl_data_rate_get
  - >> lsm6dso_xl_data_rate_set
  - >> lsm6dso_fsm_enable_get
  - >> lsm6dso_fsm_data_rate_get
  - >> lsm6dso_xl_full_scale_get
  - >> lsm6dso_xl_full_scale_set
  - >> lsm6dso_reset_set
  - >> lsm6dso_reset_get
  - >> lsm6dso_i3c_disable_set
  - >> lsm6dso_gy_lp1_bandwidth_set
  - >> lsm6dso_gy_full_scale_set
  - >> lsm6dso_gy_flag_data_ready_get
  - >> lsm6dso_gy_filter_lp1_set
  - >> lsm6dso_gy_data_rate_set
  - >> lsm6dso_device_id_get
  - >> lsm6dso_block_data_update_set
  - >> lsm6dso_angular_rate_raw_get
  - >> lsm6dso_embedded_sens_off
  - >> lsm6dso_embedded_sens_get
  - >> lsm6dso_embedded_sens_set
  - >> lsm6dso_data_get
  - >> lsm6dso_mode_get
  - >> lsm6dso_mode_set
  - >> lsm6dso_all_sources_get
  - >> lsm6dso_pin_int2_route_set
  - >> lsm6dso_pin_int1_route_get
  - >> lsm6dso_pin_int1_route_set
  - >> lsm6dso_pin_int2_route_get
  - >> lsm6dso_interrupt_mode_get
  - >> lsm6dso_interrupt_mode_set
  - >> lsm6dso_pin_conf_get
  - >> lsm6dso_pin_conf_set
  - >> lsm6dso_status_get
  - >> lsm6dso_bus_mode_get
  - >> lsm6dso_bus_mode_set
  - >> lsm6dso_init_set
  - >> lsm6dso_id_get
  - >> lsm6dso_sh_status_get
  - >> lsm6dso_sh_slv_cfg_read
  - >> lsm6dso_sh_data_rate_get
  - >> lsm6dso_sh_data_rate_set
  - >> lsm6dso_sh_reset_get
  - >> lsm6dso_sh_reset_set
  - >> lsm6dso_sh_write_mode_get
  - >> lsm6dso_sh_write_mode_set
  - >> lsm6dso_sh_syncro_mode_get
  - >> lsm6dso_sh_syncro_mode_set
  - >> lsm6dso_sh_pass_through_get
  - >> lsm6dso_sh_pass_through_set
  - >> lsm6dso_sh_pin_mode_get
  - >> lsm6dso_sh_pin_mode_set
  - >> lsm6dso_sh_master_get
  - >> lsm6dso_sh_master_set
  - >> lsm6dso_sh_slave_connected_get
  - >> lsm6dso_sh_slave_connected_set
  - >> lsm6dso_sh_read_data_raw_get
  - >> lsm6dso_fsm_init_get
  - >> lsm6dso_fsm_init_set
  - >> lsm6dso_fsm_data_rate_set
  - >> lsm6dso_fsm_out_get
  - >> lsm6dso_long_clr_get
  - >> lsm6dso_long_clr_set
  - >> lsm6dso_long_cnt_get
  - >> lsm6dso_long_cnt_flag_data_ready_get
  - >> lsm6dso_tilt_flag_data_ready_get
  - >> lsm6dso_motion_flag_data_ready_get
  - >> lsm6dso_pedo_step_detect_get
  - >> lsm6dso_den_mark_axis_z_get
  - >> lsm6dso_den_mark_axis_z_set
  - >> lsm6dso_den_mark_axis_y_get
  - >> lsm6dso_den_mark_axis_y_set
  - >> lsm6dso_den_mark_axis_x_get
  - >> lsm6dso_den_mark_axis_x_set
  - >> lsm6dso_den_enable_get
  - >> lsm6dso_den_enable_set
  - >> lsm6dso_den_polarity_get
  - >> lsm6dso_den_polarity_set
  - >> lsm6dso_den_mode_get
  - >> lsm6dso_den_mode_set
  - >> lsm6dso_sh_batch_slave_get
  - >> lsm6dso_sh_batch_slave_set
  - >> lsm6dso_fifo_pedo_batch_get
  - >> lsm6dso_fifo_pedo_batch_set
  - >> lsm6dso_fifo_sensor_tag_get
  - >> lsm6dso_fifo_wtm_flag_get
  - >> lsm6dso_fifo_ovr_flag_get
  - >> lsm6dso_fifo_full_flag_get
  - >> lsm6dso_fifo_status_get
  - >> lsm6dso_fifo_data_level_get
  - >> lsm6dso_batch_counter_threshold_get
  - >> lsm6dso_batch_counter_threshold_set
  - >> lsm6dso_rst_batch_counter_get
  - >> lsm6dso_rst_batch_counter_set
  - >> lsm6dso_fifo_cnt_event_batch_get
  - >> lsm6dso_fifo_cnt_event_batch_set
  - >> lsm6dso_fifo_timestamp_decimation_get
  - >> lsm6dso_fifo_timestamp_decimation_set
  - >> lsm6dso_fifo_temp_batch_get
  - >> lsm6dso_fifo_temp_batch_set
  - >> lsm6dso_fifo_mode_get
  - >> lsm6dso_fifo_mode_set
  - >> lsm6dso_fifo_gy_batch_get
  - >> lsm6dso_fifo_gy_batch_set
  - >> lsm6dso_fifo_xl_batch_get
  - >> lsm6dso_fifo_xl_batch_set
  - >> lsm6dso_fifo_stop_on_wtm_get
  - >> lsm6dso_fifo_stop_on_wtm_set
  - >> lsm6dso_compression_algo_real_time_get
  - >> lsm6dso_compression_algo_real_time_set
  - >> lsm6dso_fifo_virtual_sens_odr_chg_get
  - >> lsm6dso_fifo_virtual_sens_odr_chg_set
  - >> lsm6dso_compression_algo_get
  - >> lsm6dso_compression_algo_set
  - >> lsm6dso_compression_algo_init_get
  - >> lsm6dso_compression_algo_init_set
  - >> lsm6dso_fifo_watermark_get
  - >> lsm6dso_fifo_watermark_set
  - >> lsm6dso_ff_dur_get
  - >> lsm6dso_ff_dur_set
  - >> lsm6dso_ff_threshold_get
  - >> lsm6dso_ff_threshold_set
  - >> lsm6dso_4d_mode_get
  - >> lsm6dso_4d_mode_set
  - >> lsm6dso_6d_threshold_get
  - >> lsm6dso_6d_threshold_set
  - >> lsm6dso_tap_mode_get
  - >> lsm6dso_tap_mode_set
  - >> lsm6dso_tap_dur_get
  - >> lsm6dso_tap_dur_set
  - >> lsm6dso_tap_quiet_get
  - >> lsm6dso_tap_quiet_set
  - >> lsm6dso_tap_shock_get
  - >> lsm6dso_tap_shock_set
  - >> lsm6dso_tap_threshold_z_get
  - >> lsm6dso_tap_threshold_z_set
  - >> lsm6dso_tap_threshold_y_get
  - >> lsm6dso_tap_threshold_y_set
  - >> lsm6dso_tap_axis_priority_get
  - >> lsm6dso_tap_axis_priority_set
  - >> lsm6dso_tap_threshold_x_get
  - >> lsm6dso_tap_threshold_x_set
  - >> lsm6dso_tap_detection_on_x_get
  - >> lsm6dso_tap_detection_on_x_set
  - >> lsm6dso_tap_detection_on_y_get
  - >> lsm6dso_tap_detection_on_y_set
  - >> lsm6dso_tap_detection_on_z_get
  - >> lsm6dso_tap_detection_on_z_set
  - >> lsm6dso_act_sleep_dur_get
  - >> lsm6dso_act_sleep_dur_set
  - >> lsm6dso_act_mode_get
  - >> lsm6dso_act_mode_set
  - >> lsm6dso_act_pin_notification_get
  - >> lsm6dso_act_pin_notification_set
  - >> lsm6dso_gy_sleep_mode_get
  - >> lsm6dso_gy_sleep_mode_set
  - >> lsm6dso_wkup_dur_get
  - >> lsm6dso_wkup_dur_set
  - >> lsm6dso_xl_usr_offset_on_wkup_get
  - >> lsm6dso_xl_usr_offset_on_wkup_set
  - >> lsm6dso_wkup_threshold_get
  - >> lsm6dso_wkup_threshold_set
  - >> lsm6dso_wkup_ths_weight_get
  - >> lsm6dso_wkup_ths_weight_set
  - >> lsm6dso_int_notification_get
  - >> lsm6dso_int_notification_set
  - >> lsm6dso_all_on_int1_get
  - >> lsm6dso_all_on_int1_set
  - >> lsm6dso_pin_polarity_get
  - >> lsm6dso_pin_polarity_set
  - >> lsm6dso_pin_mode_get
  - >> lsm6dso_pin_mode_set
  - >> lsm6dso_int1_mode_get
  - >> lsm6dso_int1_mode_set
  - >> lsm6dso_i3c_disable_get
  - >> lsm6dso_i2c_interface_get
  - >> lsm6dso_i2c_interface_set
  - >> lsm6dso_spi_mode_get
  - >> lsm6dso_spi_mode_set
  - >> lsm6dso_sdo_sa0_mode_get
  - >> lsm6dso_sdo_sa0_mode_set
  - >> lsm6dso_aux_xl_full_scale_get
  - >> lsm6dso_aux_xl_full_scale_set
  - >> lsm6dso_aux_xl_bandwidth_get
  - >> lsm6dso_aux_xl_bandwidth_set
  - >> lsm6dso_aux_gy_self_test_get
  - >> lsm6dso_aux_gy_self_test_set
  - >> lsm6dso_aux_gy_clamp_get
  - >> lsm6dso_aux_gy_clamp_set
  - >> lsm6dso_aux_gy_hp_bandwidth_get
  - >> lsm6dso_aux_gy_hp_bandwidth_set
  - >> lsm6dso_aux_gy_lp1_bandwidth_get
  - >> lsm6dso_aux_gy_lp1_bandwidth_set
  - >> lsm6dso_aux_spi_mode_get
  - >> lsm6dso_aux_spi_mode_set
  - >> lsm6dso_aux_gy_full_scale_get
  - >> lsm6dso_aux_gy_full_scale_set
  - >> lsm6dso_aux_mode_get

  lsm6dso_write_reg (Thumb, 38 bytes, Stack size 40 bytes, lsm6dso_reg.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = lsm6dso_write_reg
  [Called By]
  - >> lsm6dso_aux_mode_set
  - >> lsm6dso_aux_drdy_on_int2_set
  - >> lsm6dso_aux_den_mode_set
  - >> lsm6dso_aux_den_polarity_set
  - >> lsm6dso_aux_xl_self_test_set
  - >> lsm6dso_aux_xl_fs_mode_set
  - >> lsm6dso_aux_pw_on_ctrl_set
  - >> lsm6dso_aux_sdo_ocs_mode_set
  - >> lsm6dso_gy_hp_path_internal_set
  - >> lsm6dso_xl_hp_path_internal_set
  - >> lsm6dso_xl_fast_settling_set
  - >> lsm6dso_xl_hp_path_on_out_set
  - >> lsm6dso_xl_lp2_on_6d_set
  - >> lsm6dso_filter_settling_mask_set
  - >> lsm6dso_xl_filter_lp2_set
  - >> lsm6dso_gy_self_test_set
  - >> lsm6dso_xl_self_test_set
  - >> lsm6dso_boot_set
  - >> lsm6dso_auto_increment_set
  - >> lsm6dso_data_ready_mode_set
  - >> lsm6dso_ln_pg_read
  - >> lsm6dso_ln_pg_write
  - >> lsm6dso_odr_cal_reg_set
  - >> lsm6dso_steps_reset
  - >> lsm6dso_rounding_mode_set
  - >> lsm6dso_timestamp_set
  - >> lsm6dso_timestamp_rst
  - >> lsm6dso_xl_usr_offset_set
  - >> lsm6dso_xl_usr_offset_z_set
  - >> lsm6dso_xl_usr_offset_y_set
  - >> lsm6dso_xl_usr_offset_x_set
  - >> lsm6dso_gy_power_mode_set
  - >> lsm6dso_xl_power_mode_set
  - >> lsm6dso_xl_offset_weight_set
  - >> lsm6dso_xl_data_rate_set
  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_xl_full_scale_set
  - >> lsm6dso_reset_set
  - >> lsm6dso_i3c_disable_set
  - >> lsm6dso_gy_lp1_bandwidth_set
  - >> lsm6dso_gy_full_scale_set
  - >> lsm6dso_gy_filter_lp1_set
  - >> lsm6dso_gy_data_rate_set
  - >> lsm6dso_block_data_update_set
  - >> lsm6dso_embedded_sens_off
  - >> lsm6dso_embedded_sens_set
  - >> lsm6dso_mode_set
  - >> lsm6dso_pin_int2_route_set
  - >> lsm6dso_pin_int1_route_set
  - >> lsm6dso_interrupt_mode_set
  - >> lsm6dso_pin_conf_set
  - >> lsm6dso_bus_mode_set
  - >> lsm6dso_init_set
  - >> lsm6dso_sh_slv_cfg_read
  - >> lsm6dso_sh_cfg_write
  - >> lsm6dso_sh_data_rate_set
  - >> lsm6dso_sh_reset_set
  - >> lsm6dso_sh_write_mode_set
  - >> lsm6dso_sh_syncro_mode_set
  - >> lsm6dso_sh_pass_through_set
  - >> lsm6dso_sh_pin_mode_set
  - >> lsm6dso_sh_master_set
  - >> lsm6dso_sh_slave_connected_set
  - >> lsm6dso_fsm_init_set
  - >> lsm6dso_fsm_data_rate_set
  - >> lsm6dso_long_clr_set
  - >> lsm6dso_long_cnt_set
  - >> lsm6dso_fsm_enable_set
  - >> lsm6dso_den_mark_axis_z_set
  - >> lsm6dso_den_mark_axis_y_set
  - >> lsm6dso_den_mark_axis_x_set
  - >> lsm6dso_den_enable_set
  - >> lsm6dso_den_polarity_set
  - >> lsm6dso_den_mode_set
  - >> lsm6dso_sh_batch_slave_set
  - >> lsm6dso_fifo_pedo_batch_set
  - >> lsm6dso_batch_counter_threshold_set
  - >> lsm6dso_rst_batch_counter_set
  - >> lsm6dso_fifo_cnt_event_batch_set
  - >> lsm6dso_fifo_timestamp_decimation_set
  - >> lsm6dso_fifo_temp_batch_set
  - >> lsm6dso_fifo_mode_set
  - >> lsm6dso_fifo_gy_batch_set
  - >> lsm6dso_fifo_xl_batch_set
  - >> lsm6dso_fifo_stop_on_wtm_set
  - >> lsm6dso_compression_algo_real_time_set
  - >> lsm6dso_fifo_virtual_sens_odr_chg_set
  - >> lsm6dso_compression_algo_set
  - >> lsm6dso_compression_algo_init_set
  - >> lsm6dso_fifo_watermark_set
  - >> lsm6dso_ff_dur_set
  - >> lsm6dso_ff_threshold_set
  - >> lsm6dso_4d_mode_set
  - >> lsm6dso_6d_threshold_set
  - >> lsm6dso_tap_mode_set
  - >> lsm6dso_tap_dur_set
  - >> lsm6dso_tap_quiet_set
  - >> lsm6dso_tap_shock_set
  - >> lsm6dso_tap_threshold_z_set
  - >> lsm6dso_tap_threshold_y_set
  - >> lsm6dso_tap_axis_priority_set
  - >> lsm6dso_tap_threshold_x_set
  - >> lsm6dso_tap_detection_on_x_set
  - >> lsm6dso_tap_detection_on_y_set
  - >> lsm6dso_tap_detection_on_z_set
  - >> lsm6dso_act_sleep_dur_set
  - >> lsm6dso_act_mode_set
  - >> lsm6dso_act_pin_notification_set
  - >> lsm6dso_gy_sleep_mode_set
  - >> lsm6dso_wkup_dur_set
  - >> lsm6dso_xl_usr_offset_on_wkup_set
  - >> lsm6dso_wkup_threshold_set
  - >> lsm6dso_wkup_ths_weight_set
  - >> lsm6dso_int_notification_set
  - >> lsm6dso_all_on_int1_set
  - >> lsm6dso_pin_polarity_set
  - >> lsm6dso_pin_mode_set
  - >> lsm6dso_int1_mode_set
  - >> lsm6dso_i2c_interface_set
  - >> lsm6dso_spi_mode_set
  - >> lsm6dso_sdo_sa0_mode_set
  - >> lsm6dso_aux_xl_full_scale_set
  - >> lsm6dso_aux_xl_bandwidth_set
  - >> lsm6dso_aux_gy_self_test_set
  - >> lsm6dso_aux_gy_clamp_set
  - >> lsm6dso_aux_gy_hp_bandwidth_set
  - >> lsm6dso_aux_gy_lp1_bandwidth_set
  - >> lsm6dso_aux_spi_mode_set
  - >> lsm6dso_aux_gy_full_scale_set

  lsm6dso_from_fs2_to_mg (Thumb, 20 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fmul
  [Called By]
  - >> lsm6dso_data_get

  lsm6dso_from_fs4_to_mg (Thumb, 20 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fmul
  [Called By]
  - >> lsm6dso_data_get

  lsm6dso_from_fs8_to_mg (Thumb, 20 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fmul
  [Called By]
  - >> lsm6dso_data_get

  lsm6dso_from_fs16_to_mg (Thumb, 20 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fmul
  [Called By]
  - >> lsm6dso_data_get

  lsm6dso_from_fs125_to_mdps (Thumb, 20 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fmul
  [Called By]
  - >> lsm6dso_data_get

  lsm6dso_from_fs500_to_mdps (Thumb, 20 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fmul
  [Called By]
  - >> lsm6dso_data_get

  lsm6dso_from_fs250_to_mdps (Thumb, 20 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fmul
  [Called By]
  - >> lsm6dso_data_get

  lsm6dso_from_fs1000_to_mdps (Thumb, 20 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fmul
  [Called By]
  - >> lsm6dso_data_get

  lsm6dso_from_fs2000_to_mdps (Thumb, 20 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fmul
  [Called By]
  - >> lsm6dso_data_get

  lsm6dso_from_lsb_to_celsius (Thumb, 30 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fdiv
  - >> __aeabi_fadd
  [Called By]
  - >> lsm6dso_data_get

  lsm6dso_from_lsb_to_nsec (Thumb, 20 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f
  - >> __aeabi_fmul

  lsm6dso_xl_full_scale_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_xl_full_scale_get (Thumb, 82 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_mem_bank_set (Thumb, 46 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = lsm6dso_mem_bank_set ⇒ lsm6dso_write_reg
  [Calls]
  - >> lsm6dso_write_reg
  [Called By]
  - >> lsm6dso_ln_pg_read
  - >> lsm6dso_ln_pg_write
  - >> lsm6dso_steps_reset
  - >> lsm6dso_number_of_steps_get
  - >> lsm6dso_fsm_enable_get
  - >> lsm6dso_fsm_data_rate_get
  - >> lsm6dso_embedded_sens_off
  - >> lsm6dso_embedded_sens_get
  - >> lsm6dso_embedded_sens_set
  - >> lsm6dso_mode_get
  - >> lsm6dso_pin_int2_route_set
  - >> lsm6dso_pin_int1_route_get
  - >> lsm6dso_pin_int1_route_set
  - >> lsm6dso_pin_int2_route_get
  - >> lsm6dso_interrupt_mode_get
  - >> lsm6dso_interrupt_mode_set
  - >> lsm6dso_init_set
  - >> lsm6dso_sh_slv_cfg_read
  - >> lsm6dso_sh_cfg_write
  - >> lsm6dso_sh_data_rate_get
  - >> lsm6dso_sh_data_rate_set
  - >> lsm6dso_sh_reset_get
  - >> lsm6dso_sh_reset_set
  - >> lsm6dso_sh_write_mode_get
  - >> lsm6dso_sh_write_mode_set
  - >> lsm6dso_sh_syncro_mode_get
  - >> lsm6dso_sh_syncro_mode_set
  - >> lsm6dso_sh_pass_through_get
  - >> lsm6dso_sh_pass_through_set
  - >> lsm6dso_sh_pin_mode_get
  - >> lsm6dso_sh_pin_mode_set
  - >> lsm6dso_sh_master_get
  - >> lsm6dso_sh_master_set
  - >> lsm6dso_sh_slave_connected_get
  - >> lsm6dso_sh_slave_connected_set
  - >> lsm6dso_sh_read_data_raw_get
  - >> lsm6dso_fsm_init_get
  - >> lsm6dso_fsm_init_set
  - >> lsm6dso_fsm_data_rate_set
  - >> lsm6dso_fsm_out_get
  - >> lsm6dso_long_clr_get
  - >> lsm6dso_long_clr_set
  - >> lsm6dso_long_cnt_get
  - >> lsm6dso_long_cnt_set
  - >> lsm6dso_fsm_enable_set
  - >> lsm6dso_long_cnt_flag_data_ready_get
  - >> lsm6dso_tilt_flag_data_ready_get
  - >> lsm6dso_motion_flag_data_ready_get
  - >> lsm6dso_pedo_step_detect_get
  - >> lsm6dso_sh_batch_slave_get
  - >> lsm6dso_sh_batch_slave_set
  - >> lsm6dso_fifo_pedo_batch_get
  - >> lsm6dso_fifo_pedo_batch_set
  - >> lsm6dso_compression_algo_init_get
  - >> lsm6dso_compression_algo_init_set
  - >> lsm6dso_int_notification_get
  - >> lsm6dso_int_notification_set

  lsm6dso_fsm_data_rate_get (Thumb, 118 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = lsm6dso_fsm_data_rate_get ⇒ lsm6dso_mem_bank_set ⇒ lsm6dso_write_reg
  [Calls]
  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg
  [Called By]
  - >> lsm6dso_xl_data_rate_set
  - >> lsm6dso_gy_data_rate_set

  lsm6dso_fsm_enable_get (Thumb, 44 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text))
  [Stack]

  - Max Depth = 80
  - Call Chain = lsm6dso_fsm_enable_get ⇒ lsm6dso_mem_bank_set ⇒ lsm6dso_write_reg
  [Calls]
  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg
  [Called By]
  - >> lsm6dso_xl_data_rate_set
  - >> lsm6dso_gy_data_rate_set

  lsm6dso_xl_data_rate_set (Thumb, 374 bytes, Stack size 32 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_fsm_enable_get
  - >> lsm6dso_fsm_data_rate_get
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_xl_data_rate_get (Thumb, 174 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg
  - >> __ARM_common_switch8

  lsm6dso_gy_full_scale_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = lsm6dso_gy_full_scale_set ⇒ lsm6dso_write_reg
  [Calls]
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg
  [Called By]
  - >> Lsm6dso_Init

  lsm6dso_gy_full_scale_get (Thumb, 86 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg
  - >> __ARM_common_switch8

  lsm6dso_gy_data_rate_set (Thumb, 374 bytes, Stack size 32 bytes, lsm6dso_reg.o(.text))
  [Stack]

  - Max Depth = 120
  - Call Chain = lsm6dso_gy_data_rate_set ⇒ lsm6dso_fsm_data_rate_get ⇒ lsm6dso_mem_bank_set ⇒ lsm6dso_write_reg
  [Calls]
  - >> lsm6dso_fsm_enable_get
  - >> lsm6dso_fsm_data_rate_get
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg
  [Called By]
  - >> Lsm6dso_Init

  lsm6dso_gy_data_rate_get (Thumb, 124 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg
  - >> __ARM_common_switch8

  lsm6dso_block_data_update_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = lsm6dso_block_data_update_set ⇒ lsm6dso_write_reg
  [Calls]
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg
  [Called By]
  - >> Lsm6dso_Init

  lsm6dso_block_data_update_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_xl_offset_weight_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_xl_offset_weight_get (Thumb, 62 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_xl_power_mode_set (Thumb, 132 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_xl_power_mode_get (Thumb, 98 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_gy_power_mode_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_gy_power_mode_get (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_status_reg_get (Thumb, 24 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_xl_flag_data_ready_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_gy_flag_data_ready_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = lsm6dso_gy_flag_data_ready_get ⇒ lsm6dso_read_reg
  [Calls]
  - >> lsm6dso_read_reg
  [Called By]
  - >> Lsm6dso_RPM_Cal

  lsm6dso_temp_flag_data_ready_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_xl_usr_offset_x_set (Thumb, 24 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg

  lsm6dso_xl_usr_offset_x_get (Thumb, 24 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_xl_usr_offset_y_set (Thumb, 24 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg

  lsm6dso_xl_usr_offset_y_get (Thumb, 24 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_xl_usr_offset_z_set (Thumb, 24 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg

  lsm6dso_xl_usr_offset_z_get (Thumb, 24 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_xl_usr_offset_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_xl_usr_offset_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_timestamp_rst (Thumb, 22 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg

  lsm6dso_timestamp_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_timestamp_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_timestamp_raw_get (Thumb, 66 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_rounding_mode_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_rounding_mode_get (Thumb, 82 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_temperature_raw_get (Thumb, 44 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_angular_rate_raw_get (Thumb, 84 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = lsm6dso_angular_rate_raw_get ⇒ lsm6dso_read_reg
  [Calls]
  - >> lsm6dso_read_reg
  [Called By]
  - >> Lsm6dso_RPM_Cal

  lsm6dso_acceleration_raw_get (Thumb, 84 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_fifo_out_raw_get (Thumb, 24 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_number_of_steps_get (Thumb, 78 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg

  lsm6dso_steps_reset (Thumb, 84 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_odr_cal_reg_set (Thumb, 46 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_odr_cal_reg_get (Thumb, 30 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_mem_bank_get (Thumb, 70 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_ln_pg_write (Thumb, 398 bytes, Stack size 56 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg
  [Called By]
  - >> lsm6dso_ln_pg_write_byte
  - >> lsm6dso_mag_soft_iron_set
  - >> lsm6dso_mag_offset_set

  lsm6dso_ln_pg_write_byte (Thumb, 22 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_write
  [Called By]
  - >> lsm6dso_fsm_start_address_set
  - >> lsm6dso_fsm_number_of_programs_set
  - >> lsm6dso_long_cnt_int_value_set
  - >> lsm6dso_mag_x_orient_set
  - >> lsm6dso_mag_y_orient_set
  - >> lsm6dso_mag_z_orient_set
  - >> lsm6dso_mag_sensitivity_set
  - >> lsm6dso_pedo_int_mode_set
  - >> lsm6dso_pedo_steps_period_set
  - >> lsm6dso_pedo_debounce_steps_set
  - >> lsm6dso_pedo_sens_set

  lsm6dso_ln_pg_read (Thumb, 398 bytes, Stack size 56 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg
  [Called By]
  - >> lsm6dso_ln_pg_read_byte
  - >> lsm6dso_mag_soft_iron_get
  - >> lsm6dso_mag_offset_get

  lsm6dso_ln_pg_read_byte (Thumb, 22 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_read
  [Called By]
  - >> lsm6dso_fsm_start_address_get
  - >> lsm6dso_fsm_number_of_programs_get
  - >> lsm6dso_long_cnt_int_value_get
  - >> lsm6dso_mag_x_orient_get
  - >> lsm6dso_mag_x_orient_set
  - >> lsm6dso_mag_y_orient_get
  - >> lsm6dso_mag_y_orient_set
  - >> lsm6dso_mag_z_orient_get
  - >> lsm6dso_mag_z_orient_set
  - >> lsm6dso_mag_sensitivity_get
  - >> lsm6dso_pedo_int_mode_get
  - >> lsm6dso_pedo_int_mode_set
  - >> lsm6dso_pedo_steps_period_get
  - >> lsm6dso_pedo_debounce_steps_get
  - >> lsm6dso_pedo_sens_get
  - >> lsm6dso_pedo_sens_set

  lsm6dso_data_ready_mode_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_data_ready_mode_get (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_device_id_get (Thumb, 24 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = lsm6dso_device_id_get ⇒ lsm6dso_read_reg
  [Calls]
  - >> lsm6dso_read_reg
  [Called By]
  - >> Lsm6dso_Init

  lsm6dso_reset_set (Thumb, 58 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = lsm6dso_reset_set ⇒ lsm6dso_write_reg
  [Calls]
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg
  [Called By]
  - >> Lsm6dso_Disable
  - >> Lsm6dso_Init

  lsm6dso_reset_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = lsm6dso_reset_get ⇒ lsm6dso_read_reg
  [Calls]
  - >> lsm6dso_read_reg
  [Called By]
  - >> Lsm6dso_Init

  lsm6dso_auto_increment_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_auto_increment_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_boot_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_boot_get (Thumb, 32 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_xl_self_test_set (Thumb, 58 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_xl_self_test_get (Thumb, 72 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_gy_self_test_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_gy_self_test_get (Thumb, 72 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_xl_filter_lp2_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_xl_filter_lp2_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_gy_filter_lp1_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = lsm6dso_gy_filter_lp1_set ⇒ lsm6dso_write_reg
  [Calls]
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg
  [Called By]
  - >> Lsm6dso_Init

  lsm6dso_gy_filter_lp1_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_filter_settling_mask_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_filter_settling_mask_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_gy_lp1_bandwidth_set (Thumb, 58 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = lsm6dso_gy_lp1_bandwidth_set ⇒ lsm6dso_write_reg
  [Calls]
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg
  [Called By]
  - >> Lsm6dso_Init

  lsm6dso_gy_lp1_bandwidth_get (Thumb, 104 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg
  - >> __ARM_common_switch8

  lsm6dso_xl_lp2_on_6d_set (Thumb, 58 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_xl_lp2_on_6d_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_xl_hp_path_on_out_set (Thumb, 108 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_xl_hp_path_on_out_get (Thumb, 282 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg
  - >> __ARM_common_switch8

  lsm6dso_xl_fast_settling_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_xl_fast_settling_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_xl_hp_path_internal_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_xl_hp_path_internal_get (Thumb, 62 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_gy_hp_path_internal_set (Thumb, 84 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_gy_hp_path_internal_get (Thumb, 108 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_aux_sdo_ocs_mode_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_aux_sdo_ocs_mode_get (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_aux_pw_on_ctrl_set (Thumb, 76 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_aux_pw_on_ctrl_get (Thumb, 58 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_aux_xl_fs_mode_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_aux_xl_fs_mode_get (Thumb, 62 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_aux_status_reg_get (Thumb, 24 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_aux_xl_flag_data_ready_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_aux_gy_flag_data_ready_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_aux_gy_flag_settling_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_aux_xl_self_test_set (Thumb, 58 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_aux_xl_self_test_get (Thumb, 72 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_aux_den_polarity_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_aux_den_polarity_get (Thumb, 62 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_aux_den_mode_set (Thumb, 116 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_aux_den_mode_get (Thumb, 114 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_aux_drdy_on_int2_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_aux_drdy_on_int2_get (Thumb, 32 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_aux_mode_set (Thumb, 82 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_aux_mode_get (Thumb, 82 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_aux_gy_full_scale_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_aux_gy_full_scale_get (Thumb, 86 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg
  - >> __ARM_common_switch8

  lsm6dso_aux_spi_mode_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_aux_spi_mode_get (Thumb, 62 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_aux_gy_lp1_bandwidth_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_aux_gy_lp1_bandwidth_get (Thumb, 82 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_aux_gy_hp_bandwidth_set (Thumb, 78 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_aux_gy_hp_bandwidth_get (Thumb, 104 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_aux_gy_clamp_set (Thumb, 58 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_aux_gy_clamp_get (Thumb, 62 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_aux_gy_self_test_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_aux_gy_self_test_get (Thumb, 72 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_aux_xl_bandwidth_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_aux_xl_bandwidth_get (Thumb, 104 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg
  - >> __ARM_common_switch8

  lsm6dso_aux_xl_full_scale_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_aux_xl_full_scale_get (Thumb, 80 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_sdo_sa0_mode_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_sdo_sa0_mode_get (Thumb, 62 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_spi_mode_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_spi_mode_get (Thumb, 62 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_i2c_interface_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_i2c_interface_get (Thumb, 62 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_i3c_disable_set (Thumb, 116 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = lsm6dso_i3c_disable_set ⇒ lsm6dso_write_reg
  [Calls]
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg
  [Called By]
  - >> Lsm6dso_Init

  lsm6dso_i3c_disable_get (Thumb, 124 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_int1_mode_set (Thumb, 58 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_int1_mode_get (Thumb, 62 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_pin_mode_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_pin_mode_get (Thumb, 62 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_pin_polarity_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_pin_polarity_get (Thumb, 62 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_all_on_int1_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_all_on_int1_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_int_notification_set (Thumb, 160 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_int_notification_get (Thumb, 154 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg

  lsm6dso_wkup_ths_weight_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_wkup_ths_weight_get (Thumb, 62 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_wkup_threshold_set (Thumb, 58 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_wkup_threshold_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_xl_usr_offset_on_wkup_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_xl_usr_offset_on_wkup_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_wkup_dur_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_wkup_dur_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_gy_sleep_mode_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_gy_sleep_mode_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_act_pin_notification_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_act_pin_notification_get (Thumb, 62 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_act_mode_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_act_mode_get (Thumb, 82 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_act_sleep_dur_set (Thumb, 58 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_act_sleep_dur_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_tap_detection_on_z_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_tap_detection_on_z_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_tap_detection_on_y_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_tap_detection_on_y_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_tap_detection_on_x_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_tap_detection_on_x_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_tap_threshold_x_set (Thumb, 58 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_tap_threshold_x_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_tap_axis_priority_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_tap_axis_priority_get (Thumb, 90 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg
  - >> __ARM_common_switch8

  lsm6dso_tap_threshold_y_set (Thumb, 58 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_tap_threshold_y_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_tap_threshold_z_set (Thumb, 58 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_tap_threshold_z_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_tap_shock_set (Thumb, 58 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_tap_shock_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_tap_quiet_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_tap_quiet_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_tap_dur_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_tap_dur_get (Thumb, 32 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_tap_mode_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_tap_mode_get (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_6d_threshold_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_6d_threshold_get (Thumb, 82 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_4d_mode_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_4d_mode_get (Thumb, 32 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_ff_threshold_set (Thumb, 58 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_ff_threshold_get (Thumb, 104 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg
  - >> __ARM_common_switch8

  lsm6dso_ff_dur_set (Thumb, 116 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_ff_dur_get (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_fifo_watermark_set (Thumb, 84 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_fifo_watermark_get (Thumb, 58 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_compression_algo_init_set (Thumb, 84 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_compression_algo_init_get (Thumb, 54 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg

  lsm6dso_compression_algo_set (Thumb, 84 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_compression_algo_get (Thumb, 96 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg
  - >> __ARM_common_switch8

  lsm6dso_fifo_virtual_sens_odr_chg_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_fifo_virtual_sens_odr_chg_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_compression_algo_real_time_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_compression_algo_real_time_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_fifo_stop_on_wtm_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_fifo_stop_on_wtm_get (Thumb, 32 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_fifo_xl_batch_set (Thumb, 58 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_fifo_xl_batch_get (Thumb, 132 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg
  - >> __ARM_common_switch8

  lsm6dso_fifo_gy_batch_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_fifo_gy_batch_get (Thumb, 130 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg
  - >> __ARM_common_switch8

  lsm6dso_fifo_mode_set (Thumb, 58 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_fifo_mode_get (Thumb, 92 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg
  - >> __ARM_common_switch8

  lsm6dso_fifo_temp_batch_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_fifo_temp_batch_get (Thumb, 82 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_fifo_timestamp_decimation_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_fifo_timestamp_decimation_get (Thumb, 80 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_fifo_cnt_event_batch_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_fifo_cnt_event_batch_get (Thumb, 62 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_rst_batch_counter_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_rst_batch_counter_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_batch_counter_threshold_set (Thumb, 86 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_batch_counter_threshold_get (Thumb, 58 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_fifo_data_level_get (Thumb, 50 bytes, Stack size 32 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_fifo_status_get (Thumb, 36 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_fifo_full_flag_get (Thumb, 40 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_fifo_ovr_flag_get (Thumb, 40 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_fifo_wtm_flag_get (Thumb, 38 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_fifo_sensor_tag_get (Thumb, 204 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg
  - >> __ARM_common_switch8

  lsm6dso_fifo_pedo_batch_set (Thumb, 84 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_fifo_pedo_batch_get (Thumb, 62 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg

  lsm6dso_sh_batch_slave_set (Thumb, 98 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_sh_batch_slave_get (Thumb, 70 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg

  lsm6dso_den_mode_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_den_mode_get (Thumb, 84 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg
  - >> __ARM_common_switch8

  lsm6dso_den_polarity_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_den_polarity_get (Thumb, 62 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_den_enable_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_den_enable_get (Thumb, 72 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_den_mark_axis_x_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_den_mark_axis_x_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_den_mark_axis_y_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_den_mark_axis_y_get (Thumb, 34 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_den_mark_axis_z_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_den_mark_axis_z_get (Thumb, 32 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_pedo_sens_set (Thumb, 84 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_read_byte
  - >> lsm6dso_ln_pg_write_byte

  lsm6dso_pedo_sens_get (Thumb, 82 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_read_byte

  lsm6dso_pedo_step_detect_get (Thumb, 62 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg

  lsm6dso_pedo_debounce_steps_set (Thumb, 24 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_write_byte

  lsm6dso_pedo_debounce_steps_get (Thumb, 24 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_read_byte

  lsm6dso_pedo_steps_period_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_write_byte

  lsm6dso_pedo_steps_period_get (Thumb, 58 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_read_byte

  lsm6dso_pedo_int_mode_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_read_byte
  - >> lsm6dso_ln_pg_write_byte

  lsm6dso_pedo_int_mode_get (Thumb, 62 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_read_byte

  lsm6dso_motion_flag_data_ready_get (Thumb, 62 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg

  lsm6dso_tilt_flag_data_ready_get (Thumb, 62 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg

  lsm6dso_mag_sensitivity_set (Thumb, 56 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_write_byte

  lsm6dso_mag_sensitivity_get (Thumb, 54 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_read_byte

  lsm6dso_mag_offset_set (Thumb, 92 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_write

  lsm6dso_mag_offset_get (Thumb, 84 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_read

  lsm6dso_mag_soft_iron_set (Thumb, 164 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_write

  lsm6dso_mag_soft_iron_get (Thumb, 144 bytes, Stack size 32 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_read

  lsm6dso_mag_z_orient_set (Thumb, 54 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_read_byte
  - >> lsm6dso_ln_pg_write_byte

  lsm6dso_mag_z_orient_get (Thumb, 88 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_read_byte
  - >> __ARM_common_switch8

  lsm6dso_mag_y_orient_set (Thumb, 56 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_read_byte
  - >> lsm6dso_ln_pg_write_byte

  lsm6dso_mag_y_orient_get (Thumb, 88 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_read_byte
  - >> __ARM_common_switch8

  lsm6dso_mag_x_orient_set (Thumb, 54 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_read_byte
  - >> lsm6dso_ln_pg_write_byte

  lsm6dso_mag_x_orient_get (Thumb, 88 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_read_byte
  - >> __ARM_common_switch8

  lsm6dso_long_cnt_flag_data_ready_get (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg

  lsm6dso_fsm_enable_set (Thumb, 66 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg

  lsm6dso_long_cnt_set (Thumb, 64 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg

  lsm6dso_long_cnt_get (Thumb, 62 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg

  lsm6dso_long_clr_set (Thumb, 82 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_long_clr_get (Thumb, 108 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg

  lsm6dso_fsm_out_get (Thumb, 44 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg

  lsm6dso_fsm_data_rate_set (Thumb, 118 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_fsm_init_set (Thumb, 90 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_fsm_init_get (Thumb, 62 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg

  lsm6dso_long_cnt_int_value_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_write_byte

  lsm6dso_long_cnt_int_value_get (Thumb, 58 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_read_byte

  lsm6dso_fsm_number_of_programs_set (Thumb, 22 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_write_byte

  lsm6dso_fsm_number_of_programs_get (Thumb, 24 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_read_byte

  lsm6dso_fsm_start_address_set (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_write_byte

  lsm6dso_fsm_start_address_get (Thumb, 58 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_ln_pg_read_byte

  lsm6dso_sh_read_data_raw_get (Thumb, 46 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg

  lsm6dso_sh_slave_connected_set (Thumb, 82 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_sh_slave_connected_get (Thumb, 110 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg

  lsm6dso_sh_master_set (Thumb, 84 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_sh_master_get (Thumb, 62 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg

  lsm6dso_sh_pin_mode_set (Thumb, 84 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_sh_pin_mode_get (Thumb, 90 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg

  lsm6dso_sh_pass_through_set (Thumb, 84 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_sh_pass_through_get (Thumb, 62 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg

  lsm6dso_sh_syncro_mode_set (Thumb, 84 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_sh_syncro_mode_get (Thumb, 86 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg

  lsm6dso_sh_write_mode_set (Thumb, 84 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_sh_write_mode_get (Thumb, 90 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg

  lsm6dso_sh_reset_set (Thumb, 108 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_sh_reset_get (Thumb, 60 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg

  lsm6dso_sh_data_rate_set (Thumb, 84 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_sh_data_rate_get (Thumb, 108 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg

  lsm6dso_sh_cfg_write (Thumb, 124 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg

  lsm6dso_sh_slv_cfg_read (Thumb, 184 bytes, Stack size 32 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_sh_status_get (Thumb, 24 bytes, Stack size 16 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_id_get (Thumb, 50 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_init_set (Thumb, 354 bytes, Stack size 32 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_bus_mode_set (Thumb, 402 bytes, Stack size 56 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_bus_mode_get (Thumb, 288 bytes, Stack size 40 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_status_get (Thumb, 268 bytes, Stack size 32 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_pin_conf_set (Thumb, 214 bytes, Stack size 32 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_pin_conf_get (Thumb, 162 bytes, Stack size 32 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_read_reg

  lsm6dso_interrupt_mode_set (Thumb, 244 bytes, Stack size 32 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_interrupt_mode_get (Thumb, 170 bytes, Stack size 32 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg

  lsm6dso_pin_int2_route_get (Thumb, 1060 bytes, Stack size 48 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg
  [Called By]
  - >> lsm6dso_pin_int1_route_set

  lsm6dso_pin_int1_route_set (Thumb, 1798 bytes, Stack size 72 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg
  - >> lsm6dso_pin_int2_route_get

  lsm6dso_pin_int1_route_get (Thumb, 1064 bytes, Stack size 48 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg
  [Called By]
  - >> lsm6dso_pin_int2_route_set

  lsm6dso_pin_int2_route_set (Thumb, 1686 bytes, Stack size 72 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg
  - >> lsm6dso_pin_int1_route_get

  lsm6dso_all_sources_get (Thumb, 1482 bytes, Stack size 72 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> bytecpy
  - >> lsm6dso_read_reg

  lsm6dso_mode_set (Thumb, 1552 bytes, Stack size 104 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> bytecpy
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg
  - >> __ARM_common_switch8

  lsm6dso_mode_get (Thumb, 1514 bytes, Stack size 88 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> bytecpy
  - >> lsm6dso_read_reg
  - >> __ARM_common_switch8

  lsm6dso_data_get (Thumb, 844 bytes, Stack size 56 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_from_lsb_to_celsius
  - >> lsm6dso_from_fs2000_to_mdps
  - >> lsm6dso_from_fs1000_to_mdps
  - >> lsm6dso_from_fs250_to_mdps
  - >> lsm6dso_from_fs500_to_mdps
  - >> lsm6dso_from_fs125_to_mdps
  - >> lsm6dso_from_fs16_to_mg
  - >> lsm6dso_from_fs8_to_mg
  - >> lsm6dso_from_fs4_to_mg
  - >> lsm6dso_from_fs2_to_mg
  - >> lsm6dso_read_reg
  - >> __ARM_common_switch8

  lsm6dso_embedded_sens_set (Thumb, 236 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  lsm6dso_embedded_sens_get (Thumb, 200 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_read_reg

  lsm6dso_embedded_sens_off (Thumb, 160 bytes, Stack size 24 bytes, lsm6dso_reg.o(.text), UNUSED)
  [Calls]

  - >> lsm6dso_mem_bank_set
  - >> lsm6dso_write_reg
  - >> lsm6dso_read_reg

  cJSON_GetErrorPtr (Thumb, 12 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)

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

  - >> cJSON_GetStringValue

  cJSON_GetStringValue (Thumb, 20 bytes, Stack size 4 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_IsString

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

  - >> cJSON_GetNumberValue

  cJSON_GetNumberValue (Thumb, 24 bytes, Stack size 4 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_IsNumber

  cJSON_Version (Thumb, 22 bytes, Stack size 8 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> __2sprintf

  cJSON_InitHooks (Thumb, 88 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)

  cJSON_Delete (Thumb, 102 bytes, Stack size 16 bytes, cjson.o(.text))
  [Stack]

  - Max Depth = 16 + In Cycle
  - Call Chain = cJSON_Delete ⇒ cJSON_Delete (Cycle)
  [Calls]
  - >> cJSON_Delete
  [Called By]
  - >> JsProtocol_Report
  - >> cJSON_Duplicate
  - >> cJSON_CreateStringArray
  - >> cJSON_CreateDoubleArray
  - >> cJSON_CreateFloatArray
  - >> cJSON_CreateIntArray
  - >> cJSON_ReplaceItemViaPointer
  - >> cJSON_DeleteItemFromObjectCaseSensitive
  - >> cJSON_DeleteItemFromObject
  - >> cJSON_DeleteItemFromArray
  - >> cJSON_AddArrayToObject
  - >> cJSON_AddObjectToObject
  - >> cJSON_AddRawToObject
  - >> cJSON_CreateRaw
  - >> cJSON_AddStringToObject
  - >> cJSON_CreateString
  - >> cJSON_AddNumberToObject
  - >> cJSON_AddBoolToObject
  - >> cJSON_AddFalseToObject
  - >> cJSON_AddTrueToObject
  - >> cJSON_AddNullToObject
  - >> cJSON_ParseWithLengthOpts
  - >> cJSON_Delete
  - >> parse_array
  - >> parse_object

  cJSON_SetNumberHelper (Thumb, 70 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_d2iz
  - >> __aeabi_cdrcmple
  - >> __aeabi_cdcmple

  cJSON_free (Thumb, 14 bytes, Stack size 8 bytes, cjson.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = cJSON_free
  [Called By]
  - >> JsProtocol_Report
  - >> cJSON_SetValuestring
  - >> replace_item_in_object

  cJSON_SetValuestring (Thumb, 96 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_free
  - >> cJSON_strdup
  - >> strcpy
  - >> strlen

  cJSON_ParseWithLengthOpts (Thumb, 218 bytes, Stack size 72 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_Delete
  - >> parse_value
  - >> skip_utf8_bom
  - >> buffer_skip_whitespace
  - >> cJSON_New_Item
  - >> __aeabi_memclr4
  [Called By]
  - >> cJSON_ParseWithLength
  - >> cJSON_ParseWithOpts

  cJSON_ParseWithOpts (Thumb, 36 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_ParseWithLengthOpts
  - >> strlen
  [Called By]
  - >> cJSON_Parse

  cJSON_Parse (Thumb, 16 bytes, Stack size 8 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_ParseWithOpts

  cJSON_ParseWithLength (Thumb, 20 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_ParseWithLengthOpts

  cJSON_Print (Thumb, 16 bytes, Stack size 8 bytes, cjson.o(.text))
  [Stack]

  - Max Depth = 440
  - Call Chain = cJSON_Print ⇒ print ⇒ print_value ⇒ print_number ⇒ __0sscanf ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real
  [Calls]
  - >> print
  [Called By]
  - >> JsProtocol_Report

  cJSON_PrintUnformatted (Thumb, 16 bytes, Stack size 8 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> print

  cJSON_PrintBuffered (Thumb, 92 bytes, Stack size 56 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> print_value
  - >> __aeabi_memclr4

  cJSON_PrintPreallocated (Thumb, 66 bytes, Stack size 56 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> print_value
  - >> __aeabi_memclr4

  cJSON_GetArraySize (Thumb, 28 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)

  cJSON_GetArrayItem (Thumb, 24 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> get_array_item

  cJSON_GetObjectItem (Thumb, 18 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> get_object_item
  [Called By]
  - >> cJSON_DetachItemFromObject
  - >> cJSON_HasObjectItem

  cJSON_GetObjectItemCaseSensitive (Thumb, 18 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> get_object_item
  [Called By]
  - >> cJSON_DetachItemFromObjectCaseSensitive

  cJSON_HasObjectItem (Thumb, 26 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_GetObjectItem

  cJSON_AddItemToArray (Thumb, 16 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> add_item_to_array

  cJSON_AddItemToObject (Thumb, 26 bytes, Stack size 24 bytes, cjson.o(.text))
  [Stack]

  - Max Depth = 80
  - Call Chain = cJSON_AddItemToObject ⇒ add_item_to_object ⇒ cJSON_strdup
  [Calls]
  - >> add_item_to_object
  [Called By]
  - >> JsProtocol_Report

  cJSON_AddItemToObjectCS (Thumb, 26 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> add_item_to_object

  cJSON_AddItemReferenceToArray (Thumb, 32 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> add_item_to_array
  - >> create_reference

  cJSON_AddItemReferenceToObject (Thumb, 48 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> add_item_to_object
  - >> create_reference

  cJSON_CreateNull (Thumb, 22 bytes, Stack size 8 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_New_Item
  [Called By]
  - >> cJSON_AddNullToObject

  cJSON_AddNullToObject (Thumb, 46 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_CreateNull
  - >> cJSON_Delete
  - >> add_item_to_object

  cJSON_CreateTrue (Thumb, 22 bytes, Stack size 8 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_New_Item
  [Called By]
  - >> cJSON_AddTrueToObject

  cJSON_AddTrueToObject (Thumb, 46 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_CreateTrue
  - >> cJSON_Delete
  - >> add_item_to_object

  cJSON_CreateFalse (Thumb, 22 bytes, Stack size 8 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_New_Item
  [Called By]
  - >> cJSON_AddFalseToObject

  cJSON_AddFalseToObject (Thumb, 46 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_CreateFalse
  - >> cJSON_Delete
  - >> add_item_to_object

  cJSON_CreateBool (Thumb, 32 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_New_Item
  [Called By]
  - >> cJSON_AddBoolToObject

  cJSON_AddBoolToObject (Thumb, 50 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_CreateBool
  - >> cJSON_Delete
  - >> add_item_to_object

  cJSON_CreateNumber (Thumb, 82 bytes, Stack size 16 bytes, cjson.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = cJSON_CreateNumber ⇒ __aeabi_d2iz ⇒ __aeabi_llsr
  [Calls]
  - >> __aeabi_d2iz
  - >> __aeabi_cdrcmple
  - >> __aeabi_cdcmple
  - >> cJSON_New_Item
  [Called By]
  - >> cJSON_CreateDoubleArray
  - >> cJSON_CreateFloatArray
  - >> cJSON_CreateIntArray
  - >> cJSON_AddNumberToObject

  cJSON_AddNumberToObject (Thumb, 54 bytes, Stack size 32 bytes, cjson.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = cJSON_AddNumberToObject ⇒ add_item_to_object ⇒ cJSON_strdup
  [Calls]
  - >> cJSON_CreateNumber
  - >> cJSON_Delete
  - >> add_item_to_object
  [Called By]
  - >> JsProtocol_Report

  cJSON_CreateString (Thumb, 50 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_Delete
  - >> cJSON_New_Item
  - >> cJSON_strdup
  [Called By]
  - >> cJSON_CreateStringArray
  - >> cJSON_AddStringToObject

  cJSON_AddStringToObject (Thumb, 50 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_CreateString
  - >> cJSON_Delete
  - >> add_item_to_object

  cJSON_CreateRaw (Thumb, 50 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_Delete
  - >> cJSON_New_Item
  - >> cJSON_strdup
  [Called By]
  - >> cJSON_AddRawToObject

  cJSON_AddRawToObject (Thumb, 50 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_CreateRaw
  - >> cJSON_Delete
  - >> add_item_to_object

  cJSON_CreateObject (Thumb, 22 bytes, Stack size 8 bytes, cjson.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = cJSON_CreateObject ⇒ cJSON_New_Item
  [Calls]
  - >> cJSON_New_Item
  [Called By]
  - >> JsProtocol_Report
  - >> cJSON_AddObjectToObject

  cJSON_AddObjectToObject (Thumb, 46 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_CreateObject
  - >> cJSON_Delete
  - >> add_item_to_object

  cJSON_CreateArray (Thumb, 22 bytes, Stack size 8 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_New_Item
  [Called By]
  - >> cJSON_CreateStringArray
  - >> cJSON_CreateDoubleArray
  - >> cJSON_CreateFloatArray
  - >> cJSON_CreateIntArray
  - >> cJSON_AddArrayToObject

  cJSON_AddArrayToObject (Thumb, 46 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_CreateArray
  - >> cJSON_Delete
  - >> add_item_to_object

  cJSON_DetachItemViaPointer (Thumb, 72 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)
  [Called By]

  - >> cJSON_DetachItemFromObjectCaseSensitive
  - >> cJSON_DetachItemFromObject
  - >> cJSON_DetachItemFromArray

  cJSON_DetachItemFromArray (Thumb, 34 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_DetachItemViaPointer
  - >> get_array_item
  [Called By]
  - >> cJSON_DeleteItemFromArray

  cJSON_DeleteItemFromArray (Thumb, 42 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_DetachItemFromArray
  - >> cJSON_Delete

  cJSON_DetachItemFromObject (Thumb, 26 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_DetachItemViaPointer
  - >> cJSON_GetObjectItem
  [Called By]
  - >> cJSON_DeleteItemFromObject

  cJSON_DetachItemFromObjectCaseSensitive (Thumb, 26 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_DetachItemViaPointer
  - >> cJSON_GetObjectItemCaseSensitive
  [Called By]
  - >> cJSON_DeleteItemFromObjectCaseSensitive

  cJSON_DeleteItemFromObject (Thumb, 22 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_DetachItemFromObject
  - >> cJSON_Delete

  cJSON_DeleteItemFromObjectCaseSensitive (Thumb, 22 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_DetachItemFromObjectCaseSensitive
  - >> cJSON_Delete

  cJSON_InsertItemInArray (Thumb, 68 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> add_item_to_array
  - >> get_array_item

  cJSON_ReplaceItemViaPointer (Thumb, 108 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_Delete
  [Called By]
  - >> cJSON_ReplaceItemInArray
  - >> replace_item_in_object

  cJSON_ReplaceItemInArray (Thumb, 38 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_ReplaceItemViaPointer
  - >> get_array_item

  cJSON_ReplaceItemInObject (Thumb, 22 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> replace_item_in_object

  cJSON_ReplaceItemInObjectCaseSensitive (Thumb, 22 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> replace_item_in_object

  cJSON_CreateStringReference (Thumb, 34 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cast_away_const
  - >> cJSON_New_Item

  cJSON_CreateObjectReference (Thumb, 34 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cast_away_const
  - >> cJSON_New_Item

  cJSON_CreateArrayReference (Thumb, 34 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cast_away_const
  - >> cJSON_New_Item

  cJSON_CreateIntArray (Thumb, 122 bytes, Stack size 40 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2d
  - >> cJSON_CreateArray
  - >> cJSON_CreateNumber
  - >> cJSON_Delete
  - >> suffix_object

  cJSON_CreateFloatArray (Thumb, 122 bytes, Stack size 40 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_f2d
  - >> cJSON_CreateArray
  - >> cJSON_CreateNumber
  - >> cJSON_Delete
  - >> suffix_object

  cJSON_CreateDoubleArray (Thumb, 118 bytes, Stack size 32 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_CreateArray
  - >> cJSON_CreateNumber
  - >> cJSON_Delete
  - >> suffix_object

  cJSON_CreateStringArray (Thumb, 112 bytes, Stack size 32 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_CreateArray
  - >> cJSON_CreateString
  - >> cJSON_Delete
  - >> suffix_object

  cJSON_Duplicate (Thumb, 212 bytes, Stack size 32 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_Duplicate
  - >> cJSON_Delete
  - >> cJSON_New_Item
  - >> cJSON_strdup
  [Called By]
  - >> cJSON_Duplicate

  cJSON_Minify (Thumb, 156 bytes, Stack size 16 bytes, cjson.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = cJSON_Minify
  [Calls]
  - >> minify_string
  - >> skip_multiline_comment
  - >> skip_oneline_comment
  [Called By]
  - >> JsProtocol_Report

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

  - >> cJSON_Compare

  cJSON_IsFalse (Thumb, 20 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)

  cJSON_IsTrue (Thumb, 22 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)

  cJSON_IsBool (Thumb, 26 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)

  cJSON_IsNull (Thumb, 22 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)

  cJSON_IsArray (Thumb, 22 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)

  cJSON_IsObject (Thumb, 22 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)

  cJSON_IsRaw (Thumb, 22 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)

  cJSON_Compare (Thumb, 394 bytes, Stack size 40 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_Compare
  - >> cJSON_IsInvalid
  - >> get_object_item
  - >> compare_double
  - >> strcmp
  [Called By]
  - >> cJSON_Compare

  cJSON_malloc (Thumb, 14 bytes, Stack size 8 bytes, cjson.o(.text), UNUSED)

  crc16_compute (Thumb, 64 bytes, Stack size 16 bytes, crc16.o(.text), UNUSED)

  crc16_modbus (Thumb, 52 bytes, Stack size 12 bytes, crc16.o(.text), UNUSED)

  crc16_ccitt (Thumb, 40 bytes, Stack size 12 bytes, crc16.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = crc16_ccitt
  [Called By]
  - >> JsProtocol_Report

  stringLength (Thumb, 18 bytes, Stack size 0 bytes, common.o(.text))
  [Called By]

  - >> JsProtocol_Report

  str_cmp (Thumb, 34 bytes, Stack size 12 bytes, common.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = str_cmp
  [Called By]
  - >> ble_gatt_write

  BLE_SendRPPData (Thumb, 56 bytes, Stack size 24 bytes, main.o(.text))
  [Stack]

  - Max Depth = 200
  - Call Chain = BLE_SendRPPData ⇒ GATTDataSend ⇒ smart_latency_start ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> GATTDataSend
  [Called By]
  - >> send_to_master

  Charge_State_Judge (Thumb, 48 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = Charge_State_Judge
  [Calls]
  - >> GPIO_Pin_Read
  [Called By]
  - >> main

  BLE_NotifyBatteryLevel (Thumb, 38 bytes, Stack size 16 bytes, main.o(.text))
  [Stack]

  - Max Depth = 192
  - Call Chain = BLE_NotifyBatteryLevel ⇒ GATTDataSend ⇒ smart_latency_start ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> GATTDataSend
  [Called By]
  - >> get_battery_value

  syd_nosleep (Thumb, 56 bytes, Stack size 0 bytes, main.o(.text))
  [Called By]

  - >> get_battery_value
  - >> cal_battery_value

  cal_battery_value (Thumb, 484 bytes, Stack size 48 bytes, main.o(.text))
  [Stack]

  - Max Depth = 464
  - Call Chain = cal_battery_value ⇒ SEGGER_RTT_printf ⇒ SEGGER_RTT_vprintf ⇒ _PrintInt ⇒ _PrintUnsigned ⇒ _StoreChar ⇒ SEGGER_RTT_Write ⇒ SEGGER_RTT_WriteNoLock ⇒ _WriteNoCheck
  [Calls]
  - >> __aeabi_fsub
  - >> __aeabi_fmul
  - >> __aeabi_fdiv
  - >> __aeabi_f2d
  - >> __aeabi_dmul
  - >> __aeabi_ddiv
  - >> __aeabi_dadd
  - >> __aeabi_d2f
  - >> SEGGER_RTT_printf
  - >> __aeabi_ui2f
  - >> syd_nosleep
  - >> __aeabi_d2iz
  [Address Reference Count : 1]
  - main.o(.text)

  get_battery_value (Thumb, 38 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 200
  - Call Chain = get_battery_value ⇒ BLE_NotifyBatteryLevel ⇒ GATTDataSend ⇒ smart_latency_start ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> GPADC_start
  - >> GPADC_channel_sel
  - >> syd_nosleep
  - >> BLE_NotifyBatteryLevel
  [Called By]
  - >> main
  - >> battery_timer_event

  LED_State_Indicator (Thumb, 72 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = LED_State_Indicator
  [Calls]
  - >> GPIO_Pin_Turn
  - >> GPIO_Pin_Clear
  - >> GPIO_Pin_Set
  [Called By]
  - >> timer_event_handler

  BLSetConnectionUpdate (Thumb, 92 bytes, Stack size 24 bytes, main.o(.text))
  [Stack]

  - Max Depth = 440
  - Call Chain = BLSetConnectionUpdate ⇒ SEGGER_RTT_printf ⇒ SEGGER_RTT_vprintf ⇒ _PrintInt ⇒ _PrintUnsigned ⇒ _StoreChar ⇒ SEGGER_RTT_Write ⇒ SEGGER_RTT_WriteNoLock ⇒ _WriteNoCheck
  [Calls]
  - >> SEGGER_RTT_printf
  - >> gap_s_smart_update_latency
  [Called By]
  - >> ota_cmd
  - >> Connection_latency

  Connection_latency (Thumb, 40 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 448
  - Call Chain = Connection_latency ⇒ BLSetConnectionUpdate ⇒ SEGGER_RTT_printf ⇒ SEGGER_RTT_vprintf ⇒ _PrintInt ⇒ _PrintUnsigned ⇒ _StoreChar ⇒ SEGGER_RTT_Write ⇒ SEGGER_RTT_WriteNoLock ⇒ _WriteNoCheck
  [Calls]
  - >> BLSetConnectionUpdate
  - >> Timer_Evt_Stop
  [Called By]
  - >> timer_event_handler

  ota_manage (Thumb, 164 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 424
  - Call Chain = ota_manage ⇒ SEGGER_RTT_printf ⇒ SEGGER_RTT_vprintf ⇒ _PrintInt ⇒ _PrintUnsigned ⇒ _StoreChar ⇒ SEGGER_RTT_Write ⇒ SEGGER_RTT_WriteNoLock ⇒ _WriteNoCheck
  [Calls]
  - >> SEGGER_RTT_printf
  - >> CmdFwErase
  - >> delay_ms
  - >> Timer_Evt_Stop
  - >> SystemReset
  [Called By]
  - >> timer_event_handler

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

  - Max Depth = 60
  - Call Chain = gpio_init ⇒ PIN_Pullup_Disable
  [Calls]
  - >> GPIO_Pin_Clear
  - >> GPIO_Pin_Set
  - >> GPIO_Set_Input
  - >> GPIO_Set_Output
  - >> PIN_Pullup_Disable
  - >> PIN_Pullup_Enable
  - >> BBRFWrite
  [Called By]
  - >> main

  nvic_priority (Thumb, 188 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = nvic_priority ⇒ __NVIC_SetPriority
  [Calls]
  - >> __NVIC_SetPriority
  [Called By]
  - >> main

  BLE_SendCMDData (Thumb, 40 bytes, Stack size 24 bytes, main.o(.text))
  [Stack]

  - Max Depth = 200
  - Call Chain = BLE_SendCMDData ⇒ GATTDataSend ⇒ smart_latency_start ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> GATTDataSend
  [Called By]
  - >> ble_gatt_write

  ble_evt_callback (Thumb, 1148 bytes, Stack size 64 bytes, main.o(.text))
  [Stack]

  - Max Depth = 560
  - Call Chain = ble_evt_callback ⇒ ble_gatt_write ⇒ ota_cmd ⇒ BLSetConnectionUpdate ⇒ SEGGER_RTT_printf ⇒ SEGGER_RTT_vprintf ⇒ _PrintInt ⇒ _PrintUnsigned ⇒ _StoreChar ⇒ SEGGER_RTT_Write ⇒ SEGGER_RTT_WriteNoLock ⇒ _WriteNoCheck
  [Calls]
  - >> Timer2_Enable
  - >> Timer_Evt_Start
  - >> SEGGER_RTT_printf
  - >> ota_variable_clear
  - >> UartEn
  - >> Timer_Get_State
  - >> Timer_Evt_Stop
  - >> StartAdv
  - >> SEGGER_RTT_hexdump
  - >> GetLinkParameters
  - >> ble_gatt_write
  - >> ble_gatt_read
  - >> rf_stop
  - >> setup_adv_data
  - >> __aeabi_memcpy
  - >> __ARM_common_switch8
  - >> __aeabi_uread4
  [Address Reference Count : 1]
  - main.o(.text)

  main (Thumb, 218 bytes, Stack size 0 bytes, main.o(.text))
  [Stack]

  - Max Depth = 456
  - Call Chain = main ⇒ timer_event_handler ⇒ Connection_latency ⇒ BLSetConnectionUpdate ⇒ SEGGER_RTT_printf ⇒ SEGGER_RTT_vprintf ⇒ _PrintInt ⇒ _PrintUnsigned ⇒ _StoreChar ⇒ SEGGER_RTT_Write ⇒ SEGGER_RTT_WriteNoLock ⇒ _WriteNoCheck
  [Calls]
  - >> Lsm6dso_Init
  - >> Lis2dh_Init
  - >> Timer2_Enable
  - >> Timer_Evt_Start
  - >> SEGGER_RTT_printf
  - >> Timer_Evt_List
  - >> delay_ms
  - >> ble_sched_execute
  - >> UartEn
  - >> SystemSleep
  - >> StartAdv
  - >> SYD_Timer_Init
  - >> SEGGER_RTT_Init
  - >> ReadFlashData
  - >> RCOSCCalibration
  - >> MCUClockSwitch
  - >> ClockSwitch
  - >> BSP_MCU_Config
  - >> nvic_priority
  - >> gpio_init
  - >> get_battery_value
  - >> Charge_State_Judge
  - >> ble_init
  - >> timer_event_handler
  - >> send_to_master
  - >> PowerDown
  [Address Reference Count : 1]
  - entry9a.o(.ARM.Collect$$$$0000000B)

  rtc_event_handler (Thumb, 42 bytes, Stack size 8 bytes, main.o(.text), UNUSED)
  [Calls]

  - >> SEGGER_RTT_printf
  - >> RTC_EVT_Clr

  JsProtocol_Report (Thumb, 736 bytes, Stack size 64 bytes, main.o(.text))
  [Stack]

  - Max Depth = 504
  - Call Chain = JsProtocol_Report ⇒ cJSON_Print ⇒ print ⇒ print_value ⇒ print_number ⇒ __0sscanf ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real
  [Calls]
  - >> stringLength
  - >> crc16_ccitt
  - >> __aeabi_i2d
  - >> cJSON_Minify
  - >> cJSON_CreateObject
  - >> cJSON_AddNumberToObject
  - >> cJSON_AddItemToObject
  - >> cJSON_Print
  - >> cJSON_free
  - >> cJSON_Delete
  - >> __aeabi_memcpy
  - >> malloc
  - >> free
  [Called By]
  - >> pack_timer_event

  pack_timer_event (Thumb, 46 bytes, Stack size 16 bytes, main.o(.text))
  [Stack]

  - Max Depth = 520
  - Call Chain = pack_timer_event ⇒ JsProtocol_Report ⇒ cJSON_Print ⇒ print ⇒ print_value ⇒ print_number ⇒ __0sscanf ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real
  [Calls]
  - >> JsProtocol_Report
  [Called By]
  - >> Timer_2_callback

  BSP_MCU_Config (Thumb, 16 bytes, Stack size 8 bytes, mcu_bsp.o(.text))
  [Stack]

  - Max Depth = 68
  - Call Chain = BSP_MCU_Config ⇒ BSP_GPIOConfig ⇒ IIC_IO_Config ⇒ i2c_Init ⇒ PIN_Pullup_Enable
  [Calls]
  - >> BSP_GPIOConfig
  - >> BSP_TimerConfig
  - >> BSP_ADCConfig
  [Called By]
  - >> main

  Timer_2_callback (Thumb, 20 bytes, Stack size 8 bytes, isr.o(.text))
  [Stack]

  - Max Depth = 528
  - Call Chain = Timer_2_callback ⇒ pack_timer_event ⇒ JsProtocol_Report ⇒ cJSON_Print ⇒ print ⇒ print_value ⇒ print_number ⇒ __0sscanf ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real
  [Calls]
  - >> Lsm6dso_RPM_Cal
  - >> pack_timer_event
  [Address Reference Count : 1]
  - app_timer.o(.text)

  GPIO_callback (Thumb, 90 bytes, Stack size 8 bytes, isr.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = GPIO_callback
  [Calls]
  - >> GPIO_Pin_Read
  [Address Reference Count : 1]
  - app_gpio.o(.text)

  SEGGER_RTT_ReadNoLock (Thumb, 168 bytes, Stack size 48 bytes, segger_rtt.o(.text), UNUSED)
  [Calls]

  - >> _DoInit
  - >> __aeabi_memcpy
  [Called By]
  - >> SEGGER_RTT_Read

  SEGGER_RTT_Read (Thumb, 50 bytes, Stack size 24 bytes, segger_rtt.o(.text), UNUSED)
  [Calls]

  - >> SEGGER_RTT_ReadNoLock
  [Called By]
  - >> SEGGER_RTT_GetKey

  SEGGER_RTT_WriteWithOverwriteNoLock (Thumb, 170 bytes, Stack size 40 bytes, segger_rtt.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_memcpy

  SEGGER_RTT_WriteSkipNoLock (Thumb, 178 bytes, Stack size 48 bytes, segger_rtt.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_memcpy

  SEGGER_RTT_WriteNoLock (Thumb, 170 bytes, Stack size 40 bytes, segger_rtt.o(.text))
  [Stack]

  - Max Depth = 80
  - Call Chain = SEGGER_RTT_WriteNoLock ⇒ _WriteNoCheck
  [Calls]
  - >> _GetAvailWriteSpace
  - >> _WriteNoCheck
  - >> _WriteBlocking
  [Called By]
  - >> SEGGER_RTT_Write

  SEGGER_RTT_Write (Thumb, 66 bytes, Stack size 24 bytes, segger_rtt.o(.text))
  [Stack]

  - Max Depth = 104
  - Call Chain = SEGGER_RTT_Write ⇒ SEGGER_RTT_WriteNoLock ⇒ _WriteNoCheck
  [Calls]
  - >> SEGGER_RTT_WriteNoLock
  - >> _DoInit
  [Called By]
  - >> SEGGER_RTT_vprintf
  - >> _StoreChar
  - >> SEGGER_RTT_WriteString

  SEGGER_RTT_WriteString (Thumb, 26 bytes, Stack size 16 bytes, segger_rtt.o(.text), UNUSED)
  [Calls]

  - >> SEGGER_RTT_Write
  - >> strlen

  SEGGER_RTT_PutCharSkipNoLock (Thumb, 50 bytes, Stack size 16 bytes, segger_rtt.o(.text), UNUSED)

  SEGGER_RTT_PutCharSkip (Thumb, 94 bytes, Stack size 32 bytes, segger_rtt.o(.text), UNUSED)
  [Calls]

  - >> _DoInit

  SEGGER_RTT_PutChar (Thumb, 108 bytes, Stack size 32 bytes, segger_rtt.o(.text), UNUSED)
  [Calls]

  - >> _DoInit

  SEGGER_RTT_GetKey (Thumb, 32 bytes, Stack size 16 bytes, segger_rtt.o(.text), UNUSED)
  [Calls]

  - >> SEGGER_RTT_Read
  [Called By]
  - >> SEGGER_RTT_WaitKey

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

  - >> SEGGER_RTT_GetKey

  SEGGER_RTT_HasKey (Thumb, 38 bytes, Stack size 16 bytes, segger_rtt.o(.text), UNUSED)
  [Calls]

  - >> _DoInit

  SEGGER_RTT_HasData (Thumb, 22 bytes, Stack size 8 bytes, segger_rtt.o(.text), UNUSED)

  SEGGER_RTT_AllocDownBuffer (Thumb, 164 bytes, Stack size 40 bytes, segger_rtt.o(.text), UNUSED)
  [Calls]

  - >> _DoInit

  SEGGER_RTT_AllocUpBuffer (Thumb, 164 bytes, Stack size 40 bytes, segger_rtt.o(.text), UNUSED)
  [Calls]

  - >> _DoInit

  SEGGER_RTT_ConfigUpBuffer (Thumb, 142 bytes, Stack size 40 bytes, segger_rtt.o(.text), UNUSED)
  [Calls]

  - >> _DoInit

  SEGGER_RTT_ConfigDownBuffer (Thumb, 146 bytes, Stack size 40 bytes, segger_rtt.o(.text), UNUSED)
  [Calls]

  - >> _DoInit

  SEGGER_RTT_SetNameUpBuffer (Thumb, 80 bytes, Stack size 16 bytes, segger_rtt.o(.text), UNUSED)
  [Calls]

  - >> _DoInit

  SEGGER_RTT_SetNameDownBuffer (Thumb, 78 bytes, Stack size 16 bytes, segger_rtt.o(.text), UNUSED)
  [Calls]

  - >> _DoInit

  SEGGER_RTT_SetFlagsUpBuffer (Thumb, 82 bytes, Stack size 16 bytes, segger_rtt.o(.text), UNUSED)
  [Calls]

  - >> _DoInit

  SEGGER_RTT_SetFlagsDownBuffer (Thumb, 80 bytes, Stack size 16 bytes, segger_rtt.o(.text), UNUSED)
  [Calls]

  - >> _DoInit

  SEGGER_RTT_Init (Thumb, 8 bytes, Stack size 8 bytes, segger_rtt.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = SEGGER_RTT_Init ⇒ _DoInit
  [Calls]
  - >> _DoInit
  [Called By]
  - >> main

  SEGGER_RTT_SetTerminal (Thumb, 140 bytes, Stack size 32 bytes, segger_rtt.o(.text), UNUSED)
  [Calls]

  - >> _GetAvailWriteSpace
  - >> _WriteNoCheck
  - >> _WriteBlocking
  - >> _DoInit

  SEGGER_RTT_TerminalOut (Thumb, 248 bytes, Stack size 40 bytes, segger_rtt.o(.text), UNUSED)
  [Calls]

  - >> _GetAvailWriteSpace
  - >> _PostTerminalSwitch
  - >> _WriteBlocking
  - >> _DoInit
  - >> strlen

  SEGGER_RTT_vprintf (Thumb, 646 bytes, Stack size 152 bytes, segger_rtt_printf.o(.text))
  [Stack]

  - Max Depth = 384
  - Call Chain = SEGGER_RTT_vprintf ⇒ _PrintInt ⇒ _PrintUnsigned ⇒ _StoreChar ⇒ SEGGER_RTT_Write ⇒ SEGGER_RTT_WriteNoLock ⇒ _WriteNoCheck
  [Calls]
  - >> _PrintInt
  - >> _PrintUnsigned
  - >> _StoreChar
  - >> SEGGER_RTT_Write
  - >> __2sprintf
  [Called By]
  - >> SEGGER_RTT_printf

  SEGGER_RTT_printf (Thumb, 36 bytes, Stack size 32 bytes, segger_rtt_printf.o(.text))
  [Stack]

  - Max Depth = 416
  - Call Chain = SEGGER_RTT_printf ⇒ SEGGER_RTT_vprintf ⇒ _PrintInt ⇒ _PrintUnsigned ⇒ _StoreChar ⇒ SEGGER_RTT_Write ⇒ SEGGER_RTT_WriteNoLock ⇒ _WriteNoCheck
  [Calls]
  - >> SEGGER_RTT_vprintf
  [Called By]
  - >> BLSetConnectionUpdate
  - >> ota_cmd
  - >> CmdFlashdataUpgradev30
  - >> CmdFwUpgradev20
  - >> Cmd4KSETTINGUpgrade
  - >> Cmd4KSETTINGWrite
  - >> SEGGER_RTT_hexdump
  - >> rtc_event_handler
  - >> main
  - >> ble_evt_callback
  - >> ota_manage
  - >> cal_battery_value
  - >> ble_gatt_write

  SEGGER_RTT_hexdump (Thumb, 122 bytes, Stack size 40 bytes, segger_rtt_printf.o(.text))
  [Stack]

  - Max Depth = 456
  - Call Chain = SEGGER_RTT_hexdump ⇒ SEGGER_RTT_printf ⇒ SEGGER_RTT_vprintf ⇒ _PrintInt ⇒ _PrintUnsigned ⇒ _StoreChar ⇒ SEGGER_RTT_Write ⇒ SEGGER_RTT_WriteNoLock ⇒ _WriteNoCheck
  [Calls]
  - >> SEGGER_RTT_printf
  [Called By]
  - >> ble_evt_callback
  - >> ble_gatt_write

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

  - startup_armcm0.o(RESET)

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

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

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

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

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

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

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

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

  SysTick_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_armcm0.o(.text))
  [Calls]

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

  CAP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_armcm0.o(.text))
  [Calls]

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

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

  - startup_armcm0.o(RESET)

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

  - startup_armcm0.o(RESET)

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

  - startup_armcm0.o(RESET)

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

  - startup_armcm0.o(RESET)

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

  - startup_armcm0.o(RESET)

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

  - startup_armcm0.o(RESET)

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

  - startup_armcm0.o(RESET)

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

  - startup_armcm0.o(RESET)

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

  - startup_armcm0.o(RESET)

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

  - startup_armcm0.o(RESET)

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

  - startup_armcm0.o(RESET)

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

  - startup_armcm0.o(RESET)

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

  - startup_armcm0.o(RESET)

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

  - startup_armcm0.o(RESET)

  SystemCoreClockUpdate (Thumb, 8 bytes, Stack size 0 bytes, system_armcm0.o(.text), UNUSED)

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

  - startup_armcm0.o(.text)

  LLPingReq (Thumb, 26 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  _BBGetMask (Thumb, 158 bytes, Stack size 0 bytes, main.o(.text))
  [Called By]

  - >> Lib_LLEvtCallback

  Lib_LLEvtCallback (Thumb, 186 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 152
  - Call Chain = Lib_LLEvtCallback ⇒ _LCTxPkt_Handler ⇒ _LCDisConnect
  [Calls]
  - >> _LCTxPkt_Handler
  - >> _LCRxPkt_Handler
  - >> _LCDisConnect
  - >> _BBGetMask
  - >> __aeabi_uread4
  [Address Reference Count : 1]
  - main.o(.text)

  ConnectionLatencyMode (Thumb, 112 bytes, Stack size 16 bytes, main.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = ConnectionLatencyMode ⇒ WaitLLCOverSlpth
  [Calls]
  - >> WaitLLCOverSlpth
  [Called By]
  - >> smart_update_retry
  - >> smart_latency_start
  - >> sw_timer_latency_callback

  sw_timer_latency_callback (Thumb, 42 bytes, Stack size 0 bytes, main.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = sw_timer_latency_callback ⇒ ConnectionLatencyMode ⇒ WaitLLCOverSlpth
  [Calls]
  - >> ConnectionLatencyMode
  [Address Reference Count : 1]
  - main.o(.text)

  TimerStart (Thumb, 10 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = TimerStart
  [Called By]
  - >> smart_update_latency_updatareq
  - >> smart_latency_start

  smart_latency_start (Thumb, 212 bytes, Stack size 24 bytes, main.o(.text))
  [Stack]

  - Max Depth = 152
  - Call Chain = smart_latency_start ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> __aeabi_dmul
  - >> __aeabi_idivmod
  - >> __aeabi_ui2d
  - >> __aeabi_d2uiz
  - >> TimerStart
  - >> ConnectionLatencyMode
  [Called By]
  - >> ble_sched_execute
  - >> GATTDataSend
  - >> smart_latency_target
  - >> Lib_EvtCallback
  - >> LPOCalibration

  smart_update_latency_updatersp (Thumb, 162 bytes, Stack size 16 bytes, main.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = smart_update_latency_updatersp
  [Called By]
  - >> Lib_EvtCallback

  BBRFRead (Thumb, 4 bytes, Stack size 0 bytes, main.o(.text))
  [Called By]

  - >> RCOSCCalibration
  - >> BleInit
  - >> RFRead
  - >> LPOCalibration

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

  - >> RCOSCCalibration
  - >> BleInit
  - >> gpio_init
  - >> ble_SetTxPower
  - >> RFWrite
  - >> _SYSClockSwitch
  - >> LPOCalibration
  - >> _SYS32kClockSwitch

  RCOSCCalibration (Thumb, 64 bytes, Stack size 16 bytes, main.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = RCOSCCalibration
  [Calls]
  - >> BBRFWrite
  - >> BBRFRead
  [Called By]
  - >> BleInit
  - >> main
  - >> Lib_EvtCallback

  RFSleep (Thumb, 10 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = RFSleep
  [Called By]
  - >> rf_stop

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

  - Max Depth = 8
  - Call Chain = UartEn
  [Called By]
  - >> main
  - >> ble_evt_callback
  - >> _SYS32kClockSwitch

  _SYS32kClockSwitch (Thumb, 264 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = _SYS32kClockSwitch ⇒ UartEn
  [Calls]
  - >> UartEn
  - >> BBRFWrite
  [Called By]
  - >> ClockSwitch
  - >> BleInit
  - >> LPOCalibration

  ClockSwitch (Thumb, 10 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = ClockSwitch ⇒ _SYS32kClockSwitch ⇒ UartEn
  [Calls]
  - >> _SYS32kClockSwitch
  [Called By]
  - >> main

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

  - Max Depth = 8
  - Call Chain = RFWakeup
  [Called By]
  - >> LPOCalibration

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

  - Max Depth = 184
  - Call Chain = LPOCalibration ⇒ smart_latency_start ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> BBRFWrite
  - >> RFWakeup
  - >> _SYS32kClockSwitch
  - >> BBRFRead
  - >> smart_latency_start
  [Called By]
  - >> BleInit
  - >> Lib_EvtCallback

  smart_latency_clear (Thumb, 12 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = smart_latency_clear
  [Calls]
  - >> __aeabi_memclr
  [Called By]
  - >> Lib_EvtCallback

  Lib_EvtCallback (Thumb, 248 bytes, Stack size 16 bytes, main.o(.text))
  [Stack]

  - Max Depth = 200
  - Call Chain = Lib_EvtCallback ⇒ LPOCalibration ⇒ smart_latency_start ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> STKSetRand
  - >> RCOSCCalibration
  - >> smart_latency_clear
  - >> LPOCalibration
  - >> smart_update_latency_updatersp
  - >> smart_latency_start
  - >> __aeabi_uread4
  [Address Reference Count : 1]
  - main.o(.text)

  _BMGetNextBondDevice (Thumb, 144 bytes, Stack size 72 bytes, main.o(.text))
  [Stack]

  - Max Depth = 84
  - Call Chain = _BMGetNextBondDevice ⇒ __aeabi_uidivmod
  [Calls]
  - >> __aeabi_memcpy
  - >> __aeabi_uidivmod
  - >> __aeabi_uread4
  [Called By]
  - >> _LLENCReq

  __LLVersionIndRxHandler (Thumb, 66 bytes, Stack size 24 bytes, main.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = __LLVersionIndRxHandler
  [Called By]
  - >> Lib_ProtocolHookCallback

  GetMasterSystem (Thumb, 6 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  TimerStop (Thumb, 56 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  smart_update_retry (Thumb, 158 bytes, Stack size 16 bytes, main.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = smart_update_retry ⇒ ConnectionLatencyMode ⇒ WaitLLCOverSlpth
  [Calls]
  - >> ConnectionLatencyMode
  [Called By]
  - >> gap_s_smart_update_latency
  - >> sw_timer_update_callback

  sw_timer_update_callback (Thumb, 60 bytes, Stack size 0 bytes, main.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = sw_timer_update_callback ⇒ smart_update_retry ⇒ ConnectionLatencyMode ⇒ WaitLLCOverSlpth
  [Calls]
  - >> smart_update_retry
  [Address Reference Count : 1]
  - main.o(.text)

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

  - Max Depth = 160
  - Call Chain = smart_update_latency_updatareq ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> __aeabi_fadd
  - >> __aeabi_f2d
  - >> __aeabi_dmul
  - >> __aeabi_ddiv
  - >> __aeabi_dadd
  - >> __aeabi_ui2f
  - >> __aeabi_i2d
  - >> __aeabi_ui2d
  - >> __aeabi_d2uiz
  - >> TimerStart
  [Called By]
  - >> Lib_ProtocolHookCallback

  Lib_ProtocolHookCallback (Thumb, 116 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 168
  - Call Chain = Lib_ProtocolHookCallback ⇒ smart_update_latency_updatareq ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> WaitLLCOverSlpth
  - >> _LLENCReq
  - >> _LCDisConnect
  - >> smart_update_latency_updatareq
  - >> __LLVersionIndRxHandler
  [Address Reference Count : 1]
  - main.o(.text)

  Lib_MiscCallback (Thumb, 14 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 72
  - Call Chain = Lib_MiscCallback ⇒ _LCTimer_Handler ⇒ _LCDisConnect
  [Calls]
  - >> _LCTimer_Handler
  [Address Reference Count : 1]
  - main.o(.text)

  BleInit (Thumb, 348 bytes, Stack size 40 bytes, main.o(.text))
  [Stack]

  - Max Depth = 224
  - Call Chain = BleInit ⇒ LPOCalibration ⇒ smart_latency_start ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> STKSetRand
  - >> RCOSCCalibration
  - >> BBRFWrite
  - >> __aeabi_memcpy
  - >> LPOCalibration
  - >> _SYS32kClockSwitch
  - >> BBRFRead
  - >> __aeabi_uread4
  [Called By]
  - >> ble_init

  DisConnect (Thumb, 10 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = DisConnect
  [Called By]
  - >> work_timer_event

  SetDevAddr (Thumb, 12 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  GetDevAddr (Thumb, 12 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = GetDevAddr
  [Called By]
  - >> setup_adv_data

  SetLEFeature (Thumb, 12 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  SetAdvAccCode (Thumb, 12 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  SetAdvParams (Thumb, 12 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = SetAdvParams
  [Called By]
  - >> setup_adv_data

  SetAdvData (Thumb, 12 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = SetAdvData
  [Called By]
  - >> setup_adv_data

  StartAdv (Thumb, 10 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 44
  - Call Chain = StartAdv ⇒ _GAPStartAdv ⇒ __aeabi_uidivmod
  [Calls]
  - >> _GAPStartAdv
  [Called By]
  - >> main
  - >> ble_evt_callback

  StopAdv (Thumb, 24 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  StopAdv_Noreset (Thumb, 38 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  SetScanParams (Thumb, 10 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  _BBSetScan (Thumb, 46 bytes, Stack size 20 bytes, main.o(.text), UNUSED)
  [Called By]

  - >> _GAPStartScan

  _GAPStartScan (Thumb, 230 bytes, Stack size 24 bytes, main.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_uidivmod
  - >> _BBSetScan
  [Called By]
  - >> StartScan

  StartScan (Thumb, 10 bytes, Stack size 8 bytes, main.o(.text), UNUSED)
  [Calls]

  - >> _GAPStartScan

  StopScan (Thumb, 10 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  SetSecParams (Thumb, 12 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = SetSecParams
  [Called By]
  - >> ble_init

  SetConnectionUpdate (Thumb, 12 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  GetLinkParameters (Thumb, 12 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = GetLinkParameters
  [Called By]
  - >> ble_evt_callback

  SetWinWideMinusCnt (Thumb, 8 bytes, Stack size 0 bytes, main.o(.text))
  [Called By]

  - >> ble_init

  SetPasskey (Thumb, 12 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  SecurityReq (Thumb, 12 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  SetEvtCallback (Thumb, 54 bytes, Stack size 24 bytes, main.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = SetEvtCallback
  [Calls]
  - >> __aeabi_uwrite4
  - >> __aeabi_uread4
  [Called By]
  - >> ble_init

  GetGATTReportHandle (Thumb, 10 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = GetGATTReportHandle
  [Called By]
  - >> ble_init

  SetGATTReadRsp (Thumb, 12 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = SetGATTReadRsp
  [Called By]
  - >> ble_gatt_read

  CheckFIFOFull (Thumb, 18 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  GATTDataSend (Thumb, 86 bytes, Stack size 24 bytes, main.o(.text))
  [Stack]

  - Max Depth = 176
  - Call Chain = GATTDataSend ⇒ smart_latency_start ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> smart_latency_start
  [Called By]
  - >> BLE_SendCMDData
  - >> BLE_NotifyBatteryLevel
  - >> BLE_SendRPPData

  ATTCSetCallback (Thumb, 4 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  ATTCMTUReq (Thumb, 24 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  ATTCFindInfoReq (Thumb, 28 bytes, Stack size 16 bytes, main.o(.text), UNUSED)

  ATTCFindByTypeValueReq (Thumb, 40 bytes, Stack size 40 bytes, main.o(.text), UNUSED)

  ATTCReadByTypeReq (Thumb, 36 bytes, Stack size 24 bytes, main.o(.text), UNUSED)

  ATTCReadReq (Thumb, 24 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  ATTCReadBlobReq (Thumb, 28 bytes, Stack size 16 bytes, main.o(.text), UNUSED)

  ATTCReadMultipleReq (Thumb, 28 bytes, Stack size 16 bytes, main.o(.text), UNUSED)

  ATTCReadByGroupTypeReq (Thumb, 34 bytes, Stack size 24 bytes, main.o(.text), UNUSED)

  ATTCWriteReq (Thumb, 32 bytes, Stack size 16 bytes, main.o(.text), UNUSED)

  ATTCWriteCmdReq (Thumb, 32 bytes, Stack size 16 bytes, main.o(.text), UNUSED)

  ATTCPrepareWriteReq (Thumb, 36 bytes, Stack size 24 bytes, main.o(.text), UNUSED)

  ATTCExecuteWriteReq (Thumb, 24 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  ATTCConfirmation (Thumb, 20 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  _SYSClockSwitch (Thumb, 86 bytes, Stack size 16 bytes, main.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = _SYSClockSwitch
  [Calls]
  - >> BBRFWrite
  [Called By]
  - >> MCUClockSwitch

  MCUClockSwitch (Thumb, 2 bytes, Stack size 0 bytes, main.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = MCUClockSwitch ⇒ _SYSClockSwitch
  [Calls]
  - >> _SYSClockSwitch
  [Called By]
  - >> main

  GetMCUClock (Thumb, 14 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  GetClock (Thumb, 16 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  WakeupConfig (Thumb, 12 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = WakeupConfig
  [Called By]
  - >> ble_init
  - >> PowerDown

  LLSleep (Thumb, 12 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  Rand (Thumb, 4 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  DelayUS (Thumb, 4 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  DelayMS (Thumb, 6 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  GetCompanyID (Thumb, 18 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  GetQFNType (Thumb, 20 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  RFRead (Thumb, 8 bytes, Stack size 8 bytes, main.o(.text), UNUSED)
  [Calls]

  - >> BBRFRead

  RFWrite (Thumb, 8 bytes, Stack size 8 bytes, main.o(.text), UNUSED)
  [Calls]

  - >> BBRFWrite

  lib_check_ble_fsm_state (Thumb, 26 bytes, Stack size 0 bytes, main.o(.text))
  [Called By]

  - >> SystemSleep

  SystemSleep (Thumb, 20 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = SystemSleep
  [Calls]
  - >> lib_check_ble_fsm_state
  [Called By]
  - >> main

  SystemPowerDown (Thumb, 140 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = SystemPowerDown
  [Called By]
  - >> PowerDown

  SystemReset (Thumb, 10 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = SystemReset
  [Called By]
  - >> ota_manage

  CapdetEn (Thumb, 10 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  PowerDownLPOEn (Thumb, 12 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  SetBondManagerIndex (Thumb, 12 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = SetBondManagerIndex
  [Called By]
  - >> ble_init

  GetBondDevice (Thumb, 6 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  AddBondDevice (Thumb, 12 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  DelAllBondDevice (Thumb, 10 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  DelBondDevice (Thumb, 12 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  ReadProfileData (Thumb, 6 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  WriteProfileData (Thumb, 6 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  EraseFlashData (Thumb, 78 bytes, Stack size 24 bytes, main.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = EraseFlashData
  [Calls]
  - >> __aeabi_uread4
  [Called By]
  - >> PowerDown

  ReadFlashData (Thumb, 56 bytes, Stack size 24 bytes, main.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = ReadFlashData
  [Calls]
  - >> __aeabi_uread4
  [Called By]
  - >> main

  WriteFlashData (Thumb, 56 bytes, Stack size 24 bytes, main.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = WriteFlashData
  [Calls]
  - >> __aeabi_uread4
  [Called By]
  - >> ota_cmd
  - >> PowerDown

  CodeErase (Thumb, 100 bytes, Stack size 16 bytes, main.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = CodeErase
  [Calls]
  - >> __aeabi_uread4
  [Called By]
  - >> CmdFwErase

  CodeErase_sector (Thumb, 72 bytes, Stack size 16 bytes, main.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_uread4

  _FMCodeWrite (Thumb, 58 bytes, Stack size 24 bytes, main.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = _FMCodeWrite
  [Calls]
  - >> __aeabi_uread4
  [Called By]
  - >> CodeWrite

  CodeWrite (Thumb, 30 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = CodeWrite ⇒ _FMCodeWrite
  [Calls]
  - >> _FMCodeWrite
  [Called By]
  - >> ota_cmd
  - >> CmdFwUpgradev20

  CodeUpdate (Thumb, 10 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = CodeUpdate
  [Called By]
  - >> CmdFwUpgradev20

  FlashDataUpdate (Thumb, 124 bytes, Stack size 64 bytes, main.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = FlashDataUpdate
  [Calls]
  - >> __aeabi_uread4
  [Called By]
  - >> CmdFlashdataUpgradev30

  ble_sched_execute (Thumb, 150 bytes, Stack size 24 bytes, main.o(.text))
  [Stack]

  - Max Depth = 176
  - Call Chain = ble_sched_execute ⇒ smart_latency_start ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> smart_latency_start
  [Called By]
  - >> main

  ble_sched_finish (Thumb, 4 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  syd52832_chip_confirm (Thumb, 26 bytes, Stack size 16 bytes, main.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = syd52832_chip_confirm
  [Called By]
  - >> SYD_Timer_Init
  - >> SYD_RTC_Init

  gap_s_smart_update_latency (Thumb, 238 bytes, Stack size 24 bytes, main.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = gap_s_smart_update_latency ⇒ smart_update_retry ⇒ ConnectionLatencyMode ⇒ WaitLLCOverSlpth
  [Calls]
  - >> smart_update_retry
  [Called By]
  - >> BLSetConnectionUpdate

  eFuseManual (Thumb, 28 bytes, Stack size 0 bytes, main.o(.text))
  [Called By]

  - >> GPADC_Manual_Calibration

  GPADC_Manual_Calibration (Thumb, 34 bytes, Stack size 16 bytes, main.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = GPADC_Manual_Calibration
  [Calls]
  - >> eFuseManual
  [Called By]
  - >> ADC_Config

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

  - Max Depth = 8
  - Call Chain = GPADC_Get_Calibration
  [Called By]
  - >> ADC_Config

  GAPGetUartEn (Thumb, 6 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  GAPUartEn (Thumb, 6 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  GAPBBDelayUS (Thumb, 4 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  GAPBBDelayMS (Thumb, 6 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  GAPGetRFAutoSleep (Thumb, 4 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  GAPSetRFAutoSleep (Thumb, 6 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  Setting4kUpdate (Thumb, 114 bytes, Stack size 24 bytes, main.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = Setting4kUpdate
  [Calls]
  - >> __aeabi_memcpy
  - >> __aeabi_uread4
  [Called By]
  - >> Cmd4KSETTINGUpgrade

  SetDevAddr_toflash (Thumb, 72 bytes, Stack size 16 bytes, main.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_memcpy
  - >> __aeabi_uread4

  gap_s_verdor_datas_get (Thumb, 28 bytes, Stack size 8 bytes, main.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_uread4

  gap_s_verdor_datas_set (Thumb, 66 bytes, Stack size 16 bytes, main.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_memcpy
  - >> __aeabi_uread4

  gap_s_is_ll_start_enc (Thumb, 26 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  GAPBBTXFIFO0Write (Thumb, 4 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  flash_peotect_key_confirm (Thumb, 148 bytes, Stack size 32 bytes, main.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_uread4

  swd_lock (Thumb, 36 bytes, Stack size 8 bytes, main.o(.text), UNUSED)

  flash_data_offect_get (Thumb, 50 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  EraseCodeB (Thumb, 56 bytes, Stack size 16 bytes, main.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_uread4

  ReadCodeB (Thumb, 62 bytes, Stack size 24 bytes, main.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_uread4

  WriteCodeB (Thumb, 62 bytes, Stack size 24 bytes, main.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_uread4

  ble_SetTxPower (Thumb, 284 bytes, Stack size 8 bytes, main.o(.text), UNUSED)
  [Calls]

  - >> BBRFWrite
  - >> __ARM_common_switch8

  flash_data_size_get (Thumb, 18 bytes, Stack size 8 bytes, main.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_uread4

  code_idx_get (Thumb, 6 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  flash_data_size_set (Thumb, 146 bytes, Stack size 24 bytes, main.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_uwrite4
  - >> __aeabi_uread4

  Get_RSSI_Last_RX (Thumb, 82 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  APP_Read_Attribute_Encrypt (Thumb, 62 bytes, Stack size 80 bytes, main.o(.text), UNUSED)

  APP_Write_Attribute_Encrypt (Thumb, 66 bytes, Stack size 80 bytes, main.o(.text), UNUSED)
  [Calls]

  - >> AttWriteFlash

  APP_Read_Charact_Permission (Thumb, 66 bytes, Stack size 80 bytes, main.o(.text), UNUSED)

  smart_latency_target (Thumb, 30 bytes, Stack size 8 bytes, main.o(.text), UNUSED)
  [Calls]

  - >> smart_latency_start

  smp_aes_encrypt (Thumb, 4 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  gap_get_flash_data_info (Thumb, 26 bytes, Stack size 8 bytes, main.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_uread4

  gap_set_flash_data_info (Thumb, 70 bytes, Stack size 16 bytes, main.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_memcpy
  - >> __aeabi_uread4

  gap_check_dev_bonded (Thumb, 6 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  syd_set_chip_flash_all_size (Thumb, 6 bytes, Stack size 0 bytes, main.o(.text), UNUSED)

  Xtal_trim_get (Thumb, 106 bytes, Stack size 32 bytes, main.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_uread4

  Xtal_trim_set (Thumb, 164 bytes, Stack size 40 bytes, main.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_uread4

  Timer_Evt_Creat (Thumb, 54 bytes, Stack size 16 bytes, timer.o(.text))
  [Stack]

  - Max Depth = 144
  - Call Chain = Timer_Evt_Creat ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> __aeabi_dmul
  - >> __aeabi_ui2d
  - >> __aeabi_d2uiz
  [Called By]
  - >> Timer_Evt_List

  Min (Thumb, 8 bytes, Stack size 0 bytes, timer.o(.text), UNUSED)

  TimerDelayUS (Thumb, 24 bytes, Stack size 0 bytes, timer.o(.text))
  [Called By]

  - >> timer_2_enable
  - >> timer_2_disable
  - >> timer_1_enable
  - >> timer_1_disable
  - >> rtc_init
  - >> rtc_set_compare
  - >> timer_0_enable
  - >> timer_0_disable

  timer_0_disable (Thumb, 48 bytes, Stack size 8 bytes, timer.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = timer_0_disable
  [Calls]
  - >> TimerDelayUS
  - >> __NVIC_DisableIRQ
  [Called By]
  - >> Timer_Evt_Start
  - >> Timer_Evt_Stop
  - >> SYD_Timer_Init
  - >> Timer_Evt_ReStart
  - >> Timer_Evt_Trigger

  timer_0_enable (Thumb, 96 bytes, Stack size 16 bytes, timer.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = timer_0_enable
  [Calls]
  - >> TimerDelayUS
  - >> __NVIC_EnableIRQ
  [Called By]
  - >> timer_0_start

  timer_0_start (Thumb, 22 bytes, Stack size 8 bytes, timer.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = timer_0_start ⇒ Timer_Evt_Trigger ⇒ timer_0_start (Cycle)
  [Calls]
  - >> timer_0_enable
  - >> Timer_Evt_Trigger
  [Called By]
  - >> Timer_Evt_Start
  - >> Timer_Evt_Stop
  - >> Timer_Evt_ReStart
  - >> Timer_Evt_Trigger

  timer_0_get (Thumb, 92 bytes, Stack size 20 bytes, timer.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = timer_0_get
  [Called By]
  - >> Timer_Evt_Start
  - >> Timer_Evt_Stop
  - >> Timer_Evt_ReStart

  Timer_Evt_Stop (Thumb, 120 bytes, Stack size 24 bytes, timer.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = Timer_Evt_Stop ⇒ timer_0_start ⇒ Timer_Evt_Trigger ⇒ timer_0_start (Cycle)
  [Calls]
  - >> timer_0_get
  - >> timer_0_start
  - >> timer_0_disable
  [Called By]
  - >> ble_evt_callback
  - >> ota_manage
  - >> Connection_latency
  - >> Timer_Evt_ReSet

  Timer_Evt_ReSet (Thumb, 64 bytes, Stack size 32 bytes, timer.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_dmul
  - >> Timer_Evt_Stop
  - >> __aeabi_ui2d
  - >> __aeabi_d2uiz

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

  - >> timer_event_handler

  Timer_Evt_Start (Thumb, 156 bytes, Stack size 24 bytes, timer.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = Timer_Evt_Start ⇒ timer_0_start ⇒ Timer_Evt_Trigger ⇒ timer_0_start (Cycle)
  [Calls]
  - >> timer_0_get
  - >> timer_0_start
  - >> timer_0_disable
  [Called By]
  - >> ota_cmd
  - >> main
  - >> ble_evt_callback

  Timer_Evt_ReStart (Thumb, 132 bytes, Stack size 24 bytes, timer.o(.text), UNUSED)
  [Calls]

  - >> timer_0_get
  - >> timer_0_start
  - >> timer_0_disable

  Timer_Get_State (Thumb, 34 bytes, Stack size 0 bytes, timer.o(.text))
  [Called By]

  - >> ble_evt_callback

  SYD_Timer_Init (Thumb, 58 bytes, Stack size 16 bytes, timer.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = SYD_Timer_Init ⇒ syd52832_chip_confirm
  [Calls]
  - >> timer_0_disable
  - >> syd52832_chip_confirm
  [Called By]
  - >> main

  timer_0_delay_32us (Thumb, 66 bytes, Stack size 0 bytes, timer.o(.text), UNUSED)

  TIMER0_IRQHandler (Thumb, 32 bytes, Stack size 0 bytes, timer.o(.text))
  [Address Reference Count : 1]

  - startup_armcm0.o(RESET)

  timer_1_enable (Thumb, 96 bytes, Stack size 16 bytes, timer.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = timer_1_enable
  [Calls]
  - >> TimerDelayUS
  - >> __NVIC_EnableIRQ
  [Called By]
  - >> send_to_master

  timer_1_disable (Thumb, 48 bytes, Stack size 8 bytes, timer.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = timer_1_disable
  [Calls]
  - >> TimerDelayUS
  - >> __NVIC_DisableIRQ
  [Called By]
  - >> timer_1_callback

  TIMER1_IRQHandler (Thumb, 32 bytes, Stack size 0 bytes, timer.o(.text))
  [Address Reference Count : 1]

  - startup_armcm0.o(RESET)

  timer_2_enable (Thumb, 96 bytes, Stack size 16 bytes, timer.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = timer_2_enable
  [Calls]
  - >> TimerDelayUS
  - >> __NVIC_EnableIRQ
  [Called By]
  - >> Timer2_Enable

  timer_1_get (Thumb, 34 bytes, Stack size 0 bytes, timer.o(.text), UNUSED)

  timer_2_get (Thumb, 34 bytes, Stack size 0 bytes, timer.o(.text), UNUSED)

  timer_2_disable (Thumb, 48 bytes, Stack size 8 bytes, timer.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = timer_2_disable
  [Calls]
  - >> TimerDelayUS
  - >> __NVIC_DisableIRQ
  [Called By]
  - >> Timer2_Disable
  - >> Timer_Config

  TIMER2_IRQHandler (Thumb, 32 bytes, Stack size 0 bytes, timer.o(.text))
  [Address Reference Count : 1]

  - startup_armcm0.o(RESET)

  rtc_get_calendar (Thumb, 40 bytes, Stack size 12 bytes, rtc.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = rtc_get_calendar
  [Called By]
  - >> RTC_Refressh
  - >> RTC_RUN

  RTC_RUN (Thumb, 66 bytes, Stack size 8 bytes, rtc.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = RTC_RUN ⇒ rtc_get_calendar
  [Calls]
  - >> rtc_get_calendar
  [Called By]
  - >> RTC_EVT_Start
  - >> RTC_EVT_whole_minute_adj
  - >> RTC_EVT_Stop
  - >> Timer_RTCEVT_Trigger

  rtc_set_compare (Thumb, 68 bytes, Stack size 16 bytes, rtc.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = rtc_set_compare ⇒ __aeabi_uidivmod
  [Calls]
  - >> __aeabi_uidivmod
  - >> TimerDelayUS
  - >> __aeabi_uread4
  [Called By]
  - >> rtc_init
  - >> RTC_SET

  RTC_SET (Thumb, 84 bytes, Stack size 16 bytes, rtc.o(.text))
  [Stack]

  - Max Depth = 44
  - Call Chain = RTC_SET ⇒ rtc_set_compare ⇒ __aeabi_uidivmod
  [Calls]
  - >> __aeabi_uidivmod
  - >> rtc_set_compare
  [Called By]
  - >> RTC_EVT_Start
  - >> RTC_EVT_whole_minute_adj
  - >> RTC_EVT_Stop
  - >> Timer_RTCEVT_Trigger

  RTC_Refressh (Thumb, 76 bytes, Stack size 16 bytes, rtc.o(.text), UNUSED)
  [Calls]

  - >> rtc_get_calendar

  RTC_EVT_Creat (Thumb, 32 bytes, Stack size 16 bytes, rtc.o(.text), UNUSED)

  Min_RTC (Thumb, 8 bytes, Stack size 0 bytes, rtc.o(.text), UNUSED)

  rtc_int_disable (Thumb, 24 bytes, Stack size 0 bytes, rtc.o(.text))
  [Called By]

  - >> RTC_EVT_Start
  - >> rtc_init
  - >> RTC_EVT_whole_minute_adj
  - >> RTC_EVT_Stop
  - >> Timer_RTCEVT_Trigger

  RTC_EVT_Clr (Thumb, 10 bytes, Stack size 0 bytes, rtc.o(.text), UNUSED)
  [Called By]

  - >> rtc_event_handler

  RTC_EVT_Stop (Thumb, 112 bytes, Stack size 24 bytes, rtc.o(.text), UNUSED)
  [Calls]

  - >> rtc_int_disable
  - >> RTC_SET
  - >> RTC_RUN

  RTC_EVT_Start (Thumb, 146 bytes, Stack size 24 bytes, rtc.o(.text), UNUSED)
  [Calls]

  - >> rtc_int_disable
  - >> RTC_SET
  - >> RTC_RUN

  RTC_EVT_whole_minute_setid (Thumb, 6 bytes, Stack size 0 bytes, rtc.o(.text), UNUSED)

  RTC_EVT_whole_minute_adj (Thumb, 132 bytes, Stack size 32 bytes, rtc.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_uidivmod
  - >> rtc_int_disable
  - >> RTC_SET
  - >> RTC_RUN

  RTC_Get_State (Thumb, 54 bytes, Stack size 0 bytes, rtc.o(.text), UNUSED)

  rtc_start (Thumb, 28 bytes, Stack size 0 bytes, rtc.o(.text), UNUSED)
  [Called By]

  - >> rtc_init

  rtc_set_interrupt_callback (Thumb, 6 bytes, Stack size 0 bytes, rtc.o(.text), UNUSED)

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

  - >> rtc_init

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

  - >> RTC_IRQHandler
  - >> rtc_init

  rtc_set_calendar (Thumb, 40 bytes, Stack size 16 bytes, rtc.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_uidivmod
  - >> __aeabi_uread4
  [Called By]
  - >> rtc_init

  rtc_set_prescaler (Thumb, 34 bytes, Stack size 0 bytes, rtc.o(.text), UNUSED)
  [Called By]

  - >> rtc_init

  rtc_clear (Thumb, 18 bytes, Stack size 0 bytes, rtc.o(.text), UNUSED)
  [Called By]

  - >> rtc_init

  rtc_stop (Thumb, 30 bytes, Stack size 0 bytes, rtc.o(.text), UNUSED)
  [Called By]

  - >> rtc_init

  rtc_init (Thumb, 126 bytes, Stack size 32 bytes, rtc.o(.text), UNUSED)
  [Calls]

  - >> rtc_stop
  - >> rtc_clear
  - >> rtc_set_prescaler
  - >> rtc_set_calendar
  - >> rtc_int_clear
  - >> rtc_int_enable
  - >> rtc_start
  - >> rtc_int_disable
  - >> rtc_set_compare
  - >> TimerDelayUS
  [Called By]
  - >> SYD_RTC_Init

  SYD_RTC_Init (Thumb, 40 bytes, Stack size 16 bytes, rtc.o(.text), UNUSED)
  [Calls]

  - >> rtc_init
  - >> syd52832_chip_confirm

  RTC_IRQHandler (Thumb, 30 bytes, Stack size 8 bytes, rtc.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = RTC_IRQHandler
  [Calls]
  - >> rtc_int_clear
  [Address Reference Count : 1]
  - startup_armcm0.o(RESET)

  rtc_status (Thumb, 6 bytes, Stack size 0 bytes, rtc.o(.text), UNUSED)

  rtc_get_compare (Thumb, 52 bytes, Stack size 12 bytes, rtc.o(.text), UNUSED)

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

  - Max Depth = 12
  - Call Chain = __aeabi_uidivmod
  [Called By]
  - >> _GAPStartAdv
  - >> _PrintUnsigned
  - >> __aeabi_idivmod
  - >> rtc_set_calendar
  - >> RTC_EVT_whole_minute_adj
  - >> RTC_SET
  - >> rtc_set_compare
  - >> _GAPStartScan
  - >> _BMGetNextBondDevice
  - >> _printf_core

  __aeabi_idiv (Thumb, 0 bytes, Stack size 16 bytes, idiv.o(.text), UNUSED)

  __aeabi_idivmod (Thumb, 40 bytes, Stack size 16 bytes, idiv.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = __aeabi_idivmod ⇒ __aeabi_uidivmod
  [Calls]
  - >> __aeabi_uidivmod
  [Called By]
  - >> _PrintInt
  - >> smart_latency_start

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

  - >> case_insensitive_strcmp

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

  - >> Setting4kUpdate
  - >> ota_rsp
  - >> ota_cmd
  - >> Cmd4KSETTINGWrite
  - >> EvtCommandComplete
  - >> i2c_1_read
  - >> i2c_1_write
  - >> i2c_0_read
  - >> i2c_0_write
  - >> AttWriteFlash
  - >> _GAPStartAdv
  - >> _LLENCReq
  - >> _LCTxPkt_Handler
  - >> _LCRxPkt_Handler
  - >> SEGGER_RTT_WriteSkipNoLock
  - >> SEGGER_RTT_WriteWithOverwriteNoLock
  - >> SEGGER_RTT_ReadNoLock
  - >> _WriteNoCheck
  - >> _WriteBlocking
  - >> BleInit
  - >> JsProtocol_Report
  - >> ble_evt_callback
  - >> print
  - >> print_value
  - >> print_string_ptr
  - >> ensure
  - >> cJSON_strdup
  - >> gap_set_flash_data_info
  - >> gap_s_verdor_datas_set
  - >> SetDevAddr_toflash
  - >> _BMGetNextBondDevice
  - >> internal_alloc

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

  - >> create_reference

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

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

  - >> _memset$wrapper
  - >> __aeabi_memclr

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

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

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

  - >> __aeabi_memset
  [Called By]
  - >> _LCRxPkt_Handler
  - >> smart_latency_clear

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

  - >> cJSON_PrintPreallocated
  - >> cJSON_PrintBuffered
  - >> cJSON_ParseWithLengthOpts
  - >> print
  - >> print_number
  - >> cJSON_New_Item

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

  - >> SEGGER_RTT_TerminalOut
  - >> SEGGER_RTT_WriteString
  - >> cJSON_ParseWithOpts
  - >> cJSON_SetValuestring
  - >> print_value
  - >> update_offset
  - >> cJSON_strdup

  strcmp (Thumb, 28 bytes, Stack size 8 bytes, strcmp.o(.text), UNUSED)
  [Called By]

  - >> cJSON_Compare
  - >> get_object_item

  memcmp (Thumb, 26 bytes, Stack size 12 bytes, memcmp.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = memcmp
  [Called By]
  - >> _LLENCReq

  strcpy (Thumb, 18 bytes, Stack size 0 bytes, strcpy.o(.text))
  [Called By]

  - >> _DoInit
  - >> cJSON_SetValuestring
  - >> print_value
  - >> print_string_ptr

  strncmp (Thumb, 30 bytes, Stack size 12 bytes, strncmp.o(.text), UNUSED)
  [Called By]

  - >> parse_value
  - >> skip_utf8_bom

  __aeabi_uread4 (Thumb, 20 bytes, Stack size 0 bytes, uread4.o(.text))
  [Called By]

  - >> WriteFlashData
  - >> Setting4kUpdate
  - >> FlashDataUpdate
  - >> CodeErase
  - >> ota_cmd
  - >> CmdFlashdataUpgradev30
  - >> CmdFwUpgradev20
  - >> Cmd4KSETTINGUpgrade
  - >> AttWriteFlash
  - >> _LCTimer_Handler
  - >> SetEvtCallback
  - >> ReadFlashData
  - >> EraseFlashData
  - >> BleInit
  - >> ble_evt_callback
  - >> rtc_set_calendar
  - >> rtc_set_compare
  - >> Xtal_trim_set
  - >> Xtal_trim_get
  - >> gap_set_flash_data_info
  - >> gap_get_flash_data_info
  - >> flash_data_size_set
  - >> flash_data_size_get
  - >> WriteCodeB
  - >> ReadCodeB
  - >> EraseCodeB
  - >> flash_peotect_key_confirm
  - >> gap_s_verdor_datas_set
  - >> gap_s_verdor_datas_get
  - >> SetDevAddr_toflash
  - >> _FMCodeWrite
  - >> CodeErase_sector
  - >> _BMGetNextBondDevice
  - >> Lib_EvtCallback
  - >> Lib_LLEvtCallback

  __rt_uread4 (Thumb, 0 bytes, Stack size 0 bytes, uread4.o(.text), UNUSED)

  _uread4 (Thumb, 0 bytes, Stack size 0 bytes, uread4.o(.text), UNUSED)

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

  - >> _LCTimer_Handler
  - >> SetEvtCallback
  - >> ble_init
  - >> PowerDown
  - >> flash_data_size_set

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

  _uwrite4 (Thumb, 0 bytes, Stack size 0 bytes, uwrite4.o(.text), UNUSED)

  __0sscanf (Thumb, 50 bytes, Stack size 72 bytes, __0sscanf.o(.text))
  [Stack]

  - Max Depth = 264
  - Call Chain = __0sscanf ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real
  [Calls]
  - >> __vfscanf_char
  [Called By]
  - >> print_number

  _scanf_real (Thumb, 0 bytes, Stack size 104 bytes, scanf_fp.o(.text))
  [Stack]

  - Max Depth = 104
  - Call Chain = _scanf_real
  [Called By]
  - >> __vfscanf
  - >> _local_sscanf

  _scanf_really_real (Thumb, 586 bytes, Stack size 104 bytes, scanf_fp.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_d2f
  - >> _is_digit
  - >> _fp_value

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

  - Max Depth = 36
  - Call Chain = __aeabi_fadd ⇒ _float_epilogue
  [Calls]
  - >> _float_round
  - >> _float_epilogue
  [Called By]
  - >> lsm6dso_from_lsb_to_celsius
  - >> lis2dh12_from_lsb_lp_to_celsius
  - >> lis2dh12_from_lsb_nm_to_celsius
  - >> lis2dh12_from_lsb_hr_to_celsius
  - >> __aeabi_fsub
  - >> __aeabi_frsub
  - >> Lsm6dso_RPM_Cal
  - >> smart_update_latency_updatareq

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

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

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

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

  __aeabi_fmul (Thumb, 122 bytes, Stack size 16 bytes, fmul.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = __aeabi_fmul
  [Called By]
  - >> lsm6dso_from_lsb_to_nsec
  - >> lsm6dso_from_fs2000_to_mdps
  - >> lsm6dso_from_fs1000_to_mdps
  - >> lsm6dso_from_fs250_to_mdps
  - >> lsm6dso_from_fs500_to_mdps
  - >> lsm6dso_from_fs125_to_mdps
  - >> lsm6dso_from_fs16_to_mg
  - >> lsm6dso_from_fs8_to_mg
  - >> lsm6dso_from_fs4_to_mg
  - >> lsm6dso_from_fs2_to_mg
  - >> lis2dh12_from_lsb_lp_to_celsius
  - >> lis2dh12_from_fs16_lp_to_mg
  - >> lis2dh12_from_fs8_lp_to_mg
  - >> lis2dh12_from_fs4_lp_to_mg
  - >> lis2dh12_from_fs2_lp_to_mg
  - >> lis2dh12_from_fs16_nm_to_mg
  - >> lis2dh12_from_fs8_nm_to_mg
  - >> lis2dh12_from_fs4_nm_to_mg
  - >> lis2dh12_from_fs2_nm_to_mg
  - >> lis2dh12_from_fs16_hr_to_mg
  - >> lis2dh12_from_fs8_hr_to_mg
  - >> lis2dh12_from_fs4_hr_to_mg
  - >> lis2dh12_from_fs2_hr_to_mg
  - >> Lsm6dso_RPM_Cal
  - >> cal_battery_value

  __aeabi_fdiv (Thumb, 124 bytes, Stack size 16 bytes, fdiv.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = __aeabi_fdiv
  [Calls]
  - >> _float_round
  [Called By]
  - >> lsm6dso_from_lsb_to_celsius
  - >> lis2dh12_from_lsb_lp_to_celsius
  - >> lis2dh12_from_fs16_lp_to_mg
  - >> lis2dh12_from_fs8_lp_to_mg
  - >> lis2dh12_from_fs4_lp_to_mg
  - >> lis2dh12_from_fs2_lp_to_mg
  - >> lis2dh12_from_lsb_nm_to_celsius
  - >> lis2dh12_from_fs16_nm_to_mg
  - >> lis2dh12_from_fs8_nm_to_mg
  - >> lis2dh12_from_fs4_nm_to_mg
  - >> lis2dh12_from_fs2_nm_to_mg
  - >> lis2dh12_from_lsb_hr_to_celsius
  - >> lis2dh12_from_fs16_hr_to_mg
  - >> lis2dh12_from_fs8_hr_to_mg
  - >> lis2dh12_from_fs4_hr_to_mg
  - >> lis2dh12_from_fs2_hr_to_mg
  - >> Lsm6dso_RPM_Cal
  - >> cal_battery_value

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

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

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

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

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

  - >> __aeabi_dadd

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

  - Max Depth = 128
  - Call Chain = __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> _double_epilogue
  [Called By]
  - >> Lsm6dso_RPM_Cal
  - >> Timer_Evt_Creat
  - >> cal_battery_value
  - >> compare_double
  - >> Timer_Evt_ReSet
  - >> smart_update_latency_updatareq
  - >> smart_latency_start
  - >> _fp_value
  - >> _fp_digits

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

  - Max Depth = 48
  - Call Chain = __aeabi_ddiv ⇒ _double_round
  [Calls]
  - >> _double_round
  [Called By]
  - >> Lsm6dso_RPM_Cal
  - >> cal_battery_value
  - >> smart_update_latency_updatareq
  - >> _fp_value
  - >> _fp_digits

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

  - Max Depth = 20
  - Call Chain = __aeabi_i2f ⇒ _float_epilogue
  [Calls]
  - >> _float_epilogue
  [Called By]
  - >> lsm6dso_from_lsb_to_nsec
  - >> lsm6dso_from_lsb_to_celsius
  - >> lsm6dso_from_fs2000_to_mdps
  - >> lsm6dso_from_fs1000_to_mdps
  - >> lsm6dso_from_fs250_to_mdps
  - >> lsm6dso_from_fs500_to_mdps
  - >> lsm6dso_from_fs125_to_mdps
  - >> lsm6dso_from_fs16_to_mg
  - >> lsm6dso_from_fs8_to_mg
  - >> lsm6dso_from_fs4_to_mg
  - >> lsm6dso_from_fs2_to_mg
  - >> lis2dh12_from_lsb_lp_to_celsius
  - >> lis2dh12_from_fs16_lp_to_mg
  - >> lis2dh12_from_fs8_lp_to_mg
  - >> lis2dh12_from_fs4_lp_to_mg
  - >> lis2dh12_from_fs2_lp_to_mg
  - >> lis2dh12_from_lsb_nm_to_celsius
  - >> lis2dh12_from_fs16_nm_to_mg
  - >> lis2dh12_from_fs8_nm_to_mg
  - >> lis2dh12_from_fs4_nm_to_mg
  - >> lis2dh12_from_fs2_nm_to_mg
  - >> lis2dh12_from_lsb_hr_to_celsius
  - >> lis2dh12_from_fs16_hr_to_mg
  - >> lis2dh12_from_fs8_hr_to_mg
  - >> lis2dh12_from_fs4_hr_to_mg
  - >> lis2dh12_from_fs2_hr_to_mg
  - >> Lsm6dso_RPM_Cal

  __aeabi_ui2f (Thumb, 14 bytes, Stack size 8 bytes, ffltui.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = __aeabi_ui2f ⇒ _float_epilogue
  [Calls]
  - >> _float_epilogue
  [Called By]
  - >> cal_battery_value
  - >> smart_update_latency_updatareq

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

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

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

  - Max Depth = 72
  - Call Chain = __aeabi_ui2d ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> _double_epilogue
  [Called By]
  - >> Timer_Evt_Creat
  - >> Timer_Evt_ReSet
  - >> smart_update_latency_updatareq
  - >> smart_latency_start

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

  - >> Lsm6dso_RPM_Cal

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

  - Max Depth = 24
  - Call Chain = __aeabi_d2iz ⇒ __aeabi_llsr
  [Calls]
  - >> __aeabi_llsr
  [Called By]
  - >> cal_battery_value
  - >> cJSON_CreateNumber
  - >> cJSON_SetNumberHelper
  - >> parse_number

  __aeabi_d2uiz (Thumb, 50 bytes, Stack size 8 bytes, dfixui.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = __aeabi_d2uiz ⇒ __aeabi_llsr
  [Calls]
  - >> __aeabi_llsr
  [Called By]
  - >> Timer_Evt_Creat
  - >> Timer_Evt_ReSet
  - >> smart_update_latency_updatareq
  - >> smart_latency_start

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

  - >> Lsm6dso_RPM_Cal
  - >> cal_battery_value
  - >> cJSON_CreateFloatArray
  - >> smart_update_latency_updatareq

  __aeabi_cdcmpeq (Thumb, 0 bytes, Stack size 0 bytes, cdcmple.o(.text), UNUSED)

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

  - >> cJSON_CreateNumber
  - >> cJSON_SetNumberHelper
  - >> compare_double
  - >> parse_number

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

  - >> cJSON_CreateNumber
  - >> cJSON_SetNumberHelper
  - >> compare_double
  - >> parse_number
  - >> _fp_digits

  __aeabi_d2f (Thumb, 56 bytes, Stack size 8 bytes, d2f.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __aeabi_d2f
  [Calls]
  - >> _float_round
  [Called By]
  - >> Lsm6dso_RPM_Cal
  - >> cal_battery_value
  - >> _scanf_really_real

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

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

  __aeabi_lmul (Thumb, 122 bytes, Stack size 64 bytes, llmul.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_llsl
  [Called By]
  - >> _fp_value

  _ll_mul (Thumb, 0 bytes, Stack size 64 bytes, llmul.o(.text), UNUSED)

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

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

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

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

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

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

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

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

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

  __vfscanf_char (Thumb, 24 bytes, Stack size 8 bytes, scanf_char.o(.text))
  [Stack]

  - Max Depth = 192
  - Call Chain = __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real
  [Calls]
  - >> __vfscanf
  [Called By]
  - >> __0sscanf

  _sgetc (Thumb, 32 bytes, Stack size 0 bytes, _sgetc.o(.text))
  [Address Reference Count : 2]

  - __0sscanf.o(.text)
  - strtod.o(.text)

  _sbackspace (Thumb, 36 bytes, Stack size 0 bytes, _sgetc.o(.text))
  [Address Reference Count : 2]

  - __0sscanf.o(.text)
  - strtod.o(.text)

  __strtod_int (Thumb, 94 bytes, Stack size 40 bytes, strtod.o(.text), UNUSED)
  [Calls]

  - >> _local_sscanf
  [Called By]
  - >> strtod

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

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

  - >> __aeabi_fdiv
  - >> __aeabi_fadd
  - >> __aeabi_d2f

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

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

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

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

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

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

  __aeabi_ul2d (Thumb, 22 bytes, Stack size 16 bytes, dfltul.o(.text), UNUSED)
  [Calls]

  - >> _double_epilogue
  [Called By]
  - >> _fp_value

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

  - >> __aeabi_llsr
  - >> __aeabi_llsl
  [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)

  isspace (Thumb, 14 bytes, Stack size 8 bytes, isspace_c.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = isspace
  [Calls]
  - >> __ctype_lookup
  [Address Reference Count : 2]
  - scanf_char.o(.text)
  - strtod.o(.text)

  __vfscanf (Thumb, 812 bytes, Stack size 80 bytes, _scanf.o(.text))
  [Stack]

  - Max Depth = 184
  - Call Chain = __vfscanf ⇒ _scanf_real
  [Calls]
  - >> _scanf_string (Weak Reference)
  - >> _scanf_longlong (Weak Reference)
  - >> _scanf_int (Weak Reference)
  - >> _scanf_real
  [Called By]
  - >> __vfscanf_char

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

  - >> isspace

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

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

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

  - >> _sputc
  - >> _printf_core

  __1sprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0sprintf), UNUSED)

  __2sprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0sprintf))
  [Stack]

  - Max Depth = 24
  - Call Chain = __2sprintf
  [Called By]
  - >> SEGGER_RTT_vprintf
  - >> cJSON_Version
  - >> print_string_ptr
  - >> print_number

  __c89sprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0sprintf), UNUSED)

  sprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0sprintf), UNUSED)

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

  - >> _double_epilogue

  __ARM_common_switch8 (Thumb, 26 bytes, Stack size 8 bytes, main.o(i.__ARM_common_switch8))
  [Stack]

  - Max Depth = 8
  - Call Chain = __ARM_common_switch8
  [Called By]
  - >> lsm6dso_xl_hp_path_on_out_get
  - >> lsm6dso_gy_lp1_bandwidth_get
  - >> lsm6dso_gy_data_rate_get
  - >> lsm6dso_gy_full_scale_get
  - >> lsm6dso_xl_data_rate_get
  - >> lis2dh12_high_pass_int_conf_get
  - >> lis2dh12_data_rate_get
  - >> GPADC_Init
  - >> ble_evt_callback
  - >> parse_number
  - >> lsm6dso_data_get
  - >> lsm6dso_mode_get
  - >> lsm6dso_mode_set
  - >> lsm6dso_mag_x_orient_get
  - >> lsm6dso_mag_y_orient_get
  - >> lsm6dso_mag_z_orient_get
  - >> lsm6dso_den_mode_get
  - >> lsm6dso_fifo_sensor_tag_get
  - >> lsm6dso_fifo_mode_get
  - >> lsm6dso_fifo_gy_batch_get
  - >> lsm6dso_fifo_xl_batch_get
  - >> lsm6dso_compression_algo_get
  - >> lsm6dso_ff_threshold_get
  - >> lsm6dso_tap_axis_priority_get
  - >> lsm6dso_aux_xl_bandwidth_get
  - >> lsm6dso_aux_gy_full_scale_get
  - >> ble_SetTxPower

  free (Thumb, 94 bytes, Stack size 12 bytes, mallocr.o(i.__free$realloc))
  [Stack]

  - Max Depth = 12
  - Call Chain = free
  [Called By]
  - >> JsProtocol_Report
  - >> realloc
  [Address Reference Count : 2]
  - cjson.o(.text)
  - cjson.o(.data)

  malloc (Thumb, 54 bytes, Stack size 24 bytes, mallocr.o(i.__malloc$realloc))
  [Stack]

  - Max Depth = 48
  - Call Chain = malloc ⇒ internal_alloc
  [Calls]
  - >> internal_alloc
  [Called By]
  - >> JsProtocol_Report
  - >> realloc
  [Address Reference Count : 2]
  - cjson.o(.text)
  - cjson.o(.data)

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

  _is_digit (Thumb, 14 bytes, Stack size 0 bytes, scanf_fp.o(i._is_digit), UNUSED)
  [Called By]

  - >> _scanf_really_real

  realloc (Thumb, 110 bytes, Stack size 40 bytes, mallocr.o(i.realloc))
  [Stack]

  - Max Depth = 88
  - Call Chain = realloc ⇒ malloc ⇒ internal_alloc
  [Calls]
  - >> malloc
  - >> free
  - >> internal_alloc
  [Address Reference Count : 2]
  - cjson.o(.text)
  - cjson.o(.data)

  strtod (Thumb, 28 bytes, Stack size 16 bytes, strtod.o(i.strtod), UNUSED)
  [Calls]

  - >> __strtod_int
  [Called By]
  - >> parse_number

  ### Local Symbols

  __NVIC_EnableIRQ (Thumb, 26 bytes, Stack size 0 bytes, uart.o(.text), UNUSED)
  [Called By]

  - >> uart_1_init
  - >> uart_0_init

  __NVIC_DisableIRQ (Thumb, 28 bytes, Stack size 0 bytes, uart.o(.text), UNUSED)
  [Called By]

  - >> uart_1_close
  - >> uart_0_close

  EvtCommandComplete (Thumb, 46 bytes, Stack size 16 bytes, ota.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = EvtCommandComplete
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> CmdFwErase
  - >> CmdFlashdataUpgradev30
  - >> CmdFwUpgradev20
  - >> Cmd4KSETTINGUpgrade
  - >> CmdFwWriteStart
  - >> Cmd4KSETTINGWrite

  Cmd4KSETTINGWrite (Thumb, 120 bytes, Stack size 16 bytes, ota.o(.text))
  [Stack]

  - Max Depth = 432
  - Call Chain = Cmd4KSETTINGWrite ⇒ SEGGER_RTT_printf ⇒ SEGGER_RTT_vprintf ⇒ _PrintInt ⇒ _PrintUnsigned ⇒ _StoreChar ⇒ SEGGER_RTT_Write ⇒ SEGGER_RTT_WriteNoLock ⇒ _WriteNoCheck
  [Calls]
  - >> SEGGER_RTT_printf
  - >> EvtCommandComplete
  - >> __aeabi_memcpy
  [Called By]
  - >> ota_cmd

  CmdFwWriteStart (Thumb, 36 bytes, Stack size 24 bytes, ota.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = CmdFwWriteStart ⇒ EvtCommandComplete
  [Calls]
  - >> EvtCommandComplete
  [Called By]
  - >> ota_cmd

  Cmd4KSETTINGUpgrade (Thumb, 80 bytes, Stack size 24 bytes, ota.o(.text))
  [Stack]

  - Max Depth = 440
  - Call Chain = Cmd4KSETTINGUpgrade ⇒ SEGGER_RTT_printf ⇒ SEGGER_RTT_vprintf ⇒ _PrintInt ⇒ _PrintUnsigned ⇒ _StoreChar ⇒ SEGGER_RTT_Write ⇒ SEGGER_RTT_WriteNoLock ⇒ _WriteNoCheck
  [Calls]
  - >> Setting4kUpdate
  - >> SEGGER_RTT_printf
  - >> EvtCommandComplete
  - >> __aeabi_uread4
  [Called By]
  - >> ota_cmd

  CmdFwUpgradev20 (Thumb, 134 bytes, Stack size 24 bytes, ota.o(.text))
  [Stack]

  - Max Depth = 440
  - Call Chain = CmdFwUpgradev20 ⇒ SEGGER_RTT_printf ⇒ SEGGER_RTT_vprintf ⇒ _PrintInt ⇒ _PrintUnsigned ⇒ _StoreChar ⇒ SEGGER_RTT_Write ⇒ SEGGER_RTT_WriteNoLock ⇒ _WriteNoCheck
  [Calls]
  - >> SEGGER_RTT_printf
  - >> CodeWrite
  - >> CodeUpdate
  - >> EvtCommandComplete
  - >> __aeabi_uread4
  [Called By]
  - >> ota_cmd

  CmdFlashdataUpgradev30 (Thumb, 104 bytes, Stack size 24 bytes, ota.o(.text))
  [Stack]

  - Max Depth = 440
  - Call Chain = CmdFlashdataUpgradev30 ⇒ SEGGER_RTT_printf ⇒ SEGGER_RTT_vprintf ⇒ _PrintInt ⇒ _PrintUnsigned ⇒ _StoreChar ⇒ SEGGER_RTT_Write ⇒ SEGGER_RTT_WriteNoLock ⇒ _WriteNoCheck
  [Calls]
  - >> SEGGER_RTT_printf
  - >> FlashDataUpdate
  - >> EvtCommandComplete
  - >> __aeabi_uread4
  [Called By]
  - >> ota_cmd

  lis2dh12_xyz_axis_enable_set (Thumb, 94 bytes, Stack size 24 bytes, lis2dh.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = lis2dh12_xyz_axis_enable_set ⇒ lis2dh12_write_reg
  [Calls]
  - >> lis2dh12_write_reg
  - >> lis2dh12_read_reg
  [Called By]
  - >> Lis2dh_Init

  platform1_delay (Thumb, 12 bytes, Stack size 8 bytes, lis2dh.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = platform1_delay
  [Calls]
  - >> delay_ms
  [Called By]
  - >> Lis2dh_Init
  [Address Reference Count : 1]
  - lis2dh.o(.text)

  platform1_read (Thumb, 42 bytes, Stack size 40 bytes, lis2dh.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = platform1_read ⇒ i2c_1_read
  [Calls]
  - >> i2c_1_read
  [Address Reference Count : 1]
  - lis2dh.o(.text)

  platform1_write (Thumb, 42 bytes, Stack size 40 bytes, lis2dh.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = platform1_write ⇒ i2c_1_write
  [Calls]
  - >> i2c_1_write
  [Address Reference Count : 1]
  - lis2dh.o(.text)

  platform0_delay (Thumb, 12 bytes, Stack size 8 bytes, lsm6d.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = platform0_delay
  [Calls]
  - >> delay_ms
  [Called By]
  - >> Lsm6dso_Init
  [Address Reference Count : 1]
  - lsm6d.o(.text)

  platform0_read (Thumb, 42 bytes, Stack size 40 bytes, lsm6d.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = platform0_read ⇒ i2c_0_read
  [Calls]
  - >> i2c_0_read
  [Address Reference Count : 1]
  - lsm6d.o(.text)

  platform0_write (Thumb, 42 bytes, Stack size 40 bytes, lsm6d.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = platform0_write ⇒ i2c_0_write
  [Calls]
  - >> i2c_0_write
  [Address Reference Count : 1]
  - lsm6d.o(.text)

  Cadence_Stop_Judge (Thumb, 86 bytes, Stack size 0 bytes, lsm6d.o(.text))
  [Called By]

  - >> Lsm6dso_RPM_Cal

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

  - >> lsm6dso_mode_get
  - >> lsm6dso_mode_set
  - >> lsm6dso_all_sources_get

  case_insensitive_strcmp (Thumb, 76 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> tolower
  [Called By]
  - >> get_object_item

  cJSON_strdup (Thumb, 52 bytes, Stack size 24 bytes, cjson.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = cJSON_strdup
  [Calls]
  - >> strlen
  - >> __aeabi_memcpy
  [Called By]
  - >> cJSON_Duplicate
  - >> cJSON_CreateRaw
  - >> cJSON_CreateString
  - >> cJSON_SetValuestring
  - >> replace_item_in_object
  - >> add_item_to_object

  cJSON_New_Item (Thumb, 28 bytes, Stack size 16 bytes, cjson.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = cJSON_New_Item
  [Calls]
  - >> __aeabi_memclr4
  [Called By]
  - >> cJSON_Duplicate
  - >> cJSON_CreateArrayReference
  - >> cJSON_CreateObjectReference
  - >> cJSON_CreateStringReference
  - >> cJSON_CreateArray
  - >> cJSON_CreateObject
  - >> cJSON_CreateRaw
  - >> cJSON_CreateString
  - >> cJSON_CreateNumber
  - >> cJSON_CreateBool
  - >> cJSON_CreateFalse
  - >> cJSON_CreateTrue
  - >> cJSON_CreateNull
  - >> cJSON_ParseWithLengthOpts
  - >> create_reference
  - >> parse_array
  - >> parse_object

  get_decimal_point (Thumb, 4 bytes, Stack size 0 bytes, cjson.o(.text))
  [Called By]

  - >> print_number
  - >> parse_number

  parse_number (Thumb, 298 bytes, Stack size 104 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_d2iz
  - >> __aeabi_cdrcmple
  - >> __aeabi_cdcmple
  - >> get_decimal_point
  - >> strtod
  - >> __ARM_common_switch8
  [Called By]
  - >> parse_value

  ensure (Thumb, 248 bytes, Stack size 24 bytes, cjson.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = ensure
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> print_value
  - >> print_array
  - >> print_object
  - >> print_string_ptr
  - >> print_number

  update_offset (Thumb, 40 bytes, Stack size 16 bytes, cjson.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = update_offset
  [Calls]
  - >> strlen
  [Called By]
  - >> print
  - >> print_array
  - >> print_object

  compare_double (Thumb, 116 bytes, Stack size 48 bytes, cjson.o(.text))
  [Stack]

  - Max Depth = 176
  - Call Chain = compare_double ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> __aeabi_dmul
  - >> __aeabi_dsub
  - >> __aeabi_cdrcmple
  - >> __aeabi_cdcmple
  [Called By]
  - >> cJSON_Compare
  - >> print_number

  print_number (Thumb, 278 bytes, Stack size 88 bytes, cjson.o(.text))
  [Stack]

  - Max Depth = 352
  - Call Chain = print_number ⇒ __0sscanf ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real
  [Calls]
  - >> compare_double
  - >> ensure
  - >> get_decimal_point
  - >> __aeabi_memclr4
  - >> __0sscanf
  - >> __2sprintf
  [Called By]
  - >> print_value

  parse_hex4 (Thumb, 90 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)
  [Called By]

  - >> utf16_literal_to_utf8

  utf16_literal_to_utf8 (Thumb, 370 bytes, Stack size 56 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> parse_hex4
  [Called By]
  - >> parse_string

  parse_string (Thumb, 406 bytes, Stack size 40 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> utf16_literal_to_utf8
  [Called By]
  - >> parse_value
  - >> parse_object

  print_string_ptr (Thumb, 370 bytes, Stack size 40 bytes, cjson.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = print_string_ptr ⇒ ensure
  [Calls]
  - >> ensure
  - >> strcpy
  - >> __aeabi_memcpy
  - >> __2sprintf
  [Called By]
  - >> print_object
  - >> print_string

  print_string (Thumb, 16 bytes, Stack size 16 bytes, cjson.o(.text))
  [Stack]

  - Max Depth = 80
  - Call Chain = print_string ⇒ print_string_ptr ⇒ ensure
  [Calls]
  - >> print_string_ptr
  [Called By]
  - >> print_value

  buffer_skip_whitespace (Thumb, 80 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)
  [Called By]

  - >> cJSON_ParseWithLengthOpts
  - >> parse_array
  - >> parse_object

  skip_utf8_bom (Thumb, 66 bytes, Stack size 8 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> strncmp
  [Called By]
  - >> cJSON_ParseWithLengthOpts

  parse_object (Thumb, 340 bytes, Stack size 32 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_Delete
  - >> parse_value
  - >> buffer_skip_whitespace
  - >> parse_string
  - >> cJSON_New_Item
  [Called By]
  - >> parse_value

  parse_array (Thumb, 282 bytes, Stack size 32 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_Delete
  - >> parse_value
  - >> buffer_skip_whitespace
  - >> cJSON_New_Item
  [Called By]
  - >> parse_value

  parse_value (Thumb, 314 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> parse_array
  - >> parse_object
  - >> parse_string
  - >> parse_number
  - >> strncmp
  [Called By]
  - >> cJSON_ParseWithLengthOpts
  - >> parse_array
  - >> parse_object

  print_object (Thumb, 396 bytes, Stack size 32 bytes, cjson.o(.text))
  [Stack]

  - Max Depth = 96 + In Cycle
  - Call Chain = print_object ⇒ print_value (Cycle)
  [Calls]
  - >> print_value
  - >> print_string_ptr
  - >> update_offset
  - >> ensure
  [Called By]
  - >> print_value

  print_array (Thumb, 212 bytes, Stack size 32 bytes, cjson.o(.text))
  [Stack]

  - Max Depth = 56 + In Cycle
  - Call Chain = print_array ⇒ print_value (Cycle)
  [Calls]
  - >> print_value
  - >> update_offset
  - >> ensure
  [Called By]
  - >> print_value

  print_value (Thumb, 238 bytes, Stack size 24 bytes, cjson.o(.text))
  [Stack]

  - Max Depth = 376
  - Call Chain = print_value ⇒ print_number ⇒ __0sscanf ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real
  [Calls]
  - >> print_array
  - >> print_object
  - >> print_string
  - >> print_number
  - >> ensure
  - >> strcpy
  - >> strlen
  - >> __aeabi_memcpy
  [Called By]
  - >> cJSON_PrintPreallocated
  - >> cJSON_PrintBuffered
  - >> print
  - >> print_array
  - >> print_object

  print (Thumb, 192 bytes, Stack size 56 bytes, cjson.o(.text))
  [Stack]

  - Max Depth = 432
  - Call Chain = print ⇒ print_value ⇒ print_number ⇒ __0sscanf ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_real
  [Calls]
  - >> print_value
  - >> update_offset
  - >> __aeabi_memclr4
  - >> __aeabi_memcpy
  [Called By]
  - >> cJSON_PrintUnformatted
  - >> cJSON_Print

  get_array_item (Thumb, 32 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)
  [Called By]

  - >> cJSON_ReplaceItemInArray
  - >> cJSON_InsertItemInArray
  - >> cJSON_DetachItemFromArray
  - >> cJSON_GetArrayItem

  get_object_item (Thumb, 94 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> case_insensitive_strcmp
  - >> strcmp
  [Called By]
  - >> cJSON_Compare
  - >> cJSON_GetObjectItemCaseSensitive
  - >> cJSON_GetObjectItem
  - >> replace_item_in_object

  suffix_object (Thumb, 6 bytes, Stack size 0 bytes, cjson.o(.text))
  [Called By]

  - >> cJSON_CreateStringArray
  - >> cJSON_CreateDoubleArray
  - >> cJSON_CreateFloatArray
  - >> cJSON_CreateIntArray
  - >> add_item_to_array

  create_reference (Thumb, 62 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_New_Item
  - >> __aeabi_memcpy4
  [Called By]
  - >> cJSON_AddItemReferenceToObject
  - >> cJSON_AddItemReferenceToArray

  add_item_to_array (Thumb, 62 bytes, Stack size 16 bytes, cjson.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = add_item_to_array
  [Calls]
  - >> suffix_object
  [Called By]
  - >> cJSON_InsertItemInArray
  - >> cJSON_AddItemReferenceToArray
  - >> cJSON_AddItemToArray
  - >> add_item_to_object

  cast_away_const (Thumb, 2 bytes, Stack size 0 bytes, cjson.o(.text))
  [Called By]

  - >> cJSON_CreateArrayReference
  - >> cJSON_CreateObjectReference
  - >> cJSON_CreateStringReference
  - >> add_item_to_object

  add_item_to_object (Thumb, 146 bytes, Stack size 32 bytes, cjson.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = add_item_to_object ⇒ cJSON_strdup
  [Calls]
  - >> cast_away_const
  - >> add_item_to_array
  - >> cJSON_strdup
  [Called By]
  - >> cJSON_AddArrayToObject
  - >> cJSON_AddObjectToObject
  - >> cJSON_AddRawToObject
  - >> cJSON_AddStringToObject
  - >> cJSON_AddNumberToObject
  - >> cJSON_AddBoolToObject
  - >> cJSON_AddFalseToObject
  - >> cJSON_AddTrueToObject
  - >> cJSON_AddNullToObject
  - >> cJSON_AddItemReferenceToObject
  - >> cJSON_AddItemToObjectCS
  - >> cJSON_AddItemToObject

  replace_item_in_object (Thumb, 90 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
  [Calls]

  - >> cJSON_ReplaceItemViaPointer
  - >> cJSON_free
  - >> get_object_item
  - >> cJSON_strdup
  [Called By]
  - >> cJSON_ReplaceItemInObjectCaseSensitive
  - >> cJSON_ReplaceItemInObject

  skip_oneline_comment (Thumb, 42 bytes, Stack size 0 bytes, cjson.o(.text))
  [Called By]

  - >> cJSON_Minify

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

  - >> cJSON_Minify

  minify_string (Thumb, 122 bytes, Stack size 0 bytes, cjson.o(.text))
  [Called By]

  - >> cJSON_Minify

  __NVIC_SetPriority (Thumb, 110 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

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

  PowerDown (Thumb, 164 bytes, Stack size 16 bytes, main.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = PowerDown ⇒ Lsm6dso_Disable ⇒ lsm6dso_reset_set ⇒ lsm6dso_write_reg
  [Calls]
  - >> Lsm6dso_Disable
  - >> WriteFlashData
  - >> GPIO_Pin_Clear
  - >> GPIO_Pin_Set
  - >> delay_ms
  - >> WakeupConfig
  - >> SystemPowerDown
  - >> EraseFlashData
  - >> __aeabi_uwrite4
  [Called By]
  - >> main

  timer_1_callback (Thumb, 44 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = timer_1_callback ⇒ timer_1_disable
  [Calls]
  - >> timer_1_disable
  [Address Reference Count : 1]
  - main.o(.text)

  send_to_master (Thumb, 202 bytes, Stack size 40 bytes, main.o(.text))
  [Stack]

  - Max Depth = 240
  - Call Chain = send_to_master ⇒ BLE_SendRPPData ⇒ GATTDataSend ⇒ smart_latency_start ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> timer_1_enable
  - >> BLE_SendRPPData
  [Called By]
  - >> main

  battery_timer_event (Thumb, 54 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 208
  - Call Chain = battery_timer_event ⇒ get_battery_value ⇒ BLE_NotifyBatteryLevel ⇒ GATTDataSend ⇒ smart_latency_start ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> get_battery_value
  [Called By]
  - >> timer_event_handler

  work_timer_event (Thumb, 162 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = work_timer_event ⇒ Timer2_Disable ⇒ timer_2_disable
  [Calls]
  - >> Timer2_Disable
  - >> GPIO_Pin_Read
  - >> DisConnect
  [Called By]
  - >> timer_event_handler

  timer_event_handler (Thumb, 122 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 456
  - Call Chain = timer_event_handler ⇒ Connection_latency ⇒ BLSetConnectionUpdate ⇒ SEGGER_RTT_printf ⇒ SEGGER_RTT_vprintf ⇒ _PrintInt ⇒ _PrintUnsigned ⇒ _StoreChar ⇒ SEGGER_RTT_Write ⇒ SEGGER_RTT_WriteNoLock ⇒ _WriteNoCheck
  [Calls]
  - >> Timer_Evt_Clr
  - >> ota_manage
  - >> Connection_latency
  - >> LED_State_Indicator
  - >> work_timer_event
  - >> battery_timer_event
  [Called By]
  - >> main

  setup_adv_data (Thumb, 174 bytes, Stack size 24 bytes, main.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = setup_adv_data ⇒ SetAdvParams
  [Calls]
  - >> SetAdvParams
  - >> SetAdvData
  - >> GetDevAddr
  [Called By]
  - >> ble_evt_callback
  - >> ble_init

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

  - Max Depth = 16
  - Call Chain = rf_stop ⇒ RFSleep
  [Calls]
  - >> RFSleep
  [Called By]
  - >> ble_evt_callback

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

  - Max Depth = 48
  - Call Chain = ble_gatt_read ⇒ ota_rsp
  [Calls]
  - >> ota_rsp
  - >> SetGATTReadRsp
  [Called By]
  - >> ble_evt_callback

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

  - Max Depth = 496
  - Call Chain = ble_gatt_write ⇒ ota_cmd ⇒ BLSetConnectionUpdate ⇒ SEGGER_RTT_printf ⇒ SEGGER_RTT_vprintf ⇒ _PrintInt ⇒ _PrintUnsigned ⇒ _StoreChar ⇒ SEGGER_RTT_Write ⇒ SEGGER_RTT_WriteNoLock ⇒ _WriteNoCheck
  [Calls]
  - >> SEGGER_RTT_printf
  - >> ota_cmd
  - >> SEGGER_RTT_hexdump
  - >> BLE_SendCMDData
  - >> str_cmp
  [Called By]
  - >> ble_evt_callback

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

  - Max Depth = 256
  - Call Chain = ble_init ⇒ BleInit ⇒ LPOCalibration ⇒ smart_latency_start ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> WakeupConfig
  - >> SetWinWideMinusCnt
  - >> SetSecParams
  - >> SetEvtCallback
  - >> SetBondManagerIndex
  - >> GetGATTReportHandle
  - >> BleInit
  - >> setup_adv_data
  - >> __aeabi_uwrite4
  [Called By]
  - >> main

  BSP_ADCConfig (Thumb, 8 bytes, Stack size 8 bytes, mcu_bsp.o(.text))
  [Stack]

  - Max Depth = 36
  - Call Chain = BSP_ADCConfig ⇒ ADC_Config ⇒ GPADC_Init ⇒ __ARM_common_switch8
  [Calls]
  - >> ADC_Config
  [Called By]
  - >> BSP_MCU_Config

  BSP_TimerConfig (Thumb, 8 bytes, Stack size 8 bytes, mcu_bsp.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = BSP_TimerConfig ⇒ Timer_Config ⇒ timer_2_disable
  [Calls]
  - >> Timer_Config
  [Called By]
  - >> BSP_MCU_Config

  BSP_GPIOConfig (Thumb, 24 bytes, Stack size 8 bytes, mcu_bsp.o(.text))
  [Stack]

  - Max Depth = 60
  - Call Chain = BSP_GPIOConfig ⇒ IIC_IO_Config ⇒ i2c_Init ⇒ PIN_Pullup_Enable
  [Calls]
  - >> INT_IO_Config
  - >> Ctr_IO_Config
  - >> IIC_IO_Config
  - >> State_IO_Config
  - >> LED_IO_Config
  [Called By]
  - >> BSP_MCU_Config

  _DoInit (Thumb, 74 bytes, Stack size 8 bytes, segger_rtt.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = _DoInit
  [Calls]
  - >> strcpy
  [Called By]
  - >> SEGGER_RTT_TerminalOut
  - >> SEGGER_RTT_SetTerminal
  - >> SEGGER_RTT_SetFlagsDownBuffer
  - >> SEGGER_RTT_SetFlagsUpBuffer
  - >> SEGGER_RTT_SetNameDownBuffer
  - >> SEGGER_RTT_SetNameUpBuffer
  - >> SEGGER_RTT_ConfigDownBuffer
  - >> SEGGER_RTT_ConfigUpBuffer
  - >> SEGGER_RTT_AllocUpBuffer
  - >> SEGGER_RTT_AllocDownBuffer
  - >> SEGGER_RTT_HasKey
  - >> SEGGER_RTT_PutChar
  - >> SEGGER_RTT_PutCharSkip
  - >> SEGGER_RTT_Write
  - >> SEGGER_RTT_ReadNoLock
  - >> SEGGER_RTT_Init

  _WriteBlocking (Thumb, 122 bytes, Stack size 40 bytes, segger_rtt.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = _WriteBlocking
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> SEGGER_RTT_TerminalOut
  - >> SEGGER_RTT_SetTerminal
  - >> SEGGER_RTT_WriteNoLock
  - >> _PostTerminalSwitch

  _WriteNoCheck (Thumb, 74 bytes, Stack size 40 bytes, segger_rtt.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = _WriteNoCheck
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> SEGGER_RTT_SetTerminal
  - >> SEGGER_RTT_WriteNoLock

  _PostTerminalSwitch (Thumb, 32 bytes, Stack size 16 bytes, segger_rtt.o(.text), UNUSED)
  [Calls]

  - >> _WriteBlocking
  [Called By]
  - >> SEGGER_RTT_TerminalOut

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

  - Max Depth = 8
  - Call Chain = _GetAvailWriteSpace
  [Called By]
  - >> SEGGER_RTT_TerminalOut
  - >> SEGGER_RTT_SetTerminal
  - >> SEGGER_RTT_WriteNoLock

  _StoreChar (Thumb, 68 bytes, Stack size 16 bytes, segger_rtt_printf.o(.text))
  [Stack]

  - Max Depth = 120
  - Call Chain = _StoreChar ⇒ SEGGER_RTT_Write ⇒ SEGGER_RTT_WriteNoLock ⇒ _WriteNoCheck
  [Calls]
  - >> SEGGER_RTT_Write
  [Called By]
  - >> SEGGER_RTT_vprintf
  - >> _PrintInt
  - >> _PrintUnsigned

  _PrintUnsigned (Thumb, 280 bytes, Stack size 56 bytes, segger_rtt_printf.o(.text))
  [Stack]

  - Max Depth = 176
  - Call Chain = _PrintUnsigned ⇒ _StoreChar ⇒ SEGGER_RTT_Write ⇒ SEGGER_RTT_WriteNoLock ⇒ _WriteNoCheck
  [Calls]
  - >> _StoreChar
  - >> __aeabi_uidivmod
  [Called By]
  - >> SEGGER_RTT_vprintf
  - >> _PrintInt

  _PrintInt (Thumb, 270 bytes, Stack size 56 bytes, segger_rtt_printf.o(.text))
  [Stack]

  - Max Depth = 232
  - Call Chain = _PrintInt ⇒ _PrintUnsigned ⇒ _StoreChar ⇒ SEGGER_RTT_Write ⇒ SEGGER_RTT_WriteNoLock ⇒ _WriteNoCheck
  [Calls]
  - >> _PrintUnsigned
  - >> _StoreChar
  - >> __aeabi_idivmod
  [Called By]
  - >> SEGGER_RTT_vprintf

  _LCDisConnect (Thumb, 46 bytes, Stack size 24 bytes, main.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = _LCDisConnect
  [Called By]
  - >> _LCTxPkt_Handler
  - >> _LCRxPkt_Handler
  - >> _LCTimer_Handler
  - >> Lib_ProtocolHookCallback
  - >> Lib_LLEvtCallback

  _LCTimer_Handler (Thumb, 248 bytes, Stack size 40 bytes, main.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = _LCTimer_Handler ⇒ _LCDisConnect
  [Calls]
  - >> _LCDisConnect
  - >> __aeabi_uwrite4
  - >> __aeabi_uread4
  [Called By]
  - >> Lib_MiscCallback

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

  - Max Depth = 56
  - Call Chain = _LCRxPkt_Handler ⇒ _LCDisConnect
  [Calls]
  - >> _rom_rx_sweyntooth_protect
  - >> _BBRXFIFORead
  - >> _LCDisConnect
  - >> __aeabi_memclr
  - >> __aeabi_memcpy
  [Called By]
  - >> Lib_LLEvtCallback

  _LCTxPkt_Handler (Thumb, 316 bytes, Stack size 120 bytes, main.o(.text))
  [Stack]

  - Max Depth = 144
  - Call Chain = _LCTxPkt_Handler ⇒ _LCDisConnect
  [Calls]
  - >> _LCDisConnect
  - >> __aeabi_memcpy
  [Called By]
  - >> Lib_LLEvtCallback

  _LLENCReq (Thumb, 244 bytes, Stack size 72 bytes, main.o(.text))
  [Stack]

  - Max Depth = 156
  - Call Chain = _LLENCReq ⇒ _BMGetNextBondDevice ⇒ __aeabi_uidivmod
  [Calls]
  - >> memcmp
  - >> __aeabi_memcpy
  - >> _BMGetNextBondDevice
  [Called By]
  - >> Lib_ProtocolHookCallback

  _GAPStartAdv (Thumb, 558 bytes, Stack size 24 bytes, main.o(.text))
  [Stack]

  - Max Depth = 36
  - Call Chain = _GAPStartAdv ⇒ __aeabi_uidivmod
  [Calls]
  - >> __aeabi_memcpy
  - >> __aeabi_uidivmod
  [Called By]
  - >> StartAdv

  WaitLLCOverSlpth (Thumb, 38 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = WaitLLCOverSlpth
  [Calls]
  - >> GetOverSlpth
  [Called By]
  - >> Lib_ProtocolHookCallback
  - >> ConnectionLatencyMode

  _BBRXFIFORead (Thumb, 166 bytes, Stack size 20 bytes, main.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = _BBRXFIFORead
  [Called By]
  - >> _LCRxPkt_Handler

  _rom_rx_sweyntooth_protect (Thumb, 150 bytes, Stack size 8 bytes, main.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = _rom_rx_sweyntooth_protect
  [Called By]
  - >> _LCRxPkt_Handler

  STKSetRand (Thumb, 30 bytes, Stack size 16 bytes, main.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = STKSetRand
  [Called By]
  - >> BleInit
  - >> Lib_EvtCallback

  AttWriteFlash (Thumb, 110 bytes, Stack size 40 bytes, main.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_memcpy
  - >> __aeabi_uread4
  [Called By]
  - >> APP_Write_Attribute_Encrypt

  GetOverSlpth (Thumb, 26 bytes, Stack size 0 bytes, main.o(.text))
  [Called By]

  - >> WaitLLCOverSlpth

  Timer_Evt_Trigger (Thumb, 110 bytes, Stack size 16 bytes, timer.o(.text))
  [Stack]

  - Max Depth = 48 + In Cycle
  - Call Chain = Timer_Evt_Trigger ⇒ timer_0_start (Cycle)
  [Calls]
  - >> timer_0_start
  - >> timer_0_disable
  [Called By]
  - >> timer_0_start
  [Address Reference Count : 1]
  - timer.o(.text)

  __NVIC_EnableIRQ (Thumb, 18 bytes, Stack size 0 bytes, timer.o(.text))
  [Called By]

  - >> timer_2_enable
  - >> timer_1_enable
  - >> timer_0_enable

  __NVIC_DisableIRQ (Thumb, 28 bytes, Stack size 0 bytes, timer.o(.text))
  [Called By]

  - >> timer_2_disable
  - >> timer_1_disable
  - >> timer_0_disable

  Timer_RTCEVT_Trigger (Thumb, 150 bytes, Stack size 16 bytes, rtc.o(.text))
  [Stack]

  - Max Depth = 60
  - Call Chain = Timer_RTCEVT_Trigger ⇒ RTC_SET ⇒ rtc_set_compare ⇒ __aeabi_uidivmod
  [Calls]
  - >> rtc_int_disable
  - >> RTC_SET
  - >> RTC_RUN
  [Address Reference Count : 1]
  - rtc.o(.text)

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

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

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

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

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

  - >> _printf_core

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

  - >> _printf_core

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

  - >> __0sprintf
  [Address Reference Count : 1]
  - printfa.o(i.__0sprintf)

  internal_alloc (Thumb, 74 bytes, Stack size 24 bytes, mallocr.o(i.internal_alloc))
  [Stack]

  - Max Depth = 24
  - Call Chain = internal_alloc
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> realloc
  - >> malloc

  _fp_value (Thumb, 286 bytes, Stack size 72 bytes, scanf_fp.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_dmul
  - >> __aeabi_ddiv
  - >> __aeabi_lmul
  - >> __aeabi_ul2d
  [Called By]
  - >> _scanf_really_real

  _scanf_char_input (Thumb, 12 bytes, Stack size 0 bytes, scanf_char.o(.text))
  [Address Reference Count : 1]

  - scanf_char.o(.text)

  _local_sscanf (Thumb, 54 bytes, Stack size 56 bytes, strtod.o(.text), UNUSED)
  [Calls]

  - >> _scanf_real
  [Called By]
  - >> __strtod_int

  ### Undefined Global Symbols

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

  - >> __vfscanf

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

  - >> __vfscanf

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

  - >> __vfscanf