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



#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Wed Jan 02 14:45:36 2019

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

Call chain for Maximum Stack Depth:

doCmdWriteBlock ⇒ flashWriteBlock ⇒ Program

Mutually Recursive functions

  • NMI_Handler   ⇒   NMI_Handler
  • HardFault_Handler   ⇒   HardFault_Handler
  • SVC_Handler   ⇒   SVC_Handler
  • PendSV_Handler   ⇒   PendSV_Handler
  • SysTick_Handler   ⇒   SysTick_Handler
  • ADC_OVR_IRQHandler   ⇒   ADC_OVR_IRQHandler

    Function Pointers

    Global Symbols

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

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

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

    [Called By]

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

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

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

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

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

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

    secondaryLoaderAppEntry (Thumb, 20 bytes, Stack size 0 bytes, keil_startup.o(.text))

    [Called By]

    bootValidApp (Thumb, 8 bytes, Stack size 0 bytes, keil_startup.o(.text))

    [Called By]

    NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, keil_startup.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    HardFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, keil_startup.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, keil_startup.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, keil_startup.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    SysTick_Handler (Thumb, 2 bytes, Stack size 0 bytes, keil_startup.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    ADC_OVR_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, keil_startup.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


    [Called By]

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

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

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

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

    [Calls]

    __scatterload (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))

    [Calls]


    [Called By]

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

    Chip_CRC_Deinit (Thumb, 10 bytes, Stack size 8 bytes, crc_8xx.o(i.Chip_CRC_Deinit))

    [Stack]


    [Calls]
    [Called By]

    Chip_CRC_Init (Thumb, 10 bytes, Stack size 8 bytes, crc_8xx.o(i.Chip_CRC_Init))

    [Stack]


    [Calls]
    [Called By]

    Chip_GPIO_DeInit (Thumb, 10 bytes, Stack size 8 bytes, gpio.o(i.Chip_GPIO_DeInit))

    [Stack]


    [Calls]
    [Called By]

    GPIOGetPinValue (Thumb, 24 bytes, Stack size 0 bytes, gpio.o(i.GPIOGetPinValue))

    [Called By]

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

    Chip_I2CS_XferHandler (Thumb, 118 bytes, Stack size 16 bytes, i2cs_8xx.o(i.Chip_I2CS_XferHandler))

    [Stack]


    [Called By]

    CleanUpSystem (Thumb, 64 bytes, Stack size 8 bytes, sl_main.o(i.CleanUpSystem))

    [Stack]


    [Calls]
    [Called By]

    Disable_Periph_Clock (Thumb, 44 bytes, Stack size 0 bytes, syscon.o(i.Disable_Periph_Clock))

    [Called By]

    Enable_Periph_Clock (Thumb, 44 bytes, Stack size 0 bytes, syscon.o(i.Enable_Periph_Clock))

    [Called By]

    ErasePages (Thumb, 94 bytes, Stack size 24 bytes, flashprg.o(i.ErasePages))

    [Stack]


    [Calls]
    [Called By]

    EraseSector (Thumb, 80 bytes, Stack size 16 bytes, flashprg.o(i.EraseSector))

    [Stack]


    [Calls]
    [Called By]

    GPIOInit (Thumb, 40 bytes, Stack size 0 bytes, gpio.o(i.GPIOInit))

    [Called By]

    GPIOSetBitValue (Thumb, 46 bytes, Stack size 12 bytes, gpio.o(i.GPIOSetBitValue))

    [Stack]


    [Called By]

    GPIOSetDir (Thumb, 46 bytes, Stack size 12 bytes, gpio.o(i.GPIOSetDir))

    [Stack]


    [Called By]

    GetSecNum (Thumb, 6 bytes, Stack size 0 bytes, flashprg.o(i.GetSecNum))

    [Called By]

    Hostif_AssertIRQ (Thumb, 20 bytes, Stack size 8 bytes, sl_hostif.o(i.Hostif_AssertIRQ))

    [Stack]


    [Calls]
    [Called By]

    Hostif_DeAssertIRQ (Thumb, 20 bytes, Stack size 8 bytes, sl_hostif.o(i.Hostif_DeAssertIRQ))

    [Stack]


    [Calls]
    [Called By]

    Hostif_Init (Thumb, 14 bytes, Stack size 0 bytes, sl_hostif.o(i.Hostif_Init))

    [Called By]

    I2C0_IRQHandler (Thumb, 10 bytes, Stack size 8 bytes, sl_hostif_i2c.o(i.I2C0_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    I2C1_IRQHandler (Thumb, 10 bytes, Stack size 8 bytes, sl_hostif_i2c.o(i.I2C1_IRQHandler))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    IRQ_Pin_Config (Thumb, 10 bytes, Stack size 0 bytes, sl_hostif.o(i.IRQ_Pin_Config))

    [Called By]

    Program (Thumb, 86 bytes, Stack size 24 bytes, flashprg.o(i.Program))

    [Stack]


    [Calls]
    [Called By]

    SystemCoreClockUpdate (Thumb, 122 bytes, Stack size 16 bytes, system.o(i.SystemCoreClockUpdate))

    [Stack]


    [Calls]
    [Called By]

    SystemInit (Thumb, 74 bytes, Stack size 8 bytes, system.o(i.SystemInit))

    [Stack]


    [Address Reference Count : 1]

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

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

    boot_App_ImageCheck (Thumb, 96 bytes, Stack size 16 bytes, sl_main.o(i.boot_App_ImageCheck))

    [Stack]


    [Calls]
    [Called By]

    boot_ImageCheck (Thumb, 24 bytes, Stack size 8 bytes, sl_main.o(i.boot_ImageCheck))

    [Stack]


    [Calls]
    [Called By]

    checkAppCRC (Thumb, 46 bytes, Stack size 8 bytes, sl_crc_check.o(i.checkAppCRC))

    [Stack]


    [Calls]
    [Called By]

    computeAppCRC (Thumb, 94 bytes, Stack size 16 bytes, sl_crc_check.o(i.computeAppCRC))

    [Stack]


    [Calls]
    [Called By]

    computeCrc32 (Thumb, 46 bytes, Stack size 16 bytes, sl_crc_check.o(i.computeCrc32))

    [Stack]


    [Calls]
    [Called By]

    doCleanBoot (Thumb, 16 bytes, Stack size 8 bytes, sl_main.o(i.doCleanBoot))

    [Stack]


    [Calls]
    [Called By]

    doCmdBoot (Thumb, 14 bytes, Stack size 8 bytes, sl_hostif.o(i.doCmdBoot))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    doCmdCheckImage (Thumb, 18 bytes, Stack size 16 bytes, sl_hostif.o(i.doCmdCheckImage))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    doCmdGetVersion (Thumb, 12 bytes, Stack size 0 bytes, sl_hostif.o(i.doCmdGetVersion))
    [Address Reference Count : 1]

    doCmdPageErase (Thumb, 28 bytes, Stack size 16 bytes, sl_hostif.o(i.doCmdPageErase))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    doCmdPageRead (Thumb, 42 bytes, Stack size 16 bytes, sl_hostif.o(i.doCmdPageRead))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    doCmdPageWrite (Thumb, 64 bytes, Stack size 24 bytes, sl_hostif.o(i.doCmdPageWrite))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    doCmdProbe (Thumb, 94 bytes, Stack size 8 bytes, sl_hostif.o(i.doCmdProbe))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    doCmdReadBlock (Thumb, 58 bytes, Stack size 24 bytes, sl_hostif.o(i.doCmdReadBlock))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    doCmdReadSubBlock (Thumb, 88 bytes, Stack size 24 bytes, sl_hostif.o(i.doCmdReadSubBlock))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    doCmdReset (Thumb, 4 bytes, Stack size 0 bytes, sl_hostif.o(i.doCmdReset))

    [Calls]


    [Address Reference Count : 1]

    doCmdSectorErase (Thumb, 26 bytes, Stack size 16 bytes, sl_hostif.o(i.doCmdSectorErase))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

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

    doCmdWriteBlock (Thumb, 198 bytes, Stack size 24 bytes, sl_hostif.o(i.doCmdWriteBlock))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    doCmdWriteSubBlock (Thumb, 152 bytes, Stack size 24 bytes, sl_hostif.o(i.doCmdWriteSubBlock))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    flashErasePage (Thumb, 48 bytes, Stack size 8 bytes, sl_flash.o(i.flashErasePage))

    [Stack]


    [Calls]
    [Called By]

    flashEraseSector (Thumb, 26 bytes, Stack size 8 bytes, sl_flash.o(i.flashEraseSector))

    [Stack]


    [Calls]
    [Called By]

    flashReadBlock (Thumb, 34 bytes, Stack size 8 bytes, sl_flash.o(i.flashReadBlock))

    [Stack]


    [Calls]
    [Called By]

    flashReadPage (Thumb, 30 bytes, Stack size 8 bytes, sl_flash.o(i.flashReadPage))

    [Stack]


    [Calls]
    [Called By]

    flashWriteBlock (Thumb, 70 bytes, Stack size 16 bytes, sl_flash.o(i.flashWriteBlock))

    [Stack]


    [Calls]
    [Called By]

    flashWritePage (Thumb, 36 bytes, Stack size 8 bytes, sl_flash.o(i.flashWritePage))

    [Stack]


    [Calls]
    [Called By]

    hostIfPacketPending (Thumb, 16 bytes, Stack size 0 bytes, sl_hostif.o(i.hostIfPacketPending))

    [Called By]

    hostifAutoDetect (Thumb, 48 bytes, Stack size 8 bytes, sl_main.o(i.hostifAutoDetect))

    [Stack]


    [Calls]
    [Called By]

    loopHostIfI2C (Thumb, 66 bytes, Stack size 24 bytes, sl_hostif_i2c.o(i.loopHostIfI2C))

    [Stack]


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

    main (Thumb, 136 bytes, Stack size 0 bytes, sl_main.o(i.main))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    parsePortData (Thumb, 12 bytes, Stack size 0 bytes, sl_hostif.o(i.parsePortData))

    [Called By]

    pinCheckValidHostif (Thumb, 80 bytes, Stack size 12 bytes, sl_pin_manager.o(i.pinCheckValidHostif))

    [Stack]


    [Called By]

    processHostIfPacket (Thumb, 120 bytes, Stack size 24 bytes, sl_hostif.o(i.processHostIfPacket))

    [Stack]


    [Calls]
    [Called By]

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

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    setupInterfaceI2C (Thumb, 40 bytes, Stack size 0 bytes, sl_hostif_i2c.o(i.setupInterfaceI2C))

    [Called By]

    setupMuxingI2C (Thumb, 52 bytes, Stack size 0 bytes, sl_hostif_i2c.o(i.setupMuxingI2C))

    [Called By]

    shutdownInterfaceI2C (Thumb, 54 bytes, Stack size 16 bytes, sl_hostif_i2c.o(i.shutdownInterfaceI2C))

    [Stack]


    [Calls]
    [Called By]

    startHostIfI2C (Thumb, 60 bytes, Stack size 16 bytes, sl_hostif_i2c.o(i.startHostIfI2C))

    [Stack]


    [Called By]

    Local Symbols

    Chip_CRC_UseCRC32 (Thumb, 16 bytes, Stack size 0 bytes, sl_crc_check.o(i.Chip_CRC_UseCRC32))

    [Called By]

    NVIC_SystemReset (Thumb, 16 bytes, Stack size 0 bytes, sl_hostif.o(i.NVIC_SystemReset))

    [Called By]

    I2C_GetClockID (Thumb, 14 bytes, Stack size 0 bytes, sl_hostif_i2c.o(i.I2C_GetClockID))

    [Called By]

    processSlaveTransferDone (Thumb, 8 bytes, Stack size 0 bytes, sl_hostif_i2c.o(i.processSlaveTransferDone))

    [Called By]

    processSlaveTransferDone_0 (Thumb, 14 bytes, Stack size 8 bytes, sl_hostif_i2c.o(i.processSlaveTransferDone_0))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    processSlaveTransferDone_1 (Thumb, 14 bytes, Stack size 8 bytes, sl_hostif_i2c.o(i.processSlaveTransferDone_1))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    processSlaveTransferDone_2 (Thumb, 14 bytes, Stack size 8 bytes, sl_hostif_i2c.o(i.processSlaveTransferDone_2))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    processSlaveTransferRecv (Thumb, 18 bytes, Stack size 0 bytes, sl_hostif_i2c.o(i.processSlaveTransferRecv))
    [Address Reference Count : 1]

    processSlaveTransferSend (Thumb, 36 bytes, Stack size 8 bytes, sl_hostif_i2c.o(i.processSlaveTransferSend))

    [Stack]


    [Address Reference Count : 1]

    processSlaveTransferStart (Thumb, 18 bytes, Stack size 8 bytes, sl_hostif_i2c.o(i.processSlaveTransferStart))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    I2C_Interface_Config (Thumb, 38 bytes, Stack size 8 bytes, sl_main.o(i.I2C_Interface_Config))

    [Stack]


    [Calls]
    [Called By]

    I2C_Interface_Detect (Thumb, 70 bytes, Stack size 16 bytes, sl_main.o(i.I2C_Interface_Detect))

    [Stack]


    [Calls]
    [Called By]

    isbootFromReset (Thumb, 18 bytes, Stack size 0 bytes, sl_main.o(i.isbootFromReset))

    [Called By]

    Undefined Global Symbols