Static Call Graph for image .\obj\RTOSDemo.axf



#<CALLGRAPH># ARM Linker, RVCT4.0 [Build 728]: Last Updated: Thu Dec 09 16:23:54 2010

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

Call chain for Maximum Stack Depth:

main ⇒ vTaskStartScheduler ⇒ xTaskGenericCreate ⇒ prvAllocateTCBAndStack ⇒ pvPortMalloc ⇒ xTaskResumeAll ⇒ vPortExitCritical

Mutually Recursive functions

  • NMI_Handler   ⇒   NMI_Handler
  • HardFault_Handler   ⇒   HardFault_Handler
  • SVC_Handler   ⇒   SVC_Handler
  • Default_Handler   ⇒   Default_Handler
  • PendSV_Handler   ⇒   PendSV_Handler
  • SysTick_Handler   ⇒   SysTick_Handler

    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_init (Thumb, 0 bytes, Stack size unknown bytes, entry7.o(.ARM.Collect$$$$00000007))

    vPortStartFirstTask (Thumb, 56 bytes, Stack size 0 bytes, port.o(.emb_text))

    [Called By]

    xPortPendSVHandler (Thumb, 72 bytes, Stack size 0 bytes, port.o(.emb_text))

    [Calls]


    [Address Reference Count : 1]

    vPortSetInterruptMask (Thumb, 4 bytes, Stack size 0 bytes, port.o(.emb_text))

    [Called By]

    vPortClearInterruptMask (Thumb, 4 bytes, Stack size 0 bytes, port.o(.emb_text))

    [Called By]

    Reset_Handler (Thumb, 32 bytes, Stack size 0 bytes, startup_m051series.o(.text))

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

    [Calls]


    [Called By]
    [Address Reference Count : 1]

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

    [Calls]


    [Called By]
    [Address Reference Count : 1]

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

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_m051series.o(.text), UNUSED, KEPT)

    [Calls]


    [Called By]

    SysTick_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_m051series.o(.text), UNUSED, KEPT)

    [Calls]


    [Called By]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    Thread_Task2 (Thumb, 28 bytes, Stack size 8 bytes, thread_test.o(.text))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    Thread_Task1 (Thumb, 28 bytes, Stack size 8 bytes, thread_test.o(.text))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    vStartThreadTasks (Thumb, 52 bytes, Stack size 24 bytes, thread_test.o(.text))

    [Stack]


    [Calls]
    [Called By]

    xTaskGenericCreate (Thumb, 272 bytes, Stack size 48 bytes, tasks.o(.text))

    [Stack]


    [Calls]
    [Called By]

    vTaskDelete (Thumb, 112 bytes, Stack size 16 bytes, tasks.o(.text), UNUSED)

    [Calls]

    vTaskIncrementTick (Thumb, 180 bytes, Stack size 8 bytes, tasks.o(.text))

    [Stack]


    [Calls]
    [Called By]

    xTaskResumeAll (Thumb, 214 bytes, Stack size 16 bytes, tasks.o(.text))

    [Stack]


    [Calls]
    [Called By]

    vTaskSuspendAll (Thumb, 30 bytes, Stack size 0 bytes, tasks.o(.text))

    [Called By]

    vTaskDelayUntil (Thumb, 148 bytes, Stack size 24 bytes, tasks.o(.text))

    [Stack]


    [Calls]
    [Called By]

    vTaskDelay (Thumb, 94 bytes, Stack size 16 bytes, tasks.o(.text), UNUSED)

    [Calls]

    uxTaskPriorityGet (Thumb, 32 bytes, Stack size 16 bytes, tasks.o(.text), UNUSED)

    [Calls]

    vTaskPrioritySet (Thumb, 162 bytes, Stack size 24 bytes, tasks.o(.text), UNUSED)

    [Calls]

    vTaskSuspend (Thumb, 76 bytes, Stack size 16 bytes, tasks.o(.text), UNUSED)

    [Calls]

    xTaskIsTaskSuspended (Thumb, 70 bytes, Stack size 8 bytes, tasks.o(.text), UNUSED)

    [Called By]

    vTaskResume (Thumb, 96 bytes, Stack size 16 bytes, tasks.o(.text), UNUSED)

    [Calls]

    xTaskResumeFromISR (Thumb, 108 bytes, Stack size 16 bytes, tasks.o(.text), UNUSED)

    [Calls]

    vTaskStartScheduler (Thumb, 54 bytes, Stack size 24 bytes, tasks.o(.text))

    [Stack]


    [Calls]
    [Called By]

    vTaskEndScheduler (Thumb, 46 bytes, Stack size 8 bytes, tasks.o(.text), UNUSED)

    [Calls]

    xTaskGetTickCount (Thumb, 18 bytes, Stack size 8 bytes, tasks.o(.text))

    [Stack]


    [Calls]
    [Called By]

    uxTaskGetNumberOfTasks (Thumb, 8 bytes, Stack size 0 bytes, tasks.o(.text), UNUSED)

    vTaskSwitchContext (Thumb, 100 bytes, Stack size 0 bytes, tasks.o(.text))

    [Called By]

    vTaskPlaceOnEventList (Thumb, 104 bytes, Stack size 16 bytes, tasks.o(.text), UNUSED)

    [Calls]

    xTaskRemoveFromEventList (Thumb, 116 bytes, Stack size 16 bytes, tasks.o(.text), UNUSED)

    [Calls]

    vTaskSetTimeOutState (Thumb, 16 bytes, Stack size 0 bytes, tasks.o(.text), UNUSED)

    [Called By]

    xTaskCheckForTimeOut (Thumb, 94 bytes, Stack size 16 bytes, tasks.o(.text), UNUSED)

    [Calls]

    vTaskMissedYield (Thumb, 10 bytes, Stack size 0 bytes, tasks.o(.text), UNUSED)

    xTaskGetCurrentTaskHandle (Thumb, 6 bytes, Stack size 0 bytes, tasks.o(.text), UNUSED)

    vTaskPriorityInherit (Thumb, 108 bytes, Stack size 16 bytes, tasks.o(.text), UNUSED)

    [Calls]

    vTaskPriorityDisinherit (Thumb, 74 bytes, Stack size 16 bytes, tasks.o(.text), UNUSED)

    [Calls]

    vListInitialise (Thumb, 26 bytes, Stack size 0 bytes, list.o(.text))

    [Called By]

    vListInitialiseItem (Thumb, 6 bytes, Stack size 0 bytes, list.o(.text))

    [Called By]

    vListInsertEnd (Thumb, 28 bytes, Stack size 0 bytes, list.o(.text))

    [Called By]

    vListInsert (Thumb, 50 bytes, Stack size 8 bytes, list.o(.text))

    [Stack]


    [Called By]

    vListRemove (Thumb, 36 bytes, Stack size 0 bytes, list.o(.text))

    [Called By]

    pvPortMalloc (Thumb, 206 bytes, Stack size 24 bytes, heap_2.o(.text))

    [Stack]


    [Calls]
    [Called By]

    vPortFree (Thumb, 66 bytes, Stack size 16 bytes, heap_2.o(.text))

    [Stack]


    [Calls]
    [Called By]

    xPortGetFreeHeapSize (Thumb, 8 bytes, Stack size 0 bytes, heap_2.o(.text), UNUSED)

    vPortInitialiseBlocks (Thumb, 2 bytes, Stack size 0 bytes, heap_2.o(.text), UNUSED)

    pxPortInitialiseStack (Thumb, 26 bytes, Stack size 0 bytes, port.o(.text))

    [Called By]

    xPortStartScheduler (Thumb, 48 bytes, Stack size 8 bytes, port.o(.text))

    [Stack]


    [Calls]
    [Called By]

    vPortEndScheduler (Thumb, 2 bytes, Stack size 0 bytes, port.o(.text), UNUSED)

    [Called By]

    vPortYieldFromISR (Thumb, 10 bytes, Stack size 0 bytes, port.o(.text))

    [Called By]

    vPortEnterCritical (Thumb, 18 bytes, Stack size 8 bytes, port.o(.text))

    [Stack]


    [Calls]
    [Called By]

    vPortExitCritical (Thumb, 26 bytes, Stack size 8 bytes, port.o(.text))

    [Stack]


    [Calls]
    [Called By]

    xPortSysTickHandler (Thumb, 26 bytes, Stack size 8 bytes, port.o(.text))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    SendChar_ToUART (Thumb, 44 bytes, Stack size 0 bytes, retarget.o(.text))

    [Called By]

    SendChar (Thumb, 12 bytes, Stack size 4 bytes, retarget.o(.text))

    [Stack]


    [Calls]
    [Called By]

    GetChar (Thumb, 22 bytes, Stack size 0 bytes, retarget.o(.text), UNUSED)

    [Called By]

    kbhit (Thumb, 14 bytes, Stack size 0 bytes, retarget.o(.text), UNUSED)

    IsDebugFifoEmpty (Thumb, 10 bytes, Stack size 0 bytes, retarget.o(.text), UNUSED)

    _ttywrch (Thumb, 12 bytes, Stack size 8 bytes, retarget.o(.text), UNUSED)

    [Calls]

    fputc (Thumb, 16 bytes, Stack size 12 bytes, retarget.o(.text))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    fgetc (Thumb, 10 bytes, Stack size 4 bytes, retarget.o(.text), UNUSED)

    [Calls]

    ferror (Thumb, 8 bytes, Stack size 0 bytes, retarget.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, 20 bytes, Stack size 8 bytes, memseta.o(.text), UNUSED)

    [Calls]

    strncpy (Thumb, 26 bytes, Stack size 8 bytes, strncpy.o(.text))

    [Stack]


    [Called By]

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

    __0printf$bare (Thumb, 12 bytes, Stack size 8 bytes, printfb.o(i.__0printf$bare), UNUSED)

    [Calls]

    __1printf$bare (Thumb, 0 bytes, Stack size 8 bytes, printfb.o(i.__0printf$bare), UNUSED)

    __2printf (Thumb, 0 bytes, Stack size 8 bytes, printfb.o(i.__0printf$bare))

    [Stack]


    [Called By]

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

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

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

    Local Symbols

    Default_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_m051series.o(.text))

    [Calls]


    [Called By]
    [Address Reference Count : 1]

    M051_UART_Init (Thumb, 314 bytes, Stack size 0 bytes, main.o(.text))

    [Called By]

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

    [Stack]


    [Calls]
    [Called By]

    prvInitialiseTaskLists (Thumb, 80 bytes, Stack size 8 bytes, tasks.o(.text))

    [Stack]


    [Calls]
    [Called By]

    prvInitialiseTCBVariables (Thumb, 64 bytes, Stack size 24 bytes, tasks.o(.text))

    [Stack]


    [Calls]
    [Called By]

    prvAllocateTCBAndStack (Thumb, 64 bytes, Stack size 16 bytes, tasks.o(.text))

    [Stack]


    [Calls]
    [Called By]

    prvDeleteTCB (Thumb, 18 bytes, Stack size 8 bytes, tasks.o(.text))

    [Stack]


    [Calls]
    [Called By]

    prvCheckTasksWaitingTermination (Thumb, 114 bytes, Stack size 16 bytes, tasks.o(.text))

    [Stack]


    [Calls]
    [Called By]

    prvIdleTask (Thumb, 22 bytes, Stack size 8 bytes, tasks.o(.text))

    [Stack]


    [Calls]
    [Address Reference Count : 1]

    prvSetupTimerInterrupt (Thumb, 12 bytes, Stack size 0 bytes, port.o(.text))

    [Called By]

    _printf_core (Thumb, 30 bytes, Stack size 24 bytes, printfb.o(i._printf_core), UNUSED)

    [Called By]

    Undefined Global Symbols