Static Call Graph for image .\Objects\EBF_RA2E1.axf



#<CALLGRAPH># ARM Linker, 6190004: Last Updated: Mon Jul 31 13:51:50 2023

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

Call chain for Maximum Stack Depth:

Reset_Handler ⇒ main ⇒ hal_entry ⇒ chedk_fuc ⇒ max30102_read_sp02_PR ⇒ maxim_heart_rate_and_oxygen_saturation ⇒ maxim_remove_close_peaks ⇒ maxim_sort_indices_descend

Mutually Recursive functions

  • bsp_prv_software_delay_loop   ⇒   bsp_prv_software_delay_loop

    Function Pointers

    Global Symbols

    __aeabi_lmul (Thumb, 48 bytes, Stack size 12 bytes, llmul.o(.text))

    [Stack]


    [Called By]

    _ll_mul (Thumb, 0 bytes, Stack size 12 bytes, llmul.o(.text), UNUSED)

    __aeabi_memcpy (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text))

    [Called By]

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

    [Called By]

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

    [Called By]

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

    [Calls]

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

    [Called By]

    __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_fadd (Thumb, 162 bytes, Stack size 24 bytes, fadd.o(.text))

    [Stack]


    [Calls]
    [Called By]

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

    [Calls]

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

    [Calls]

    __aeabi_fmul (Thumb, 122 bytes, Stack size 16 bytes, fmul.o(.text))

    [Stack]


    [Called By]

    __aeabi_fdiv (Thumb, 124 bytes, Stack size 16 bytes, fdiv.o(.text))

    [Stack]


    [Calls]
    [Called By]

    __aeabi_fcmple (Thumb, 28 bytes, Stack size 0 bytes, fcmple.o(.text))

    [Called By]

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

    [Stack]


    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    __aeabi_ui2f (Thumb, 14 bytes, Stack size 8 bytes, ffltui.o(.text))

    [Stack]


    [Calls]
    [Called By]

    __aeabi_f2iz (Thumb, 50 bytes, Stack size 0 bytes, ffixi.o(.text))

    [Called By]

    __aeabi_f2d (Thumb, 40 bytes, Stack size 0 bytes, f2d.o(.text))

    [Called By]

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

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

    [Stack]


    [Called By]

    __aeabi_uidiv$div0 (Thumb, 0 bytes, Stack size 16 bytes, uidiv_div0.o(.text), UNUSED)

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

    [Called By]

    ADC_Init (Thumb, 36 bytes, Stack size 8 bytes, bsp_adc.o(.text.ADC_Init))

    [Stack]


    [Calls]
    [Called By]

    Debug_UART9_Init (Thumb, 24 bytes, Stack size 8 bytes, bsp_debug_uart.o(.text.Debug_UART9_Init))

    [Stack]


    [Calls]
    [Called By]

    BusFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, startup.o(.text.Default_Handler))
    [Address Reference Count : 1]

    DebugMon_Handler (Thumb, 4 bytes, Stack size 0 bytes, startup.o(.text.Default_Handler))
    [Address Reference Count : 1]

    Default_Handler (Thumb, 4 bytes, Stack size 0 bytes, startup.o(.text.Default_Handler), UNUSED)

    HardFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, startup.o(.text.Default_Handler))
    [Address Reference Count : 1]

    MemManage_Handler (Thumb, 4 bytes, Stack size 0 bytes, startup.o(.text.Default_Handler))
    [Address Reference Count : 1]

    PendSV_Handler (Thumb, 4 bytes, Stack size 0 bytes, startup.o(.text.Default_Handler))
    [Address Reference Count : 1]

    SVC_Handler (Thumb, 4 bytes, Stack size 0 bytes, startup.o(.text.Default_Handler))
    [Address Reference Count : 1]

    SecureFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, startup.o(.text.Default_Handler))
    [Address Reference Count : 1]

    SysTick_Handler (Thumb, 4 bytes, Stack size 0 bytes, startup.o(.text.Default_Handler))
    [Address Reference Count : 1]

    UsageFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, startup.o(.text.Default_Handler))
    [Address Reference Count : 1]

    GPIO_Init (Thumb, 12 bytes, Stack size 0 bytes, bsp_gpio.o(.text.GPIO_Init))

    [Stack]


    [Calls]
    [Called By]

    IIC_Read_One_Byte (Thumb, 66 bytes, Stack size 16 bytes, myiic.o(.text.IIC_Read_One_Byte))

    [Stack]


    [Calls]
    [Called By]

    Key_Scan (Thumb, 148 bytes, Stack size 24 bytes, bsp_gpio.o(.text.Key_Scan))

    [Stack]


    [Calls]
    [Called By]

    LCD_Address_Set (Thumb, 102 bytes, Stack size 24 bytes, lcd_init.o(.text.LCD_Address_Set))

    [Stack]


    [Calls]
    [Called By]

    LCD_Fill (Thumb, 70 bytes, Stack size 32 bytes, lcd.o(.text.LCD_Fill))

    [Stack]


    [Calls]
    [Called By]

    LCD_Init (Thumb, 812 bytes, Stack size 80 bytes, lcd_init.o(.text.LCD_Init))

    [Stack]


    [Calls]
    [Called By]

    LCD_ShowChar (Thumb, 272 bytes, Stack size 72 bytes, lcd.o(.text.LCD_ShowChar))

    [Stack]


    [Calls]
    [Called By]

    LCD_ShowFloatNum1 (Thumb, 200 bytes, Stack size 64 bytes, lcd.o(.text.LCD_ShowFloatNum1))

    [Stack]


    [Calls]
    [Called By]

    LCD_ShowIntNum (Thumb, 168 bytes, Stack size 64 bytes, lcd.o(.text.LCD_ShowIntNum))

    [Stack]


    [Calls]
    [Called By]

    LCD_ShowString (Thumb, 74 bytes, Stack size 48 bytes, lcd.o(.text.LCD_ShowString))

    [Stack]


    [Calls]
    [Called By]

    LCD_WR_DATA (Thumb, 22 bytes, Stack size 8 bytes, lcd_init.o(.text.LCD_WR_DATA))

    [Stack]


    [Calls]
    [Called By]

    LCD_WR_REG (Thumb, 44 bytes, Stack size 16 bytes, lcd_init.o(.text.LCD_WR_REG))

    [Stack]


    [Calls]
    [Called By]

    LCD_Writ_Bus (Thumb, 96 bytes, Stack size 32 bytes, lcd_init.o(.text.LCD_Writ_Bus))

    [Stack]


    [Calls]
    [Called By]

    LED_show_main (Thumb, 236 bytes, Stack size 32 bytes, oximeter.o(.text.LED_show_main))

    [Stack]


    [Calls]
    [Called By]

    NMI_Handler (Thumb, 44 bytes, Stack size 24 bytes, bsp_group_irq.o(.text.NMI_Handler))

    [Stack]


    [Address Reference Count : 1]

    PinRead (Thumb, 16 bytes, Stack size 16 bytes, bsp_gpio.o(.text.PinRead))

    [Stack]


    [Calls]
    [Called By]

    R_ADC_Open (Thumb, 268 bytes, Stack size 40 bytes, r_adc.o(.text.R_ADC_Open))

    [Stack]


    [Calls]
    [Called By]

    R_ADC_Read (Thumb, 14 bytes, Stack size 0 bytes, r_adc.o(.text.R_ADC_Read))

    [Called By]

    R_ADC_ScanCfg (Thumb, 436 bytes, Stack size 32 bytes, r_adc.o(.text.R_ADC_ScanCfg))

    [Stack]


    [Called By]

    R_ADC_ScanStart (Thumb, 10 bytes, Stack size 0 bytes, r_adc.o(.text.R_ADC_ScanStart))

    [Called By]

    R_BSP_Init_RTC (Thumb, 8 bytes, Stack size 0 bytes, bsp_clocks.o(.text.R_BSP_Init_RTC))

    [Called By]

    R_BSP_RegisterProtectDisable (Thumb, 52 bytes, Stack size 8 bytes, bsp_register_protection.o(.text.R_BSP_RegisterProtectDisable))

    [Stack]


    [Called By]

    R_BSP_RegisterProtectEnable (Thumb, 56 bytes, Stack size 8 bytes, bsp_register_protection.o(.text.R_BSP_RegisterProtectEnable))

    [Stack]


    [Called By]

    R_BSP_SoftwareDelay (Thumb, 88 bytes, Stack size 24 bytes, bsp_delay.o(.text.R_BSP_SoftwareDelay))

    [Stack]


    [Calls]
    [Called By]

    R_BSP_WarmStart (Thumb, 24 bytes, Stack size 0 bytes, hal_entry.o(.text.R_BSP_WarmStart))

    [Stack]


    [Calls]
    [Called By]

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

    R_IOPORT_Open (Thumb, 16 bytes, Stack size 8 bytes, r_ioport.o(.text.R_IOPORT_Open))

    [Stack]


    [Calls]
    [Called By]
    [Address Reference Count : 1]

    R_IOPORT_PinCfg (Thumb, 128 bytes, Stack size 24 bytes, r_ioport.o(.text.R_IOPORT_PinCfg))

    [Stack]


    [Address Reference Count : 1]

    R_IOPORT_PinEventInputRead (Thumb, 32 bytes, Stack size 0 bytes, r_ioport.o(.text.R_IOPORT_PinEventInputRead))
    [Address Reference Count : 1]

    R_IOPORT_PinEventOutputWrite (Thumb, 72 bytes, Stack size 16 bytes, r_ioport.o(.text.R_IOPORT_PinEventOutputWrite))

    [Stack]


    [Address Reference Count : 1]

    R_IOPORT_PinRead (Thumb, 24 bytes, Stack size 0 bytes, r_ioport.o(.text.R_IOPORT_PinRead))

    [Called By]


    [Address Reference Count : 1]

    R_IOPORT_PinWrite (Thumb, 32 bytes, Stack size 0 bytes, r_ioport.o(.text.R_IOPORT_PinWrite))

    [Called By]


    [Address Reference Count : 1]

    R_IOPORT_PinsCfg (Thumb, 12 bytes, Stack size 8 bytes, r_ioport.o(.text.R_IOPORT_PinsCfg))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    R_IOPORT_PortDirectionSet (Thumb, 32 bytes, Stack size 16 bytes, r_ioport.o(.text.R_IOPORT_PortDirectionSet))

    [Stack]


    [Address Reference Count : 1]

    R_IOPORT_PortEventInputRead (Thumb, 20 bytes, Stack size 0 bytes, r_ioport.o(.text.R_IOPORT_PortEventInputRead))
    [Address Reference Count : 1]

    R_IOPORT_PortEventOutputWrite (Thumb, 28 bytes, Stack size 0 bytes, r_ioport.o(.text.R_IOPORT_PortEventOutputWrite))
    [Address Reference Count : 1]

    R_IOPORT_PortRead (Thumb, 20 bytes, Stack size 0 bytes, r_ioport.o(.text.R_IOPORT_PortRead))
    [Address Reference Count : 1]

    R_IOPORT_PortWrite (Thumb, 28 bytes, Stack size 0 bytes, r_ioport.o(.text.R_IOPORT_PortWrite))
    [Address Reference Count : 1]

    R_SCI_UART_Open (Thumb, 548 bytes, Stack size 40 bytes, r_sci_uart.o(.text.R_SCI_UART_Open))

    [Stack]


    [Calls]
    [Called By]

    R_SCI_UART_Write (Thumb, 68 bytes, Stack size 16 bytes, r_sci_uart.o(.text.R_SCI_UART_Write))

    [Stack]


    [Called By]

    Read_ADC_Voltage_Value (Thumb, 56 bytes, Stack size 16 bytes, bsp_adc.o(.text.Read_ADC_Voltage_Value))

    [Stack]


    [Calls]
    [Called By]

    Reset_Handler (Thumb, 10 bytes, Stack size 0 bytes, startup.o(.text.Reset_Handler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    SystemCoreClockUpdate (Thumb, 24 bytes, Stack size 0 bytes, bsp_clocks.o(.text.SystemCoreClockUpdate))

    [Called By]

    SystemInit (Thumb, 224 bytes, Stack size 24 bytes, system.o(.text.SystemInit))

    [Stack]


    [Calls]
    [Called By]

    __aeabi_assert (Thumb, 4 bytes, Stack size 0 bytes, bsp_common.o(.text.__aeabi_assert))

    [Called By]

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

    adc_scan_end_isr (Thumb, 6 bytes, Stack size 0 bytes, r_adc.o(.text.adc_scan_end_isr))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    bsp_clock_init (Thumb, 152 bytes, Stack size 24 bytes, bsp_clocks.o(.text.bsp_clock_init))

    [Stack]


    [Calls]
    [Called By]

    bsp_init (Thumb, 2 bytes, Stack size 0 bytes, bsp_common.o(.text.bsp_init_internal))

    [Called By]

    bsp_init_internal (Thumb, 2 bytes, Stack size 0 bytes, bsp_common.o(.text.bsp_init_internal), UNUSED)

    bsp_irq_cfg (Thumb, 20 bytes, Stack size 0 bytes, bsp_irq.o(.text.bsp_irq_cfg))

    [Called By]

    bsp_prv_software_delay_loop (Thumb, 8 bytes, Stack size 0 bytes, bsp_delay.o(.text.bsp_prv_software_delay_loop))

    [Calls]


    [Called By]

    chedk_fuc (Thumb, 304 bytes, Stack size 64 bytes, oximeter.o(.text.chedk_fuc))

    [Stack]


    [Calls]
    [Called By]

    debug_uart_callback (Thumb, 32 bytes, Stack size 0 bytes, bsp_debug_uart.o(.text.debug_uart_callback))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    fputc (Thumb, 36 bytes, Stack size 16 bytes, bsp_debug_uart.o(.text.fputc))

    [Stack]


    [Calls]
    [Called By]
    [Address Reference Count : 1]

    hal_entry (Thumb, 68 bytes, Stack size 8 bytes, hal_entry.o(.text.hal_entry))

    [Stack]


    [Calls]
    [Called By]

    iic_ack (Thumb, 100 bytes, Stack size 24 bytes, myiic.o(.text.iic_ack))

    [Stack]


    [Calls]
    [Called By]

    iic_init (Thumb, 4 bytes, Stack size 0 bytes, myiic.o(.text.iic_init))

    [Stack]


    [Calls]
    [Called By]

    iic_nack (Thumb, 76 bytes, Stack size 16 bytes, myiic.o(.text.iic_nack))

    [Stack]


    [Calls]
    [Called By]

    iic_read_byte (Thumb, 124 bytes, Stack size 48 bytes, myiic.o(.text.iic_read_byte))

    [Stack]


    [Calls]
    [Called By]

    iic_send_byte (Thumb, 108 bytes, Stack size 32 bytes, myiic.o(.text.iic_send_byte))

    [Stack]


    [Calls]
    [Called By]

    iic_start (Thumb, 96 bytes, Stack size 24 bytes, myiic.o(.text.iic_start))

    [Stack]


    [Calls]
    [Called By]

    iic_stop (Thumb, 80 bytes, Stack size 24 bytes, myiic.o(.text.iic_stop))

    [Stack]


    [Calls]
    [Called By]

    iic_wait_ack (Thumb, 112 bytes, Stack size 24 bytes, myiic.o(.text.iic_wait_ack))

    [Stack]


    [Calls]
    [Called By]

    main (Thumb, 10 bytes, Stack size 8 bytes, main.o(.text.main))

    [Stack]


    [Calls]
    [Called By]

    max30102_Bus_Read (Thumb, 70 bytes, Stack size 16 bytes, max30102.o(.text.max30102_Bus_Read))

    [Stack]


    [Calls]
    [Called By]

    max30102_Bus_Write (Thumb, 60 bytes, Stack size 16 bytes, max30102.o(.text.max30102_Bus_Write))

    [Stack]


    [Calls]
    [Called By]

    max30102_FIFO_ReadBytes (Thumb, 126 bytes, Stack size 16 bytes, max30102.o(.text.max30102_FIFO_ReadBytes))

    [Stack]


    [Calls]
    [Called By]

    max30102_init (Thumb, 148 bytes, Stack size 24 bytes, max30102.o(.text.max30102_init))

    [Stack]


    [Calls]
    [Called By]

    max30102_read_sp02_PR (Thumb, 240 bytes, Stack size 880 bytes, max30102.o(.text.max30102_read_sp02_PR))

    [Stack]


    [Calls]
    [Called By]

    max30102_read_temp (Thumb, 82 bytes, Stack size 16 bytes, max30102.o(.text.max30102_read_temp))

    [Stack]


    [Calls]
    [Called By]

    max30102_read_temp_volt (Thumb, 28 bytes, Stack size 8 bytes, max30102.o(.text.max30102_read_temp_volt))

    [Stack]


    [Calls]
    [Called By]

    max30102_reset (Thumb, 52 bytes, Stack size 16 bytes, max30102.o(.text.max30102_reset))

    [Stack]


    [Calls]
    [Called By]

    maxim_heart_rate_and_oxygen_saturation (Thumb, 1056 bytes, Stack size 296 bytes, algorithm.o(.text.maxim_heart_rate_and_oxygen_saturation))

    [Stack]


    [Calls]
    [Called By]

    maxim_peaks_above_min_height (Thumb, 158 bytes, Stack size 52 bytes, algorithm.o(.text.maxim_peaks_above_min_height))

    [Stack]


    [Called By]

    maxim_remove_close_peaks (Thumb, 168 bytes, Stack size 56 bytes, algorithm.o(.text.maxim_remove_close_peaks))

    [Stack]


    [Calls]
    [Called By]

    maxim_sort_ascend (Thumb, 66 bytes, Stack size 24 bytes, algorithm.o(.text.maxim_sort_ascend))

    [Stack]


    [Called By]

    maxim_sort_indices_descend (Thumb, 92 bytes, Stack size 40 bytes, algorithm.o(.text.maxim_sort_indices_descend))

    [Stack]


    [Called By]

    rtc_carry_isr (Thumb, 36 bytes, Stack size 0 bytes, r_rtc.o(.text.rtc_carry_isr))
    [Address Reference Count : 1]

    sci_uart_eri_isr (Thumb, 88 bytes, Stack size 16 bytes, r_sci_uart.o(.text.sci_uart_eri_isr))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    sci_uart_rxi_isr (Thumb, 124 bytes, Stack size 24 bytes, r_sci_uart.o(.text.sci_uart_rxi_isr))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    sci_uart_tei_isr (Thumb, 56 bytes, Stack size 8 bytes, r_sci_uart.o(.text.sci_uart_tei_isr))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    sci_uart_txi_isr (Thumb, 120 bytes, Stack size 0 bytes, r_sci_uart.o(.text.sci_uart_txi_isr))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    __0printf$1 (Thumb, 24 bytes, Stack size 24 bytes, printf1.o(i.__0printf$1), UNUSED)

    [Calls]

    __1printf$1 (Thumb, 0 bytes, Stack size 24 bytes, printf1.o(i.__0printf$1), UNUSED)

    __2printf (Thumb, 0 bytes, Stack size 24 bytes, printf1.o(i.__0printf$1))

    [Stack]


    [Called By]

    puts (Thumb, 28 bytes, Stack size 8 bytes, puts.o(i.puts))

    [Stack]


    [Calls]
    [Called By]

    Local Symbols

    bsp_prv_operating_mode_opccr_set (Thumb, 36 bytes, Stack size 0 bytes, bsp_clocks.o(.text.bsp_prv_operating_mode_opccr_set))

    [Called By]

    r_adc_irq_enable (Thumb, 80 bytes, Stack size 20 bytes, r_adc.o(.text.r_adc_irq_enable))

    [Stack]


    [Called By]

    r_adc_scan_end_common_isr (Thumb, 120 bytes, Stack size 88 bytes, r_adc.o(.text.r_adc_scan_end_common_isr))

    [Stack]


    [Called By]

    r_ioport_pins_config (Thumb, 164 bytes, Stack size 32 bytes, r_ioport.o(.text.r_ioport_pins_config))

    [Stack]


    [Called By]

    r_sci_irq_cfg (Thumb, 76 bytes, Stack size 16 bytes, r_sci_uart.o(.text.r_sci_irq_cfg))

    [Stack]


    [Called By]

    r_sci_uart_call_callback (Thumb, 62 bytes, Stack size 48 bytes, r_sci_uart.o(.text.r_sci_uart_call_callback))

    [Stack]


    [Called By]

    _printf_core (Thumb, 332 bytes, Stack size 88 bytes, printf1.o(i._printf_core), UNUSED)

    [Calls]


    [Called By]

    Undefined Global Symbols