⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 can_ex1.htm

📁 LPC2368 CAN总线例子程序
💻 HTM
📖 第 1 页 / 共 4 页
字号:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<title>Static Call Graph - [.\obj\CAN_Ex1.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\obj\CAN_Ex1.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, RVCT3.1 [Build 914]: Last Updated: Fri Feb 01 22:01:42 2008
<BR><P>
<H3>Maximum Stack Usage =        112 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
task_send_CAN &rArr; CAN_send &rArr; CAN_push &rArr; os_mbx_send &rArr; os_dispatch &rArr; os_put_prio
<P>
<H3>
Functions with no stack information
</H3><UL>
 <LI><a href="#[c7f828]">Reset_Handler</a>
 <LI><a href="#[10f50b8]">os_clock_interrupt</a>
 <LI><a href="#[10f5070]">os_set_env</a>
 <LI><a href="#[10f4d00]">SWI_Handler</a>
 <LI><a href="#[c7fab0]">Undef_Handler</a>
 <LI><a href="#[c7fa68]">PAbt_Handler</a>
 <LI><a href="#[c7fa20]">DAbt_Handler</a>
 <LI><a href="#[c7f9d8]">IRQ_Handler</a>
 <LI><a href="#[c7f990]">FIQ_Handler</a>
</UL>
</UL>
<P>
<H3>
Mutually Recursive functions
</H3> <LI><a href="#[c7e7f8]">os_idle_demon</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[c7e7f8]">os_idle_demon</a><BR>
 <LI><a href="#[c7fab0]">Undef_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[c7fab0]">Undef_Handler</a><BR>
 <LI><a href="#[c7fa68]">PAbt_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[c7fa68]">PAbt_Handler</a><BR>
 <LI><a href="#[c7fa20]">DAbt_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[c7fa20]">DAbt_Handler</a><BR>
 <LI><a href="#[c7f9d8]">IRQ_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[c7f9d8]">IRQ_Handler</a><BR>
 <LI><a href="#[c7f990]">FIQ_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[c7f990]">FIQ_Handler</a><BR>
</UL>
<P>
<H3>
Function Pointers
</H3><UL>
 <LI><a href="#[c7f828]">Reset_Handler</a>
 <LI><a href="#[c7fab0]">Undef_Handler</a>
 <LI><a href="#[10f4d00]">SWI_Handler</a>
 <LI><a href="#[c7fa68]">PAbt_Handler</a>
 <LI><a href="#[c7fa20]">DAbt_Handler</a>
 <LI><a href="#[c7f9d8]">IRQ_Handler</a>
 <LI><a href="#[c7f990]">FIQ_Handler</a>
 <LI><a href="#[10f0288]">__main</a>
 <LI><a href="#[c82a70]">task_send_CAN</a>
 <LI><a href="#[c82ab8]">task_rece_CAN</a>
 <LI><a href="#[c82b00]">task_disp</a>
 <LI><a href="#[c82a28]">task_init</a>
 <LI><a href="#[c807a8]">CAN_ISR</a>
 <LI><a href="#[10f50b8]">os_clock_interrupt</a>
 <LI><a href="#[c829e0]">main</a>
 <LI><a href="#[c7e720]">os_clock_interrupt0</a>
 <LI><a href="#[c7e378]">__SWI_0</a>
 <LI><a href="#[10f6f80]">__SWI_1</a>
 <LI><a href="#[10f6f38]">__SWI_2</a>
 <LI><a href="#[10f5960]">__SWI_3</a>
 <LI><a href="#[10f5918]">__SWI_4</a>
 <LI><a href="#[10f5888]">__SWI_5</a>
 <LI><a href="#[10f5840]">__SWI_6</a>
 <LI><a href="#[10f57f8]">__SWI_7</a>
 <LI><a href="#[10f4008]">os_clock_demon</a>
 <LI><a href="#[c7e7f8]">os_idle_demon</a>
</UL>
<P>
<H3>
Global Symbols
</H3>
<P><STRONG><a name="[c7f828]"></a>Reset_Handler</STRONG> (ARM, 0 bytes, Stack size unknown bytes, lpc2300.o(RESET))
<BR>[Address Reference Count : 1]<UL><LI> lpc2300.o(RESET)
</UL>
<P><STRONG><a name="[10f0288]"></a>__main</STRONG> (ARM, 8 bytes, Stack size 0 bytes, entry.o($$startup$$))
<BR><BR>[Calls]<UL><LI><a href="#[10efba8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__init (via Veneer)
</UL>

<P><STRONG><a name="[10efbf0]"></a>__call_main</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, init.o(.emb_text))
<BR><BR>[Called By]<UL><LI><a href="#[10efba8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__init
</UL>

