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

📄 basickeyboard.htm

📁 基于atmel公司的at91rm9200的驱动spi总线键盘的源代码
💻 HTM
📖 第 1 页 / 共 3 页
字号:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">                 <html><head>
<title>Static Call Graph - [E:\ads和FFT-ICE开发\FFT-RM9200-BasicSPIKeyboard\compil\BasicKeyboard_Data\Debug\BasicKeyboard.axf]</title>
</head>
<body><HR>
<H1>Static Call Graph for image E:\ads和FFT-ICE开发\FFT-RM9200-BasicSPIKeyboard\compil\BasicKeyboard_Data\Debug\BasicKeyboard.axf</H1><HR>
<BR><P><STRONG>Maximum Stack Usage =        284 bytes<P>
Call chain for Maximum Stack Depth:<BR></STRONG>
main -> AT91F_PrintKeyBoardKey -> _sprintf -> __vfprintf -> _printf_display -> __16_ll_udiv10<BR><STRONG>

</STRONG><HR><P><STRONG><a name="[c45a0d4]"></a>__ENTRY</STRONG> (ARM, 0 bytes, Stack size 0 bytes, cstartup_ads.o(reset))
<BR><BR>[Calls]<UL><LI><a href="#[c45b298]">&gt&gt</a>&nbsp;&nbsp;&nbsp;InitReset
</UL><P><STRONG><a name="[c513e68]"></a>__main</STRONG> (ARM, 0 bytes, Stack size 0 bytes, cstartup_ads.o(reset), UNUSED)
<P><STRONG><a name="[c513dfc]"></a>_main</STRONG> (ARM, 0 bytes, Stack size 0 bytes, cstartup_ads.o(reset), UNUSED)
<P><STRONG><a name="[c3fd798]"></a>AT91F_DBGU_Printk</STRONG> (ARM, 68 bytes, Stack size 8 bytes, init.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[c3fd720]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_US_TxReady
<LI><a href="#[c3fd6a8]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_US_PutChar
</UL><BR>[Called By]<UL><LI><a href="#[c3fd62c]">&lt&lt</a>&nbsp;&nbsp;&nbsp;AT91F_SpuriousHandler
<LI><a href="#[c3fd5b8]">&lt&lt</a>&nbsp;&nbsp;&nbsp;AT91F_DataAbort
<LI><a href="#[c3fd540]">&lt&lt</a>&nbsp;&nbsp;&nbsp;AT91F_FetchAbort
<LI><a href="#[c3fd4d0]">&lt&lt</a>&nbsp;&nbsp;&nbsp;AT91F_Undef
<LI><a href="#[c3fd458]">&lt&lt</a>&nbsp;&nbsp;&nbsp;AT91F_UndefHandler
<LI><a href="#[c3fd3e0]">&lt&lt</a>&nbsp;&nbsp;&nbsp;AT91F_LowLevelInit
<LI><a href="#[c514548]">&lt&lt</a>&nbsp;&nbsp;&nbsp;AT91F_PrintMouseKey
<LI><a href="#[c51445c]">&lt&lt</a>&nbsp;&nbsp;&nbsp;AT91F_PrintKeyBoardKey
<LI><a href="#[c5143f0]">&lt&lt</a>&nbsp;&nbsp;&nbsp;main
</UL><P><STRONG><a name="[c3fd62c]"></a>AT91F_SpuriousHandler</STRONG> (ARM, 60 bytes, Stack size 8 bytes, init.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[c3fd798]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_DBGU_Printk
</UL><BR>[Address Reference Count : 1]<UL><LI> init.o(.text)
</UL><P><STRONG><a name="[c3fd5b8]"></a>AT91F_DataAbort</STRONG> (ARM, 48 bytes, Stack size 8 bytes, init.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[c3fd798]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_DBGU_Printk
</UL><BR>[Address Reference Count : 1]<UL><LI> init.o(.text)
</UL><P><STRONG><a name="[c3fd540]"></a>AT91F_FetchAbort</STRONG> (ARM, 52 bytes, Stack size 8 bytes, init.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[c3fd798]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_DBGU_Printk
</UL><BR>[Address Reference Count : 1]<UL><LI> init.o(.text)
</UL><P><STRONG><a name="[c3fd4d0]"></a>AT91F_Undef</STRONG> (ARM, 44 bytes, Stack size 8 bytes, init.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[c3fd798]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_DBGU_Printk
</UL><BR>[Address Reference Count : 1]<UL><LI> init.o(.text)
</UL><P><STRONG><a name="[c3fd458]"></a>AT91F_UndefHandler</STRONG> (ARM, 20 bytes, Stack size 8 bytes, init.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[c3fd798]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_DBGU_Printk
</UL><BR>[Address Reference Count : 1]<UL><LI> init.o(.text)
</UL><P><STRONG><a name="[c3fd3e0]"></a>AT91F_LowLevelInit</STRONG> (ARM, 260 bytes, Stack size 16 bytes, init.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[c3fd36c]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_AIC_Open
<LI><a href="#[c3fd2f0]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_AIC_AcknowledgeIt
<LI><a href="#[c3fd26c]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_AIC_SetExceptionVector
<LI><a href="#[c3fd1f4]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_DBGU_CfgPIO
<LI><a href="#[c3fd17c]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_US_Configure
<LI><a href="#[c3fd104]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_US_EnableTx
<LI><a href="#[c3fd798]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_DBGU_Printk
</UL><BR>[Address Reference Count : 1]<UL><LI> cstartup_ads.o(reset)
</UL><P><STRONG><a name="[c5152c4]"></a>AT91F_CfgSPIForPs2</STRONG> (ARM, 68 bytes, Stack size 8 bytes, main.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[c515250]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_SPI_Reset
<LI><a href="#[c5151d8]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_SPI_CfgMode
<LI><a href="#[c515164]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_SPI_CfgCs
<LI><a href="#[c5150ec]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_SPI_Enable
<LI><a href="#[c3fca74]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_PDC_EnableTx
<LI><a href="#[c3fcaec]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_PDC_EnableRx
</UL><BR>[Called By]<UL><LI><a href="#[c514cf4]">&lt&lt</a>&nbsp;&nbsp;&nbsp;AT91F_InitPS2Ctrl
</UL><P><STRONG><a name="[c514fd0]"></a>AT91F_KEYDETECT_HANDLER</STRONG> (ARM, 36 bytes, Stack size 8 bytes, main.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[c514f54]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_PIO_ClearOutput
</UL><BR>[Address Reference Count : 1]<UL><LI> asm_isr.o(itHandler)
</UL><P><STRONG><a name="[c514ed4]"></a>AT91F_FlushPs2Controller</STRONG> (ARM, 44 bytes, Stack size 0 bytes, main.o(.text))
<BR>[Called By]<UL><LI><a href="#[c514cf4]">&lt&lt</a>&nbsp;&nbsp;&nbsp;AT91F_InitPS2Ctrl
</UL><P><STRONG><a name="[c514e5c]"></a>AT91F_PS2_HANDLER</STRONG> (ARM, 168 bytes, Stack size 8 bytes, main.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[c514f54]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_PIO_ClearOutput
<LI><a href="#[c514de4]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_PIO_SetOutput
<LI><a href="#[c514d6c]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_SPI_DisableIt
</UL><BR>[Address Reference Count : 1]<UL><LI> asm_isr.o(itHandler)
</UL><P><STRONG><a name="[c514cf4]"></a>AT91F_InitPS2Ctrl</STRONG> (ARM, 148 bytes, Stack size 8 bytes, main.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[c514c7c]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_SPI_CfgPIO
<LI><a href="#[c514c04]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_SPI_CfgPMC
<LI><a href="#[c5152c4]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_CfgSPIForPs2
<LI><a href="#[c514b8c]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_PIO_CfgOutput
<LI><a href="#[c514de4]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_PIO_SetOutput
<LI><a href="#[c3fce2c]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_PIO_CfgPeriph
<LI><a href="#[c514ed4]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_FlushPs2Controller
<LI><a href="#[c3fcea4]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_AIC_ConfigureIt
<LI><a href="#[c5149f8]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_AIC_EnableIt
</UL><BR>[Called By]<UL><LI><a href="#[c5143f0]">&lt&lt</a>&nbsp;&nbsp;&nbsp;main
</UL><P><STRONG><a name="[c514904]"></a>AT91F_OpenPs2Ctrl</STRONG> (ARM, 80 bytes, Stack size 16 bytes, main.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[c51488c]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_OpenKeyBoard
<LI><a href="#[c514818]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_OpenMouse
</UL><BR>[Called By]<UL><LI><a href="#[c5143f0]">&lt&lt</a>&nbsp;&nbsp;&nbsp;main
</UL><P><STRONG><a name="[c5147a4]"></a>AT91F_ReadPs2</STRONG> (ARM, 84 bytes, Stack size 16 bytes, main.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[c51472c]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_PDC_SendFrame
<LI><a href="#[c5146b0]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_PDC_ReceiveFrame
<LI><a href="#[c514638]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_SPI_EnableIt
</UL><BR>[Called By]<UL><LI><a href="#[c5143f0]">&lt&lt</a>&nbsp;&nbsp;&nbsp;main
</UL><P><STRONG><a name="[c5145c0]"></a>AT91F_ST_HANDLER</STRONG> (ARM, 36 bytes, Stack size 0 bytes, main.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> asm_isr.o(itHandler)
</UL><P><STRONG><a name="[c514548]"></a>AT91F_PrintMouseKey</STRONG> (ARM, 488 bytes, Stack size 8 bytes, main.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[c5144d8]">&gt&gt</a>&nbsp;&nbsp;&nbsp;_sprintf (via Veneer)
<LI><a href="#[c3fd798]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_DBGU_Printk
</UL><BR>[Called By]<UL><LI><a href="#[c5143f0]">&lt&lt</a>&nbsp;&nbsp;&nbsp;main
</UL><P><STRONG><a name="[c51445c]"></a>AT91F_PrintKeyBoardKey</STRONG> (ARM, 64 bytes, Stack size 8 bytes, main.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[c5144d8]">&gt&gt</a>&nbsp;&nbsp;&nbsp;_sprintf (via Veneer)
<LI><a href="#[c3fd798]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_DBGU_Printk
</UL><BR>[Called By]<UL><LI><a href="#[c5143f0]">&lt&lt</a>&nbsp;&nbsp;&nbsp;main
</UL><P><STRONG><a name="[c5143f0]"></a>main</STRONG> (ARM, 500 bytes, Stack size 16 bytes, main.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[c3fd798]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_DBGU_Printk
<LI><a href="#[c514370]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_ST_SetPeriodInterval
<LI><a href="#[c5142f8]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_ST_EnableIt
<LI><a href="#[c3fcea4]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_AIC_ConfigureIt
<LI><a href="#[c5149f8]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_AIC_EnableIt
<LI><a href="#[c514cf4]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_InitPS2Ctrl
<LI><a href="#[c514904]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_OpenPs2Ctrl
<LI><a href="#[c5147a4]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_ReadPs2
<LI><a href="#[c51445c]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_PrintKeyBoardKey
<LI><a href="#[c514548]">&gt&gt</a>&nbsp;&nbsp;&nbsp;AT91F_PrintMouseKey
</UL><BR>[Address Reference Count : 1]<UL><LI> cstartup_ads.o(reset)
</UL><P><STRONG><a name="[c55cf00]"></a>AT91F_ReadOneKey</STRONG> (ARM, 96 bytes, Stack size 0 bytes, keyboard.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> keyboard.o(.text)
</UL><P><STRONG><a name="[c55ce88]"></a>AT91F_IsKeyPressed</STRONG> (ARM, 12 bytes, Stack size 0 bytes, keyboard.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> keyboard.o(.text)
</UL><P><STRONG><a name="[c55ce0c]"></a>AT91F_FillKeybBuffer</STRONG> (ARM, 116 bytes, Stack size 0 bytes, keyboard.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> keyboard.o(.text)
</UL><P><STRONG><a name="[c51488c]"></a>AT91F_OpenKeyBoard</STRONG> (ARM, 60 bytes, Stack size 0 bytes, keyboard.o(.text))
<BR>[Called By]<UL><LI><a href="#[c514904]">&lt&lt</a>&nbsp;&nbsp;&nbsp;AT91F_OpenPs2Ctrl
</UL><P><STRONG><a name="[c55cd98]"></a>AT91F_ReadMouse</STRONG> (ARM, 96 bytes, Stack size 0 bytes, keyboard.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> keyboard.o(.text)
</UL><P><STRONG><a name="[c55cd20]"></a>AT91F_IsMouseMove</STRONG> (ARM, 12 bytes, Stack size 0 bytes, keyboard.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> keyboard.o(.text)
</UL><P><STRONG><a name="[c55cca8]"></a>AT91F_UpdateMouse</STRONG> (ARM, 80 bytes, Stack size 0 bytes, keyboard.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> keyboard.o(.text)
</UL><P><STRONG><a name="[c514818]"></a>AT91F_OpenMouse</STRONG> (ARM, 60 bytes, Stack size 0 bytes, keyboard.o(.text))
<BR>[Called By]<UL><LI><a href="#[c514904]">&lt&lt</a>&nbsp;&nbsp;&nbsp;AT91F_OpenPs2Ctrl
</UL><P><STRONG><a name="[c5144d8]"></a>_sprintf</STRONG> (Thumb, 60 bytes, Stack size 96 bytes, _sprintf.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[c557278]">&gt&gt</a>&nbsp;&nbsp;&nbsp;__vfprintf
<LI><a href="#[c557354]">&gt&gt</a>&nbsp;&nbsp;&nbsp;_sputc
</UL><BR>[Called By]<UL><LI><a href="#[c514548]">&lt&lt</a>&nbsp;&nbsp;&nbsp;AT91F_PrintMouseKey (via Veneer)
<LI><a href="#[c51445c]">&lt&lt</a>&nbsp;&nbsp;&nbsp;AT91F_PrintKeyBoardKey (via Veneer)
</UL><P><STRONG><a name="[c556c2c]"></a>__16__rt_udiv</STRONG> (Thumb, 196 bytes, Stack size 0 bytes, rt_udiv.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c556ca0]">&gt&gt</a>&nbsp;&nbsp;&nbsp;__rt_div0 (via BX)
</UL><P><STRONG><a name="[c3fc98c]"></a>__rt_udiv</STRONG> (ARM, 0 bytes, Stack size 0 bytes, rt_udiv.o(.text))
<BR>[Called By]<UL><LI><a href="#[c3fc9fc]">&lt&lt</a>&nbsp;&nbsp;&nbsp;AT91F_US_Baudrate
</UL><P><STRONG><a name="[c557278]"></a>__vfprintf</STRONG> (Thumb, 1428 bytes, Stack size 72 bytes, __vfpntf.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[c556768]">&gt&gt</a>&nbsp;&nbsp;&nbsp;__call_via_r2

⌨️ 快捷键说明

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