Static Call Graph for image .\Flash\Blinky.axf
#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Thu Sep 12 13:01:30 2019
Maximum Stack Usage = 120 bytes + Unknown(Untraceable Function Pointers)
Call chain for Maximum Stack Depth:
svcRtxKernelStart ⇒ osRtxThreadStartup ⇒ svcRtxThreadNew ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
Function Pointers
- HardFault_Handler from startup_armcm0.o(i.Default_Handler) referenced from startup_armcm0.o(RESET)
- Interrupt0_Handler from startup_armcm0.o(i.Default_Handler) referenced from startup_armcm0.o(RESET)
- Interrupt1_Handler from startup_armcm0.o(i.Default_Handler) referenced from startup_armcm0.o(RESET)
- Interrupt2_Handler from startup_armcm0.o(i.Default_Handler) referenced from startup_armcm0.o(RESET)
- Interrupt3_Handler from startup_armcm0.o(i.Default_Handler) referenced from startup_armcm0.o(RESET)
- Interrupt4_Handler from startup_armcm0.o(i.Default_Handler) referenced from startup_armcm0.o(RESET)
- Interrupt5_Handler from startup_armcm0.o(i.Default_Handler) referenced from startup_armcm0.o(RESET)
- Interrupt6_Handler from startup_armcm0.o(i.Default_Handler) referenced from startup_armcm0.o(RESET)
- Interrupt7_Handler from startup_armcm0.o(i.Default_Handler) referenced from startup_armcm0.o(RESET)
- Interrupt8_Handler from startup_armcm0.o(i.Default_Handler) referenced from startup_armcm0.o(RESET)
- Interrupt9_Handler from startup_armcm0.o(i.Default_Handler) referenced from startup_armcm0.o(RESET)
- NMI_Handler from startup_armcm0.o(i.Default_Handler) referenced from startup_armcm0.o(RESET)
- PendSV_Handler from irq_cm0.o(.text) referenced from startup_armcm0.o(RESET)
- Reset_Handler from startup_armcm0.o(i.Reset_Handler) referenced from startup_armcm0.o(RESET)
- SVC_Handler from irq_cm0.o(.text) referenced from startup_armcm0.o(RESET)
- SysTick_Handler from irq_cm0.o(.text) referenced from rtx_kernel.o(.text.svcRtxKernelStart)
- SysTick_Handler from irq_cm0.o(.text) referenced from startup_armcm0.o(RESET)
- app_main from blinky.o(i.app_main) referenced from blinky.o(i.main)
- clock from blinky.o(i.clock) referenced from blinky.o(i.app_main)
- main from blinky.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)
- osRtxIdleThread from rtx_config.o(i.osRtxIdleThread) referenced from rtx_thread.o(.text.osRtxThreadStartup)
- osRtxMemoryInit from rtx_memory.o(.text.osRtxMemoryInit) referenced from rtx_kernel.o(.text.svcRtxKernelInitialize)
- osRtxMessageQueuePostProcess from rtx_msgqueue.o(.text.osRtxMessageQueuePostProcess) referenced from rtx_msgqueue.o(.text.svcRtxMessageQueueNew)
- osRtxThreadPostProcess from rtx_thread.o(.text.osRtxThreadPostProcess) referenced from rtx_thread.o(.text.svcRtxThreadNew)
- osRtxTimerThread from rtx_timer.o(.text.osRtxTimerThread) referenced from rtx_thread.o(.text.osRtxThreadStartup)
- osRtxTimerTick from rtx_timer.o(.text.osRtxTimerTick) referenced from rtx_timer.o(.text.osRtxTimerThread)
- osThreadExit from rtx_thread.o(.text.osThreadExit) referenced from rtx_thread.o(.text.svcRtxThreadNew)
- phaseA from blinky.o(i.phaseA) referenced from blinky.o(i.app_main)
- phaseB from blinky.o(i.phaseB) referenced from blinky.o(i.app_main)
- phaseC from blinky.o(i.phaseC) referenced from blinky.o(i.app_main)
- phaseD from blinky.o(i.phaseD) referenced from blinky.o(i.app_main)
- svcRtxDelay from rtx_delay.o(.text.svcRtxDelay) referenced from rtx_delay.o(.text.osDelay)
- svcRtxKernelGetState from rtx_kernel.o(.text.svcRtxKernelGetState) referenced from rtx_kernel.o(.text.osKernelGetState)
- svcRtxKernelInitialize from rtx_kernel.o(.text.svcRtxKernelInitialize) referenced from rtx_kernel.o(.text.osKernelInitialize)
- svcRtxKernelStart from rtx_kernel.o(.text.svcRtxKernelStart) referenced from rtx_kernel.o(.text.osKernelStart)
- svcRtxMessageQueueGet from rtx_msgqueue.o(.text.svcRtxMessageQueueGet) referenced from rtx_msgqueue.o(.text.osMessageQueueGet)
- svcRtxMessageQueueNew from rtx_msgqueue.o(.text.svcRtxMessageQueueNew) referenced from rtx_msgqueue.o(.text.osMessageQueueNew)
- svcRtxMessageQueuePut from rtx_msgqueue.o(.text.svcRtxMessageQueuePut) referenced from rtx_msgqueue.o(.text.osMessageQueuePut)
- svcRtxThreadExit from rtx_thread.o(.text.svcRtxThreadExit) referenced from rtx_thread.o(.text.osThreadExit)
- svcRtxThreadFlagsSet from rtx_thread.o(.text.svcRtxThreadFlagsSet) referenced from rtx_thread.o(.text.osThreadFlagsSet)
- svcRtxThreadFlagsWait from rtx_thread.o(.text.svcRtxThreadFlagsWait) referenced from rtx_thread.o(.text.osThreadFlagsWait)
- svcRtxThreadNew from rtx_thread.o(.text.svcRtxThreadNew) referenced from rtx_thread.o(.text.osThreadNew)
Global Symbols
__main (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
[Called By]
_main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry4.o(.ARM.Collect$$$$00000003))
_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))
SVC_Handler (Thumb, 132 bytes, Stack size 0 bytes, irq_cm0.o(.text))
[Address Reference Count : 1]
PendSV_Handler (Thumb, 12 bytes, Stack size 0 bytes, irq_cm0.o(.text))
[Stack]
- Max Depth = 56
- Call Chain = PendSV_Handler ⇒ osRtxPendSV_Handler ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]
[Address Reference Count : 1]
SysTick_Handler (Thumb, 12 bytes, Stack size 0 bytes, irq_cm0.o(.text))
[Stack]
- Max Depth = 56
- Call Chain = SysTick_Handler ⇒ osRtxTick_Handler ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]
[Address Reference Count : 2]- rtx_kernel.o(.text.svcRtxKernelStart)
- startup_armcm0.o(RESET)
__aeabi_uidiv (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text))
[Stack]
- Max Depth = 12
- Call Chain = __aeabi_uidiv
[Called By]
__aeabi_uidivmod (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)
__aeabi_memcpy (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text))
[Called By]
- >> osMessageQueuePut
- >> osMessageQueueGet
- >> svcRtxMessageQueuePut
- >> svcRtxMessageQueueGet
- >> osRtxMessageQueuePostProcess
__aeabi_memcpy4 (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED)
__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]
[Called By]- >> svcRtxThreadNew
- >> svcRtxMessageQueueNew
__aeabi_memclr4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text))
[Called By]
- >> svcRtxKernelInitialize
- >> svcRtxThreadNew
__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]
- >> __main_after_scatterload
[Called By]
__scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
__decompress (Thumb, 0 bytes, Stack size unknown bytes, __dczerorl.o(.text), UNUSED)
__decompress0 (Thumb, 58 bytes, Stack size unknown bytes, __dczerorl.o(.text), UNUSED)
OS_Tick_AcknowledgeIRQ (Thumb, 12 bytes, Stack size 0 bytes, os_systick.o(.text.OS_Tick_AcknowledgeIRQ))
[Called By]
OS_Tick_Enable (Thumb, 44 bytes, Stack size 0 bytes, os_systick.o(.text.OS_Tick_Enable))
[Called By]
OS_Tick_GetIRQn (Thumb, 6 bytes, Stack size 0 bytes, os_systick.o(.text.OS_Tick_GetIRQn))
[Called By]
OS_Tick_Setup (Thumb, 76 bytes, Stack size 16 bytes, os_systick.o(.text.OS_Tick_Setup))
[Stack]
- Max Depth = 28
- Call Chain = OS_Tick_Setup ⇒ __aeabi_uidiv
[Calls]
[Called By]
osDelay (Thumb, 40 bytes, Stack size 8 bytes, rtx_delay.o(.text.osDelay))
[Stack]
- Max Depth = 8
- Call Chain = osDelay
[Called By]- >> signal_func
- >> clock
- >> app_main
osKernelGetState (Thumb, 48 bytes, Stack size 8 bytes, rtx_kernel.o(.text.osKernelGetState))
[Stack]
- Max Depth = 8
- Call Chain = osKernelGetState
[Called By]
osKernelInitialize (Thumb, 40 bytes, Stack size 8 bytes, rtx_kernel.o(.text.osKernelInitialize))
[Stack]
- Max Depth = 8
- Call Chain = osKernelInitialize
[Calls]
[Called By]
osKernelStart (Thumb, 36 bytes, Stack size 8 bytes, rtx_kernel.o(.text.osKernelStart))
[Stack]
- Max Depth = 8
- Call Chain = osKernelStart
[Called By]
osMessageQueueGet (Thumb, 116 bytes, Stack size 24 bytes, rtx_msgqueue.o(.text.osMessageQueueGet))
[Stack]
- Max Depth = 56
- Call Chain = osMessageQueueGet ⇒ osRtxPostProcess ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]- >> osRtxPostProcess
- >> __aeabi_memcpy
- >> MessageQueueGet
[Called By]
osMessageQueueNew (Thumb, 36 bytes, Stack size 16 bytes, rtx_msgqueue.o(.text.osMessageQueueNew))
[Stack]
- Max Depth = 16
- Call Chain = osMessageQueueNew
[Called By]
osMessageQueuePut (Thumb, 120 bytes, Stack size 24 bytes, rtx_msgqueue.o(.text.osMessageQueuePut))
[Stack]
- Max Depth = 56
- Call Chain = osMessageQueuePut ⇒ osRtxPostProcess ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]- >> osRtxPostProcess
- >> osRtxMemoryPoolAlloc
- >> __aeabi_memcpy
[Called By]
osRtxKernelPreInit (Thumb, 2 bytes, Stack size 0 bytes, rtx_kernel.o(.text.osRtxKernelPreInit))
[Called By]
osRtxMemoryAlloc (Thumb, 124 bytes, Stack size 28 bytes, rtx_memory.o(.text.osRtxMemoryAlloc))
[Stack]
- Max Depth = 28
- Call Chain = osRtxMemoryAlloc
[Called By]- >> svcRtxThreadNew
- >> svcRtxMessageQueueNew
osRtxMemoryFree (Thumb, 78 bytes, Stack size 16 bytes, rtx_memory.o(.text.osRtxMemoryFree))
[Stack]
- Max Depth = 16
- Call Chain = osRtxMemoryFree
[Called By]- >> svcRtxThreadNew
- >> osRtxThreadFree
- >> svcRtxMessageQueueNew
osRtxMemoryInit (Thumb, 50 bytes, Stack size 0 bytes, rtx_memory.o(.text.osRtxMemoryInit))
[Called By]
- >> svcRtxKernelInitialize
[Address Reference Count : 1]- rtx_kernel.o(.text.svcRtxKernelInitialize)
osRtxMemoryPoolAlloc (Thumb, 46 bytes, Stack size 0 bytes, rtx_mempool.o(.text.osRtxMemoryPoolAlloc))
[Called By]
- >> osMessageQueuePut
- >> svcRtxThreadNew
- >> svcRtxMessageQueuePut
- >> svcRtxMessageQueueNew
- >> svcRtxMessageQueueGet
- >> osRtxMessageQueuePostProcess
osRtxMemoryPoolFree (Thumb, 58 bytes, Stack size 8 bytes, rtx_mempool.o(.text.osRtxMemoryPoolFree))
[Stack]
- Max Depth = 8
- Call Chain = osRtxMemoryPoolFree
[Called By]- >> svcRtxThreadNew
- >> osRtxThreadFree
- >> svcRtxMessageQueueNew
- >> svcRtxMessageQueueGet
- >> osRtxMessageQueuePostProcess
osRtxMemoryPoolInit (Thumb, 62 bytes, Stack size 16 bytes, rtx_mempool.o(.text.osRtxMemoryPoolInit))
[Stack]
- Max Depth = 16
- Call Chain = osRtxMemoryPoolInit
[Called By]- >> svcRtxKernelInitialize
- >> svcRtxMessageQueueNew
osRtxMutexOwnerRelease (Thumb, 68 bytes, Stack size 24 bytes, rtx_mutex.o(.text.osRtxMutexOwnerRelease))
[Stack]
- Max Depth = 80
- Call Chain = osRtxMutexOwnerRelease ⇒ osRtxThreadWaitExit ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]- >> osRtxThreadListGet
- >> osRtxThreadWaitExit
[Called By]
osRtxPendSV_Handler (Thumb, 128 bytes, Stack size 16 bytes, rtx_system.o(.text.osRtxPendSV_Handler))
[Stack]
- Max Depth = 56
- Call Chain = osRtxPendSV_Handler ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]
[Called By]
osRtxPostProcess (Thumb, 108 bytes, Stack size 24 bytes, rtx_system.o(.text.osRtxPostProcess))
[Stack]
- Max Depth = 32
- Call Chain = osRtxPostProcess ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]
[Called By]- >> osThreadFlagsSet
- >> osMessageQueuePut
- >> osMessageQueueGet
osRtxThreadDelayTick (Thumb, 56 bytes, Stack size 16 bytes, rtx_thread.o(.text.osRtxThreadDelayTick))
[Stack]
- Max Depth = 40
- Call Chain = osRtxThreadDelayTick ⇒ osRtxThreadReadyPut ⇒ osRtxThreadListPut
[Calls]- >> osRtxThreadReadyPut
- >> osRtxThreadListRemove
[Called By]
osRtxThreadDispatch (Thumb, 80 bytes, Stack size 16 bytes, rtx_thread.o(.text.osRtxThreadDispatch))
[Stack]
- Max Depth = 40
- Call Chain = osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]- >> osRtxThreadSwitch
- >> osRtxThreadReadyPut
- >> osRtxThreadListRemove
- >> osRtxThreadBlock
[Called By]- >> osRtxTick_Handler
- >> osRtxPendSV_Handler
- >> osRtxThreadWaitExit
- >> svcRtxThreadNew
osRtxThreadListGet (Thumb, 20 bytes, Stack size 0 bytes, rtx_thread.o(.text.osRtxThreadListGet))
[Called By]
- >> svcRtxKernelStart
- >> osRtxMutexOwnerRelease
- >> svcRtxMessageQueuePut
- >> svcRtxMessageQueueGet
- >> osRtxMessageQueuePostProcess
osRtxThreadListPut (Thumb, 44 bytes, Stack size 16 bytes, rtx_thread.o(.text.osRtxThreadListPut))
[Stack]
- Max Depth = 16
- Call Chain = osRtxThreadListPut
[Called By]- >> osRtxThreadReadyPut
- >> svcRtxMessageQueuePut
- >> svcRtxMessageQueueGet
osRtxThreadListRemove (Thumb, 24 bytes, Stack size 0 bytes, rtx_thread.o(.text.osRtxThreadListRemove))
[Called By]
- >> osRtxThreadDispatch
- >> osRtxThreadDelayTick
- >> osRtxTick_Handler
osRtxThreadReadyPut (Thumb, 24 bytes, Stack size 8 bytes, rtx_thread.o(.text.osRtxThreadReadyPut))
[Stack]
- Max Depth = 24
- Call Chain = osRtxThreadReadyPut ⇒ osRtxThreadListPut
[Calls]
[Called By]- >> osRtxThreadDispatch
- >> osRtxThreadDelayTick
- >> osRtxTick_Handler
- >> osRtxThreadWaitExit
osRtxThreadRegPtr (Thumb, 6 bytes, Stack size 0 bytes, rtx_thread.o(.text.osRtxThreadRegPtr))
[Called By]
- >> svcRtxMessageQueuePut
- >> svcRtxMessageQueueGet
- >> osRtxMessageQueuePostProcess
osRtxThreadStackCheck (Thumb, 44 bytes, Stack size 8 bytes, rtx_thread.o(.text.osRtxThreadStackCheck))
[Stack]
- Max Depth = 16
- Call Chain = osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]
[Called By]
osRtxThreadStartup (Thumb, 64 bytes, Stack size 16 bytes, rtx_thread.o(.text.osRtxThreadStartup))
[Stack]
- Max Depth = 96
- Call Chain = osRtxThreadStartup ⇒ svcRtxThreadNew ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]
[Called By]
osRtxThreadSwitch (Thumb, 20 bytes, Stack size 8 bytes, rtx_thread.o(.text.osRtxThreadSwitch))
[Stack]
- Max Depth = 24
- Call Chain = osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]
[Called By]- >> osRtxThreadDispatch
- >> svcRtxKernelStart
- >> osRtxTick_Handler
- >> osRtxThreadWaitEnter
- >> svcRtxThreadExit
osRtxThreadWaitEnter (Thumb, 60 bytes, Stack size 8 bytes, rtx_thread.o(.text.osRtxThreadWaitEnter))
[Stack]
- Max Depth = 32
- Call Chain = osRtxThreadWaitEnter ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]- >> osRtxThreadSwitch
- >> osRtxThreadDelayInsert
[Called By]- >> svcRtxDelay
- >> svcRtxThreadFlagsWait
- >> svcRtxMessageQueuePut
- >> svcRtxMessageQueueGet
osRtxThreadWaitExit (Thumb, 34 bytes, Stack size 16 bytes, rtx_thread.o(.text.osRtxThreadWaitExit))
[Stack]
- Max Depth = 56
- Call Chain = osRtxThreadWaitExit ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]- >> osRtxThreadDispatch
- >> osRtxThreadReadyPut
- >> osRtxThreadDelayRemove
[Called By]- >> osRtxMutexOwnerRelease
- >> svcRtxThreadFlagsSet
- >> svcRtxThreadExit
- >> osRtxThreadPostProcess
- >> svcRtxMessageQueuePut
- >> svcRtxMessageQueueGet
- >> osRtxMessageQueuePostProcess
osRtxTick_Handler (Thumb, 116 bytes, Stack size 16 bytes, rtx_system.o(.text.osRtxTick_Handler))
[Stack]
- Max Depth = 56
- Call Chain = osRtxTick_Handler ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]- >> osRtxThreadSwitch
- >> osRtxThreadDispatch
- >> osRtxThreadDelayTick
- >> osRtxThreadReadyPut
- >> osRtxThreadListRemove
- >> OS_Tick_AcknowledgeIRQ
[Called By]
osRtxTimerThread (Thumb, 60 bytes, Stack size 8 bytes, rtx_timer.o(.text.osRtxTimerThread))
[Stack]
- Max Depth = 64
- Call Chain = osRtxTimerThread ⇒ osMessageQueueGet ⇒ osRtxPostProcess ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]- >> osMessageQueueNew
- >> osMessageQueueGet
[Address Reference Count : 1]- rtx_thread.o(.text.osRtxThreadStartup)
osThreadExit (Thumb, 12 bytes, Stack size 0 bytes, rtx_thread.o(.text.osThreadExit))
[Address Reference Count : 1]
- rtx_thread.o(.text.svcRtxThreadNew)
osThreadFlagsSet (Thumb, 88 bytes, Stack size 16 bytes, rtx_thread.o(.text.osThreadFlagsSet))
[Stack]
- Max Depth = 48
- Call Chain = osThreadFlagsSet ⇒ osRtxPostProcess ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]
[Called By]- >> signal_func
- >> app_main
osThreadFlagsWait (Thumb, 40 bytes, Stack size 16 bytes, rtx_thread.o(.text.osThreadFlagsWait))
[Stack]
- Max Depth = 16
- Call Chain = osThreadFlagsWait
[Called By]
osThreadNew (Thumb, 36 bytes, Stack size 16 bytes, rtx_thread.o(.text.osThreadNew))
[Stack]
- Max Depth = 16
- Call Chain = osThreadNew
[Called By]
Default_Handler (Thumb, 4 bytes, Stack size 0 bytes, startup_armcm0.o(i.Default_Handler), UNUSED)
HardFault_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_armcm0.o(i.Default_Handler))
[Address Reference Count : 1]
Interrupt0_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_armcm0.o(i.Default_Handler))
[Address Reference Count : 1]
Interrupt1_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_armcm0.o(i.Default_Handler))
[Address Reference Count : 1]
Interrupt2_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_armcm0.o(i.Default_Handler))
[Address Reference Count : 1]
Interrupt3_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_armcm0.o(i.Default_Handler))
[Address Reference Count : 1]
Interrupt4_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_armcm0.o(i.Default_Handler))
[Address Reference Count : 1]
Interrupt5_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_armcm0.o(i.Default_Handler))
[Address Reference Count : 1]
Interrupt6_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_armcm0.o(i.Default_Handler))
[Address Reference Count : 1]
Interrupt7_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_armcm0.o(i.Default_Handler))
[Address Reference Count : 1]
Interrupt8_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_armcm0.o(i.Default_Handler))
[Address Reference Count : 1]
Interrupt9_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_armcm0.o(i.Default_Handler))
[Address Reference Count : 1]
NMI_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_armcm0.o(i.Default_Handler))
[Address Reference Count : 1]
Reset_Handler (Thumb, 8 bytes, Stack size 0 bytes, startup_armcm0.o(i.Reset_Handler))
[Calls]
[Address Reference Count : 1]
SystemCoreClockUpdate (Thumb, 8 bytes, Stack size 0 bytes, system_armcm0.o(i.SystemCoreClockUpdate))
[Called By]
SystemInit (Thumb, 8 bytes, Stack size 0 bytes, system_armcm0.o(i.SystemInit))
[Called By]
__ARM_common_switch8 (Thumb, 28 bytes, Stack size 8 bytes, rtx_config.o(i.__ARM_common_switch8))
[Stack]
- Max Depth = 8
- Call Chain = __ARM_common_switch8
[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)
app_main (Thumb, 92 bytes, Stack size 0 bytes, blinky.o(i.app_main))
[Stack]
- Max Depth = 48
- Call Chain = app_main ⇒ osThreadFlagsSet ⇒ osRtxPostProcess ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]- >> osThreadNew
- >> osThreadFlagsSet
- >> osDelay
[Address Reference Count : 1]
clock (Thumb, 24 bytes, Stack size 0 bytes, blinky.o(i.clock))
[Stack]
- Max Depth = 16
- Call Chain = clock ⇒ osThreadFlagsWait
[Calls]- >> osThreadFlagsWait
- >> osDelay
[Address Reference Count : 1]
main (Thumb, 34 bytes, Stack size 0 bytes, blinky.o(i.main))
[Stack]
- Max Depth = 16
- Call Chain = main ⇒ osThreadNew
[Calls]- >> osThreadNew
- >> osKernelStart
- >> osKernelInitialize
- >> osKernelGetState
- >> SystemCoreClockUpdate
[Address Reference Count : 1]- entry9a.o(.ARM.Collect$$$$0000000B)
osRtxErrorNotify (Thumb, 32 bytes, Stack size 0 bytes, rtx_config.o(i.osRtxErrorNotify))
[Stack]
- Max Depth = 8
- Call Chain = osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]
[Called By]- >> osRtxTimerTick
- >> osRtxThreadStackCheck
- >> osRtxPostProcess
osRtxIdleThread (Thumb, 4 bytes, Stack size 0 bytes, rtx_config.o(i.osRtxIdleThread))
[Address Reference Count : 1]
- rtx_thread.o(.text.osRtxThreadStartup)
phaseA (Thumb, 36 bytes, Stack size 0 bytes, blinky.o(i.phaseA))
[Stack]
- Max Depth = 56
- Call Chain = phaseA ⇒ signal_func ⇒ osThreadFlagsSet ⇒ osRtxPostProcess ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]- >> osThreadFlagsWait
- >> signal_func
[Address Reference Count : 1]
phaseB (Thumb, 36 bytes, Stack size 0 bytes, blinky.o(i.phaseB))
[Stack]
- Max Depth = 56
- Call Chain = phaseB ⇒ signal_func ⇒ osThreadFlagsSet ⇒ osRtxPostProcess ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]- >> osThreadFlagsWait
- >> signal_func
[Address Reference Count : 1]
phaseC (Thumb, 36 bytes, Stack size 0 bytes, blinky.o(i.phaseC))
[Stack]
- Max Depth = 56
- Call Chain = phaseC ⇒ signal_func ⇒ osThreadFlagsSet ⇒ osRtxPostProcess ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]- >> osThreadFlagsWait
- >> signal_func
[Address Reference Count : 1]
phaseD (Thumb, 36 bytes, Stack size 0 bytes, blinky.o(i.phaseD))
[Stack]
- Max Depth = 56
- Call Chain = phaseD ⇒ signal_func ⇒ osThreadFlagsSet ⇒ osRtxPostProcess ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]- >> osThreadFlagsWait
- >> signal_func
[Address Reference Count : 1]
signal_func (Thumb, 62 bytes, Stack size 8 bytes, blinky.o(i.signal_func))
[Stack]
- Max Depth = 56
- Call Chain = signal_func ⇒ osThreadFlagsSet ⇒ osRtxPostProcess ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]- >> osThreadFlagsSet
- >> osDelay
[Called By]
Local Symbols
svcRtxKernelGetState (Thumb, 12 bytes, Stack size 0 bytes, rtx_kernel.o(.text.svcRtxKernelGetState))
[Address Reference Count : 1]
- rtx_kernel.o(.text.osKernelGetState)
svcRtxKernelInitialize (Thumb, 328 bytes, Stack size 32 bytes, rtx_kernel.o(.text.svcRtxKernelInitialize))
[Stack]
- Max Depth = 48
- Call Chain = svcRtxKernelInitialize ⇒ osRtxMemoryPoolInit
[Calls]- >> osRtxMemoryPoolInit
- >> osRtxMemoryInit
- >> __aeabi_memclr4
[Address Reference Count : 1]- rtx_kernel.o(.text.osKernelInitialize)
svcRtxKernelStart (Thumb, 132 bytes, Stack size 24 bytes, rtx_kernel.o(.text.svcRtxKernelStart))
[Stack]
- Max Depth = 120
- Call Chain = svcRtxKernelStart ⇒ osRtxThreadStartup ⇒ svcRtxThreadNew ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]- >> osRtxThreadSwitch
- >> osRtxThreadStartup
- >> osRtxThreadListGet
- >> OS_Tick_Setup
- >> OS_Tick_GetIRQn
- >> OS_Tick_Enable
[Address Reference Count : 1]- rtx_kernel.o(.text.osKernelStart)
ThreadFlagsCheck (Thumb, 78 bytes, Stack size 16 bytes, rtx_thread.o(.text.ThreadFlagsCheck))
[Stack]
- Max Depth = 16
- Call Chain = ThreadFlagsCheck
[Called By]- >> svcRtxThreadFlagsWait
- >> svcRtxThreadFlagsSet
- >> osRtxThreadPostProcess
osRtxThreadBlock (Thumb, 56 bytes, Stack size 16 bytes, rtx_thread.o(.text.osRtxThreadBlock))
[Stack]
- Max Depth = 16
- Call Chain = osRtxThreadBlock
[Called By]
osRtxThreadDelayInsert (Thumb, 128 bytes, Stack size 16 bytes, rtx_thread.o(.text.osRtxThreadDelayInsert))
[Stack]
- Max Depth = 16
- Call Chain = osRtxThreadDelayInsert
[Called By]
osRtxThreadDelayRemove (Thumb, 68 bytes, Stack size 0 bytes, rtx_thread.o(.text.osRtxThreadDelayRemove))
[Called By]
osRtxThreadFree (Thumb, 84 bytes, Stack size 8 bytes, rtx_thread.o(.text.osRtxThreadFree))
[Stack]
- Max Depth = 24
- Call Chain = osRtxThreadFree ⇒ osRtxMemoryFree
[Calls]- >> osRtxMemoryPoolFree
- >> osRtxMemoryFree
[Called By]
osRtxThreadPostProcess (Thumb, 38 bytes, Stack size 8 bytes, rtx_thread.o(.text.osRtxThreadPostProcess))
[Stack]
- Max Depth = 64
- Call Chain = osRtxThreadPostProcess ⇒ osRtxThreadWaitExit ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]- >> osRtxThreadWaitExit
- >> ThreadFlagsCheck
[Address Reference Count : 1]- rtx_thread.o(.text.svcRtxThreadNew)
svcRtxThreadExit (Thumb, 108 bytes, Stack size 16 bytes, rtx_thread.o(.text.svcRtxThreadExit))
[Stack]
- Max Depth = 96
- Call Chain = svcRtxThreadExit ⇒ osRtxMutexOwnerRelease ⇒ osRtxThreadWaitExit ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]- >> osRtxThreadSwitch
- >> osRtxThreadWaitExit
- >> osRtxMutexOwnerRelease
- >> osRtxThreadFree
[Address Reference Count : 1]- rtx_thread.o(.text.osThreadExit)
svcRtxThreadFlagsSet (Thumb, 108 bytes, Stack size 16 bytes, rtx_thread.o(.text.svcRtxThreadFlagsSet))
[Stack]
- Max Depth = 72
- Call Chain = svcRtxThreadFlagsSet ⇒ osRtxThreadWaitExit ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]- >> osRtxThreadWaitExit
- >> ThreadFlagsCheck
[Address Reference Count : 1]- rtx_thread.o(.text.osThreadFlagsSet)
svcRtxThreadFlagsWait (Thumb, 80 bytes, Stack size 24 bytes, rtx_thread.o(.text.svcRtxThreadFlagsWait))
[Stack]
- Max Depth = 56
- Call Chain = svcRtxThreadFlagsWait ⇒ osRtxThreadWaitEnter ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]- >> osRtxThreadWaitEnter
- >> ThreadFlagsCheck
[Address Reference Count : 1]- rtx_thread.o(.text.osThreadFlagsWait)
svcRtxThreadNew (Thumb, 492 bytes, Stack size 40 bytes, rtx_thread.o(.text.svcRtxThreadNew))
[Stack]
- Max Depth = 80
- Call Chain = svcRtxThreadNew ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]- >> osRtxThreadDispatch
- >> osRtxMemoryPoolFree
- >> osRtxMemoryPoolAlloc
- >> osRtxMemoryFree
- >> osRtxMemoryAlloc
- >> __aeabi_memclr4
- >> __aeabi_memclr
[Called By]
[Address Reference Count : 1]- rtx_thread.o(.text.osThreadNew)
svcRtxDelay (Thumb, 18 bytes, Stack size 8 bytes, rtx_delay.o(.text.svcRtxDelay))
[Stack]
- Max Depth = 40
- Call Chain = svcRtxDelay ⇒ osRtxThreadWaitEnter ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]
[Address Reference Count : 1]- rtx_delay.o(.text.osDelay)
TimerInsert (Thumb, 76 bytes, Stack size 16 bytes, rtx_timer.o(.text.TimerInsert))
[Stack]
- Max Depth = 16
- Call Chain = TimerInsert
[Called By]
osRtxTimerTick (Thumb, 96 bytes, Stack size 16 bytes, rtx_timer.o(.text.osRtxTimerTick))
[Stack]
- Max Depth = 72
- Call Chain = osRtxTimerTick ⇒ osMessageQueuePut ⇒ osRtxPostProcess ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]- >> osRtxErrorNotify
- >> osMessageQueuePut
- >> TimerInsert
[Address Reference Count : 1]- rtx_timer.o(.text.osRtxTimerThread)
MessageQueueGet (Thumb, 76 bytes, Stack size 8 bytes, rtx_msgqueue.o(.text.MessageQueueGet))
[Stack]
- Max Depth = 8
- Call Chain = MessageQueueGet
[Called By]- >> osMessageQueueGet
- >> svcRtxMessageQueueGet
MessageQueuePut (Thumb, 98 bytes, Stack size 20 bytes, rtx_msgqueue.o(.text.MessageQueuePut))
[Stack]
- Max Depth = 20
- Call Chain = MessageQueuePut
[Called By]- >> svcRtxMessageQueuePut
- >> svcRtxMessageQueueGet
- >> osRtxMessageQueuePostProcess
MessageQueueRemove (Thumb, 30 bytes, Stack size 0 bytes, rtx_msgqueue.o(.text.MessageQueueRemove))
[Called By]
- >> svcRtxMessageQueueGet
- >> osRtxMessageQueuePostProcess
osRtxMessageQueuePostProcess (Thumb, 188 bytes, Stack size 24 bytes, rtx_msgqueue.o(.text.osRtxMessageQueuePostProcess))
[Stack]
- Max Depth = 80
- Call Chain = osRtxMessageQueuePostProcess ⇒ osRtxThreadWaitExit ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]- >> osRtxThreadListGet
- >> osRtxThreadWaitExit
- >> osRtxThreadRegPtr
- >> osRtxMemoryPoolFree
- >> osRtxMemoryPoolAlloc
- >> __aeabi_memcpy
- >> MessageQueueRemove
- >> MessageQueuePut
[Address Reference Count : 1]- rtx_msgqueue.o(.text.svcRtxMessageQueueNew)
svcRtxMessageQueueGet (Thumb, 232 bytes, Stack size 32 bytes, rtx_msgqueue.o(.text.svcRtxMessageQueueGet))
[Stack]
- Max Depth = 88
- Call Chain = svcRtxMessageQueueGet ⇒ osRtxThreadWaitExit ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]- >> osRtxThreadListGet
- >> osRtxThreadWaitExit
- >> osRtxThreadWaitEnter
- >> osRtxThreadRegPtr
- >> osRtxThreadListPut
- >> osRtxMemoryPoolFree
- >> osRtxMemoryPoolAlloc
- >> __aeabi_memcpy
- >> MessageQueueRemove
- >> MessageQueuePut
- >> MessageQueueGet
[Address Reference Count : 1]- rtx_msgqueue.o(.text.osMessageQueueGet)
svcRtxMessageQueueNew (Thumb, 484 bytes, Stack size 40 bytes, rtx_msgqueue.o(.text.svcRtxMessageQueueNew))
[Stack]
- Max Depth = 68
- Call Chain = svcRtxMessageQueueNew ⇒ osRtxMemoryAlloc
[Calls]- >> osRtxMemoryPoolInit
- >> osRtxMemoryPoolFree
- >> osRtxMemoryPoolAlloc
- >> osRtxMemoryFree
- >> osRtxMemoryAlloc
- >> __aeabi_memclr
[Address Reference Count : 1]- rtx_msgqueue.o(.text.osMessageQueueNew)
svcRtxMessageQueuePut (Thumb, 188 bytes, Stack size 32 bytes, rtx_msgqueue.o(.text.svcRtxMessageQueuePut))
[Stack]
- Max Depth = 88
- Call Chain = svcRtxMessageQueuePut ⇒ osRtxThreadWaitExit ⇒ osRtxThreadDispatch ⇒ osRtxThreadSwitch ⇒ osRtxThreadStackCheck ⇒ osRtxErrorNotify ⇒ __ARM_common_switch8
[Calls]- >> osRtxThreadListGet
- >> osRtxThreadWaitExit
- >> osRtxThreadWaitEnter
- >> osRtxThreadRegPtr
- >> osRtxThreadListPut
- >> osRtxMemoryPoolAlloc
- >> __aeabi_memcpy
- >> MessageQueuePut
[Address Reference Count : 1]- rtx_msgqueue.o(.text.osMessageQueuePut)
Undefined Global Symbols