<P><STRONG><a name="[c82c68]"></a>Hex_Str</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, can_ex1.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c82b48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Out_Val
</UL>

<P><STRONG><a name="[c82c20]"></a>In_Init</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, can_ex1.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c829e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[c82bd8]"></a>In_Get</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, can_ex1.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c82a70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;task_send_CAN
</UL>

<P><STRONG><a name="[c82b90]"></a>Out_Init</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, can_ex1.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c829e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[c82b48]"></a>Out_Val</STRONG> (Thumb, 46 bytes, Stack size 8 bytes, can_ex1.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = Out_Val
</UL>
<BR>[Calls]<UL><LI><a href="#[c82c68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Hex_Str
</UL>
<BR>[Called By]<UL><LI><a href="#[c82b00]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;task_disp
</UL>

<P><STRONG><a name="[c82b00]"></a>task_disp</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, can_ex1.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = task_disp &rArr; os_dly_wait &rArr; os_block &rArr; os_put_dly
</UL>
<BR>[Calls]<UL><LI><a href="#[c82b48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Out_Val
<LI><a href="#[10f8100]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;os_dly_wait
</UL>
<BR>[Address Reference Count : 1]<UL><LI> can_ex1.o(.text)
</UL>
<P><STRONG><a name="[c82ab8]"></a>task_rece_CAN</STRONG> (Thumb, 28 bytes, Stack size 24 bytes, can_ex1.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = task_rece_CAN &rArr; CAN_receive &rArr; os_mbx_wait &rArr; os_dispatch &rArr; os_put_prio
</UL>
<BR>[Calls]<UL><LI><a href="#[c82950]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN_receive
</UL>
<BR>[Address Reference Count : 1]<UL><LI> can_ex1.o(.text)
</UL>
<P><STRONG><a name="[c82a70]"></a>task_send_CAN</STRONG> (Thumb, 92 bytes, Stack size 32 bytes, can_ex1.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = task_send_CAN &rArr; CAN_send &rArr; CAN_push &rArr; os_mbx_send &rArr; os_dispatch &rArr; os_put_prio
</UL>
<BR>[Calls]<UL><LI><a href="#[c82878]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN_start
<LI><a href="#[c828c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN_send
<LI><a href="#[c82908]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN_rx_object
<LI><a href="#[c82998]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN_init
<LI><a href="#[c82bd8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;In_Get
<LI><a href="#[10f8100]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;os_dly_wait
</UL>
<BR>[Address Reference Count : 1]<UL><LI> can_ex1.o(.text)
</UL>
<P><STRONG><a name="[c82a28]"></a>task_init</STRONG> (Thumb, 46 bytes, Stack size 8 bytes, can_ex1.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = task_init &rArr; os_tsk_create_user &rArr; os_dispatch &rArr; os_put_prio
</UL>
<BR>[Calls]<UL><LI><a href="#[c77278]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;os_tsk_delete
<LI><a href="#[c77308]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;os_tsk_create_user
</UL>
<BR>[Address Reference Count : 1]<UL><LI> can_ex1.o(.text)
</UL>
<P><STRONG><a name="[c829e0]"></a>main</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, can_ex1.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 88 + Unknown Stack Size
<LI>Call Chain = main &rArr; os_sys_init_user &rArr; os_tsk_create_user &rArr; os_dispatch &rArr; os_put_prio
</UL>
<BR>[Calls]<UL><LI><a href="#[c77350]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;os_sys_init_user
<LI><a href="#[c82b90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Out_Init
<LI><a href="#[c82c20]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;In_Init
</UL>
<BR>[Address Reference Count : 1]<UL><LI> init.o(.text)
</UL>
<P><STRONG><a name="[c82998]"></a>CAN_init</STRONG> (Thumb, 100 bytes, Stack size 16 bytes, rtx_can.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = CAN_init &rArr; CAN_hw_init &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[c74f20]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;os_sem_init
<LI><a href="#[c79bd8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;os_mbx_init
<LI><a href="#[c81710]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN_hw_setup
<LI><a href="#[c817e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN_hw_init
<LI><a href="#[10f6ea8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_init_box
</UL>
<BR>[Called By]<UL><LI><a href="#[c82a70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;task_send_CAN
</UL>

<P><STRONG><a name="[c82878]"></a>CAN_start</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, rtx_can.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = CAN_start
</UL>
<BR>[Calls]<UL><LI><a href="#[c816c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN_hw_start
</UL>
<BR>[Called By]<UL><LI><a href="#[c82a70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;task_send_CAN
</UL>

<P><STRONG><a name="[c828c0]"></a>CAN_send</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, rtx_can.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = CAN_send &rArr; CAN_push &rArr; os_mbx_send &rArr; os_dispatch &rArr; os_put_prio
</UL>
<BR>[Calls]<UL><LI><a href="#[c81dd0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN_push
</UL>
<BR>[Called By]<UL><LI><a href="#[c82a70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;task_send_CAN
</UL>

<P><STRONG><a name="[c818c0]"></a>CAN_request</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, rtx_can.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c81dd0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN_push
</UL>

<P><STRONG><a name="[c81878]"></a>CAN_set</STRONG> (Thumb, 70 bytes, Stack size 32 bytes, rtx_can.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c74e90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;os_sem_send
<LI><a href="#[c81680]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN_hw_tx_empty
<LI><a href="#[c81758]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN_hw_set
<LI><a href="#[10f8100]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;os_dly_wait
</UL>

<P><STRONG><a name="[c82950]"></a>CAN_receive</STRONG> (Thumb, 58 bytes, Stack size 16 bytes, rtx_can.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = CAN_receive &rArr; os_mbx_wait &rArr; os_dispatch &rArr; os_put_prio
</UL>
<BR>[Calls]<UL><LI><a href="#[c79b00]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;os_mbx_wait
</UL>
<BR>[Called By]<UL><LI><a href="#[c82ab8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;task_rece_CAN
</UL>

<P><STRONG><a name="[c82908]"></a>CAN_rx_object</STRONG> (Thumb, 8 bytes, Stack size 8 bytes, rtx_can.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = CAN_rx_object &rArr; CAN_hw_rx_object
</UL>
<BR>[Calls]<UL><LI><a href="#[c817a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN_hw_rx_object
</UL>
<BR>[Called By]<UL><LI><a href="#[c82a70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;task_send_CAN
</UL>

<P><STRONG><a name="[c81830]"></a>CAN_tx_object</STRONG> (Thumb, 8 bytes, Stack size 8 bytes, rtx_can.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c81638]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN_hw_tx_object
</UL>

<P><STRONG><a name="[c815f0]"></a>CAN_hw_wr</STRONG> (Thumb, 70 bytes, Stack size 0 bytes, can_hw.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c807a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN_ISR (via Veneer)
<LI><a href="#[c81dd0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN_push
</UL>

<P><STRONG><a name="[c81710]"></a>CAN_hw_setup</STRONG> (Thumb, 96 bytes, Stack size 16 bytes, can_hw.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = CAN_hw_setup
</UL>
<BR>[Called By]<UL><LI><a href="#[c82998]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN_init
</UL>

<P><STRONG><a name="[c817e8]"></a>CAN_hw_init</STRONG> (Thumb, 84 bytes, Stack size 24 bytes, can_hw.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = CAN_hw_init &rArr; __aeabi_uidivmod

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -