2019.07.31

This commit is contained in:
hnwangkg-ezio 2019-07-31 19:08:02 +08:00
commit 717cbb8d92
734 changed files with 2999 additions and 61893 deletions

File diff suppressed because one or more lines are too long

View file

@ -738,7 +738,7 @@
<Group>
<GroupName>e-Paper</GroupName>
<tvExp>1</tvExp>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>

View file

@ -27,80 +27,14 @@ Project File Date: 06/21/2019
<h2>Output:</h2>
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'E:\Keil_v5\ARM\ARMCC\Bin'
Build target 'epd-demo'
compiling gpio.c...
compiling spi.c...
compiling main.c...
compiling stm32f1xx_it.c...
compiling usart.c...
compiling stm32f1xx_hal_msp.c...
compiling stm32f1xx_hal_spi_ex.c...
compiling stm32f1xx_hal_gpio_ex.c...
compiling stm32f1xx_hal_spi.c...
compiling stm32f1xx_hal_tim.c...
compiling stm32f1xx_hal_tim_ex.c...
compiling stm32f1xx_hal_uart.c...
compiling stm32f1xx_hal.c...
compiling stm32f1xx_hal_rcc_ex.c...
compiling stm32f1xx_hal_rcc.c...
compiling stm32f1xx_hal_cortex.c...
compiling stm32f1xx_hal_gpio.c...
compiling stm32f1xx_hal_dma.c...
compiling stm32f1xx_hal_pwr.c...
compiling stm32f1xx_hal_flash.c...
compiling stm32f1xx_hal_flash_ex.c...
compiling ImageData.c...
compiling system_stm32f1xx.c...
compiling EPD_1in54_test.c...
compiling EPD_1in54_V2_test.c...
compiling EPD_1in54b_test.c...
compiling EPD_1in54c_test.c...
compiling EPD_2in7_test.c...
compiling EPD_2in9_test.c...
compiling EPD_2in7b_test.c...
compiling EPD_2in9bc_test.c...
compiling EPD_2in13_V2_test.c...
compiling EPD_2in9d_test.c...
compiling EPD_2in13_test.c...
compiling EPD_4in2_test.c...
compiling EPD_2in13bc_test.c...
compiling EPD_2in13d_test.c...
compiling EPD_5in83bc_test.c...
compiling EPD_5in83_test.c...
compiling EPD_4in2bc_test.c...
compiling EPD_7in5bc_test.c...
compiling EPD_7in5_test.c...
compiling EPD_1in54.c...
compiling EPD_1in54_V2.c...
compiling EPD_1in54b.c...
compiling EPD_1in54c.c...
compiling EPD_2in7b.c...
compiling EPD_2in9.c...
compiling EPD_2in7.c...
compiling EPD_2in9bc.c...
compiling EPD_2in9d.c...
compiling EPD_2in13.c...
compiling EPD_2in13_V2.c...
compiling EPD_2in13bc.c...
compiling EPD_2in13d.c...
compiling EPD_5in83.c...
compiling EPD_4in2.c...
compiling EPD_4in2bc.c...
compiling EPD_7in5bc.c...
compiling EPD_7in5.c...
compiling EPD_5in83bc.c...
compiling font8.c...
compiling font12.c...
compiling font12CN.c...
compiling font16.c...
compiling DEV_Config.c...
compiling font20.c...
compiling GUI_Paint.c...
compiling font24.c...
compiling font24CN.c...
..\User\Examples\EPD_1in54_V2_test.c(151): warning: #111-D: statement is unreachable
printf("close 5V, Module enters 0 power consumption ...\r\n");
..\User\Examples\EPD_1in54_V2_test.c: 1 warning, 0 errors
linking...
Program Size: Code=21040 RO-data=20224 RW-data=68 ZI-data=41140
Program Size: Code=20616 RO-data=5596 RW-data=28 ZI-data=41140
FromELF: creating hex file...
"epd-demo\epd-demo.axf" - 0 Error(s), 0 Warning(s).
"epd-demo\epd-demo.axf" - 0 Error(s), 1 Warning(s).
<h2>Software Packages used:</h2>
@ -123,7 +57,7 @@ Package Vendor: Keil
<h2>Collection of Component Files used:</h2>
* Component: ARM::CMSIS:CORE:5.1.1
Build Time Elapsed: 00:00:41
Build Time Elapsed: 00:00:03
</pre>
</body>
</html>

View file

@ -3,11 +3,11 @@
<title>Static Call Graph - [epd-demo\epd-demo.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image epd-demo\epd-demo.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Fri Jun 21 13:53:08 2019
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Fri Jul 12 11:58:23 2019
<BR><P>
<H3>Maximum Stack Usage = 744 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
<H3>Maximum Stack Usage = 160 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
main &rArr; EPD_2in9bc_test &rArr; Paint_DrawNum &rArr; Paint_DrawString_EN &rArr; Paint_DrawChar &rArr; Paint_SetPixel &rArr; __2printf
main &rArr; EPD_1in54_V2_test &rArr; EPD_1IN54_V2_Display &rArr; EPD_1IN54_V2_TurnOnDisplay &rArr; EPD_1IN54_V2_SendData &rArr; DEV_SPI_WriteByte &rArr; HAL_SPI_Transmit &rArr; SPI_CheckFlag_BSY &rArr; SPI_WaitFlagStateUntilTimeout
<P>
<H3>
Mutually Recursive functions
@ -134,25 +134,25 @@ Global Symbols
<P><STRONG><a name="[48]"></a>__main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xe.o(.text)
</UL>
<P><STRONG><a name="[f9]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
<P><STRONG><a name="[fe]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
<P><STRONG><a name="[68]"></a>_main_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Calls]<UL><LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL>
<P><STRONG><a name="[f5]"></a>__main_after_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<P><STRONG><a name="[fa]"></a>__main_after_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Called By]<UL><LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL>
<P><STRONG><a name="[fa]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
<P><STRONG><a name="[ff]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
<P><STRONG><a name="[fb]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
<P><STRONG><a name="[100]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
<P><STRONG><a name="[fc]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
<P><STRONG><a name="[101]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
<P><STRONG><a name="[fd]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D))
<P><STRONG><a name="[102]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D))
<P><STRONG><a name="[fe]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F))
<P><STRONG><a name="[103]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F))
<P><STRONG><a name="[0]"></a>Reset_Handler</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xe.o(RESET)
@ -363,13 +363,13 @@ Global Symbols
</UL>
<P><STRONG><a name="[46]"></a>main</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, main.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 744<LI>Call Chain = main &rArr; EPD_2in9bc_test &rArr; Paint_DrawNum &rArr; Paint_DrawString_EN &rArr; Paint_DrawChar &rArr; Paint_SetPixel &rArr; __2printf
<BR><BR>[Stack]<UL><LI>Max Depth = 160<LI>Call Chain = main &rArr; EPD_1in54_V2_test &rArr; EPD_1IN54_V2_Display &rArr; EPD_1IN54_V2_TurnOnDisplay &rArr; EPD_1IN54_V2_SendData &rArr; DEV_SPI_WriteByte &rArr; HAL_SPI_Transmit &rArr; SPI_CheckFlag_BSY &rArr; SPI_WaitFlagStateUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_USART1_UART_Init
<LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_SPI1_Init
<LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_GPIO_Init
<LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Init
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2in9bc_test
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1in54_V2_test
<LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
</UL>
<BR>[Address Reference Count : 1]<UL><LI> entry9a.o(.ARM.Collect$$$$0000000B)
@ -507,7 +507,7 @@ Global Symbols
<LI><a href="#[89]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CheckFlag_BSY
<LI><a href="#[86]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_WaitFlagStateUntilTimeout
</UL>
<BR>[Called By]<UL><LI><a href="#[ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DEV_SPI_WriteByte
<BR>[Called By]<UL><LI><a href="#[e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DEV_SPI_WriteByte
</UL>
<P><STRONG><a name="[8a]"></a>HAL_SPI_TransmitReceive</STRONG> (Thumb, 472 bytes, Stack size 40 bytes, stm32f1xx_hal_spi.o(.text), UNUSED)
@ -540,7 +540,7 @@ Global Symbols
<LI><a href="#[8c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseTx_ISR
</UL>
<P><STRONG><a name="[ff]"></a>HAL_SPI_Transmit_IT</STRONG> (Thumb, 142 bytes, Stack size 12 bytes, stm32f1xx_hal_spi.o(.text), UNUSED)
<P><STRONG><a name="[104]"></a>HAL_SPI_Transmit_IT</STRONG> (Thumb, 142 bytes, Stack size 12 bytes, stm32f1xx_hal_spi.o(.text), UNUSED)
<P><STRONG><a name="[90]"></a>HAL_SPI_RxCpltCallback</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_DMAReceiveCplt
@ -603,9 +603,9 @@ Global Symbols
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_DMA_Abort_IT
</UL>
<P><STRONG><a name="[100]"></a>HAL_SPI_DMAPause</STRONG> (Thumb, 38 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text), UNUSED)
<P><STRONG><a name="[105]"></a>HAL_SPI_DMAPause</STRONG> (Thumb, 38 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text), UNUSED)
<P><STRONG><a name="[101]"></a>HAL_SPI_DMAResume</STRONG> (Thumb, 38 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text), UNUSED)
<P><STRONG><a name="[106]"></a>HAL_SPI_DMAResume</STRONG> (Thumb, 38 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text), UNUSED)
<P><STRONG><a name="[a1]"></a>HAL_SPI_DMAStop</STRONG> (Thumb, 40 bytes, Stack size 8 bytes, stm32f1xx_hal_spi.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_DMA_Abort
@ -616,11 +616,11 @@ Global Symbols
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_DMA_Abort_IT
</UL>
<P><STRONG><a name="[102]"></a>HAL_SPI_GetState</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text), UNUSED)
<P><STRONG><a name="[107]"></a>HAL_SPI_GetState</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text), UNUSED)
<P><STRONG><a name="[103]"></a>HAL_SPI_GetError</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text), UNUSED)
<P><STRONG><a name="[108]"></a>HAL_SPI_GetError</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text), UNUSED)
<P><STRONG><a name="[104]"></a>SPI_ISCRCErrorValid</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text), UNUSED)
<P><STRONG><a name="[109]"></a>SPI_ISCRCErrorValid</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text), UNUSED)
<P><STRONG><a name="[79]"></a>HAL_SPI_Init</STRONG> (Thumb, 130 bytes, Stack size 16 bytes, stm32f1xx_hal_spi_ex.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = HAL_SPI_Init &rArr; HAL_SPI_MspInit &rArr; HAL_GPIO_Init
@ -672,9 +672,9 @@ Global Symbols
<LI><a href="#[87]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
</UL>
<P><STRONG><a name="[105]"></a>HAL_UART_Transmit_IT</STRONG> (Thumb, 62 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)
<P><STRONG><a name="[10a]"></a>HAL_UART_Transmit_IT</STRONG> (Thumb, 62 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)
<P><STRONG><a name="[106]"></a>HAL_UART_Receive_IT</STRONG> (Thumb, 82 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)
<P><STRONG><a name="[10b]"></a>HAL_UART_Receive_IT</STRONG> (Thumb, 82 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)
<P><STRONG><a name="[ae]"></a>HAL_UART_ErrorCallback</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART_IRQHandler
@ -708,9 +708,9 @@ Global Symbols
<BR><BR>[Calls]<UL><LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_DMA_Start_IT
</UL>
<P><STRONG><a name="[107]"></a>HAL_UART_DMAPause</STRONG> (Thumb, 102 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)
<P><STRONG><a name="[10c]"></a>HAL_UART_DMAPause</STRONG> (Thumb, 102 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)
<P><STRONG><a name="[108]"></a>HAL_UART_DMAResume</STRONG> (Thumb, 94 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)
<P><STRONG><a name="[10d]"></a>HAL_UART_DMAResume</STRONG> (Thumb, 94 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)
<P><STRONG><a name="[b5]"></a>HAL_UART_DMAStop</STRONG> (Thumb, 88 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_EndTxTransfer
@ -770,19 +770,19 @@ Global Symbols
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_DMA_Abort_IT
</UL>
<P><STRONG><a name="[109]"></a>HAL_LIN_SendBreak</STRONG> (Thumb, 46 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)
<P><STRONG><a name="[10e]"></a>HAL_LIN_SendBreak</STRONG> (Thumb, 46 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)
<P><STRONG><a name="[10a]"></a>HAL_MultiProcessor_EnterMuteMode</STRONG> (Thumb, 46 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)
<P><STRONG><a name="[10f]"></a>HAL_MultiProcessor_EnterMuteMode</STRONG> (Thumb, 46 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)
<P><STRONG><a name="[10b]"></a>HAL_MultiProcessor_ExitMuteMode</STRONG> (Thumb, 46 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)
<P><STRONG><a name="[110]"></a>HAL_MultiProcessor_ExitMuteMode</STRONG> (Thumb, 46 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)
<P><STRONG><a name="[10c]"></a>HAL_HalfDuplex_EnableTransmitter</STRONG> (Thumb, 50 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)
<P><STRONG><a name="[111]"></a>HAL_HalfDuplex_EnableTransmitter</STRONG> (Thumb, 50 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)
<P><STRONG><a name="[10d]"></a>HAL_HalfDuplex_EnableReceiver</STRONG> (Thumb, 50 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)
<P><STRONG><a name="[112]"></a>HAL_HalfDuplex_EnableReceiver</STRONG> (Thumb, 50 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)
<P><STRONG><a name="[10e]"></a>HAL_UART_GetState</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)
<P><STRONG><a name="[113]"></a>HAL_UART_GetState</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)
<P><STRONG><a name="[10f]"></a>HAL_UART_GetError</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)
<P><STRONG><a name="[114]"></a>HAL_UART_GetError</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)
<P><STRONG><a name="[c2]"></a>HAL_InitTick</STRONG> (Thumb, 54 bytes, Stack size 16 bytes, stm32f1xx_hal.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = HAL_InitTick &rArr; HAL_NVIC_SetPriority
@ -837,47 +837,48 @@ Global Symbols
<LI><a href="#[6d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_ClockConfig
</UL>
<P><STRONG><a name="[110]"></a>HAL_GetTickPrio</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[115]"></a>HAL_GetTickPrio</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[c5]"></a>HAL_SetTickFreq</STRONG> (Thumb, 24 bytes, Stack size 8 bytes, stm32f1xx_hal.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
</UL>
<P><STRONG><a name="[111]"></a>HAL_GetTickFreq</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[116]"></a>HAL_GetTickFreq</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[c6]"></a>HAL_Delay</STRONG> (Thumb, 32 bytes, Stack size 16 bytes, stm32f1xx_hal.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = HAL_Delay
</UL>
<BR>[Calls]<UL><LI><a href="#[87]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2in9bc_test
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_Init
<LI><a href="#[e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_ReadBusy
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1in54_V2_test
<LI><a href="#[dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_Sleep
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_Init
<LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_ReadBusy
</UL>
<P><STRONG><a name="[112]"></a>HAL_SuspendTick</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[117]"></a>HAL_SuspendTick</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[113]"></a>HAL_ResumeTick</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[118]"></a>HAL_ResumeTick</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[114]"></a>HAL_GetHalVersion</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[119]"></a>HAL_GetHalVersion</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[115]"></a>HAL_GetREVID</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[11a]"></a>HAL_GetREVID</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[116]"></a>HAL_GetDEVID</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[11b]"></a>HAL_GetDEVID</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[117]"></a>HAL_DBGMCU_EnableDBGSleepMode</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[11c]"></a>HAL_DBGMCU_EnableDBGSleepMode</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[118]"></a>HAL_DBGMCU_DisableDBGSleepMode</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[11d]"></a>HAL_DBGMCU_DisableDBGSleepMode</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[119]"></a>HAL_DBGMCU_EnableDBGStopMode</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[11e]"></a>HAL_DBGMCU_EnableDBGStopMode</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[11a]"></a>HAL_DBGMCU_DisableDBGStopMode</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[11f]"></a>HAL_DBGMCU_DisableDBGStopMode</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[11b]"></a>HAL_DBGMCU_EnableDBGStandbyMode</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[120]"></a>HAL_DBGMCU_EnableDBGStandbyMode</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[11c]"></a>HAL_DBGMCU_DisableDBGStandbyMode</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[121]"></a>HAL_DBGMCU_DisableDBGStandbyMode</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[11d]"></a>HAL_GetUID</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[122]"></a>HAL_GetUID</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)
<P><STRONG><a name="[c7]"></a>HAL_RCC_DeInit</STRONG> (Thumb, 202 bytes, Stack size 24 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
@ -912,9 +913,9 @@ Global Symbols
<BR><BR>[Calls]<UL><LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_Init
</UL>
<P><STRONG><a name="[11e]"></a>HAL_RCC_EnableCSS</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED)
<P><STRONG><a name="[123]"></a>HAL_RCC_EnableCSS</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED)
<P><STRONG><a name="[11f]"></a>HAL_RCC_DisableCSS</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED)
<P><STRONG><a name="[124]"></a>HAL_RCC_DisableCSS</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED)
<P><STRONG><a name="[6e]"></a>HAL_RCC_GetHCLKFreq</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
@ -928,9 +929,9 @@ Global Symbols
<BR><BR>[Called By]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_SetConfig
</UL>
<P><STRONG><a name="[120]"></a>HAL_RCC_GetOscConfig</STRONG> (Thumb, 140 bytes, Stack size 8 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED)
<P><STRONG><a name="[125]"></a>HAL_RCC_GetOscConfig</STRONG> (Thumb, 140 bytes, Stack size 8 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED)
<P><STRONG><a name="[121]"></a>HAL_RCC_GetClockConfig</STRONG> (Thumb, 54 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED)
<P><STRONG><a name="[126]"></a>HAL_RCC_GetClockConfig</STRONG> (Thumb, 54 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED)
<P><STRONG><a name="[cb]"></a>HAL_RCC_CSSCallback</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_NMI_IRQHandler
@ -954,22 +955,22 @@ Global Symbols
<LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_MspDeInit
</UL>
<P><STRONG><a name="[e7]"></a>HAL_GPIO_ReadPin</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_ReadBusy
<P><STRONG><a name="[e0]"></a>HAL_GPIO_ReadPin</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_ReadBusy
</UL>
<P><STRONG><a name="[77]"></a>HAL_GPIO_WritePin</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_GPIO_Init
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_Init
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_Init
<LI><a href="#[d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DEV_Module_Init
<LI><a href="#[e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DEV_Module_Exit
<LI><a href="#[e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_SendData
<LI><a href="#[e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_SendCommand
<LI><a href="#[e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DEV_Module_Exit
<LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_SendData
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_SendCommand
</UL>
<P><STRONG><a name="[122]"></a>HAL_GPIO_TogglePin</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[127]"></a>HAL_GPIO_TogglePin</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[123]"></a>HAL_GPIO_LockPin</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, stm32f1xx_hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[128]"></a>HAL_GPIO_LockPin</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, stm32f1xx_hal_gpio.o(.text), UNUSED)
<P><STRONG><a name="[cd]"></a>HAL_GPIO_EXTI_Callback</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_EXTI_IRQHandler
@ -979,9 +980,9 @@ Global Symbols
<BR><BR>[Calls]<UL><LI><a href="#[cd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_EXTI_Callback
</UL>
<P><STRONG><a name="[124]"></a>HAL_DMA_Init</STRONG> (Thumb, 120 bytes, Stack size 12 bytes, stm32f1xx_hal_dma.o(.text), UNUSED)
<P><STRONG><a name="[129]"></a>HAL_DMA_Init</STRONG> (Thumb, 120 bytes, Stack size 12 bytes, stm32f1xx_hal_dma.o(.text), UNUSED)
<P><STRONG><a name="[125]"></a>HAL_DMA_DeInit</STRONG> (Thumb, 108 bytes, Stack size 8 bytes, stm32f1xx_hal_dma.o(.text), UNUSED)
<P><STRONG><a name="[12a]"></a>HAL_DMA_DeInit</STRONG> (Thumb, 108 bytes, Stack size 8 bytes, stm32f1xx_hal_dma.o(.text), UNUSED)
<P><STRONG><a name="[ce]"></a>HAL_DMA_Start</STRONG> (Thumb, 80 bytes, Stack size 16 bytes, stm32f1xx_hal_dma.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DMA_SetConfig
@ -1019,15 +1020,15 @@ Global Symbols
<BR><BR>[Calls]<UL><LI><a href="#[87]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
</UL>
<P><STRONG><a name="[126]"></a>HAL_DMA_IRQHandler</STRONG> (Thumb, 574 bytes, Stack size 40 bytes, stm32f1xx_hal_dma.o(.text), UNUSED)
<P><STRONG><a name="[12b]"></a>HAL_DMA_IRQHandler</STRONG> (Thumb, 574 bytes, Stack size 40 bytes, stm32f1xx_hal_dma.o(.text), UNUSED)
<P><STRONG><a name="[127]"></a>HAL_DMA_RegisterCallback</STRONG> (Thumb, 74 bytes, Stack size 8 bytes, stm32f1xx_hal_dma.o(.text), UNUSED)
<P><STRONG><a name="[12c]"></a>HAL_DMA_RegisterCallback</STRONG> (Thumb, 74 bytes, Stack size 8 bytes, stm32f1xx_hal_dma.o(.text), UNUSED)
<P><STRONG><a name="[128]"></a>HAL_DMA_UnRegisterCallback</STRONG> (Thumb, 82 bytes, Stack size 8 bytes, stm32f1xx_hal_dma.o(.text), UNUSED)
<P><STRONG><a name="[12d]"></a>HAL_DMA_UnRegisterCallback</STRONG> (Thumb, 82 bytes, Stack size 8 bytes, stm32f1xx_hal_dma.o(.text), UNUSED)
<P><STRONG><a name="[129]"></a>HAL_DMA_GetState</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal_dma.o(.text), UNUSED)
<P><STRONG><a name="[12e]"></a>HAL_DMA_GetState</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal_dma.o(.text), UNUSED)
<P><STRONG><a name="[12a]"></a>HAL_DMA_GetError</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_hal_dma.o(.text), UNUSED)
<P><STRONG><a name="[12f]"></a>HAL_DMA_GetError</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_hal_dma.o(.text), UNUSED)
<P><STRONG><a name="[84]"></a>HAL_NVIC_SetPriorityGrouping</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_MspInit
@ -1044,11 +1045,11 @@ Global Symbols
<LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
</UL>
<P><STRONG><a name="[12b]"></a>HAL_NVIC_EnableIRQ</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED)
<P><STRONG><a name="[130]"></a>HAL_NVIC_EnableIRQ</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED)
<P><STRONG><a name="[12c]"></a>HAL_NVIC_DisableIRQ</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED)
<P><STRONG><a name="[131]"></a>HAL_NVIC_DisableIRQ</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED)
<P><STRONG><a name="[12d]"></a>HAL_NVIC_SystemReset</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED)
<P><STRONG><a name="[132]"></a>HAL_NVIC_SystemReset</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED)
<P><STRONG><a name="[6f]"></a>HAL_SYSTICK_Config</STRONG> (Thumb, 40 bytes, Stack size 8 bytes, stm32f1xx_hal_cortex.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = HAL_SYSTICK_Config
@ -1059,17 +1060,17 @@ Global Symbols
<LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
</UL>
<P><STRONG><a name="[12e]"></a>HAL_NVIC_GetPriorityGrouping</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED)
<P><STRONG><a name="[133]"></a>HAL_NVIC_GetPriorityGrouping</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED)
<P><STRONG><a name="[12f]"></a>HAL_NVIC_GetPriority</STRONG> (Thumb, 82 bytes, Stack size 16 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED)
<P><STRONG><a name="[134]"></a>HAL_NVIC_GetPriority</STRONG> (Thumb, 82 bytes, Stack size 16 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED)
<P><STRONG><a name="[130]"></a>HAL_NVIC_SetPendingIRQ</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED)
<P><STRONG><a name="[135]"></a>HAL_NVIC_SetPendingIRQ</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED)
<P><STRONG><a name="[131]"></a>HAL_NVIC_GetPendingIRQ</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED)
<P><STRONG><a name="[136]"></a>HAL_NVIC_GetPendingIRQ</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED)
<P><STRONG><a name="[132]"></a>HAL_NVIC_ClearPendingIRQ</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED)
<P><STRONG><a name="[137]"></a>HAL_NVIC_ClearPendingIRQ</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED)
<P><STRONG><a name="[133]"></a>HAL_NVIC_GetActive</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED)
<P><STRONG><a name="[138]"></a>HAL_NVIC_GetActive</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED)
<P><STRONG><a name="[70]"></a>HAL_SYSTICK_CLKSourceConfig</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
@ -1090,97 +1091,89 @@ Global Symbols
<P><STRONG><a name="[47]"></a>SystemInit</STRONG> (Thumb, 56 bytes, Stack size 0 bytes, system_stm32f1xx.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xe.o(.text)
</UL>
<P><STRONG><a name="[134]"></a>SystemCoreClockUpdate</STRONG> (Thumb, 82 bytes, Stack size 8 bytes, system_stm32f1xx.o(.text), UNUSED)
<P><STRONG><a name="[139]"></a>SystemCoreClockUpdate</STRONG> (Thumb, 82 bytes, Stack size 8 bytes, system_stm32f1xx.o(.text), UNUSED)
<P><STRONG><a name="[76]"></a>EPD_2in9bc_test</STRONG> (Thumb, 566 bytes, Stack size 40 bytes, epd_2in9bc_test.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 744<LI>Call Chain = EPD_2in9bc_test &rArr; Paint_DrawNum &rArr; Paint_DrawString_EN &rArr; Paint_DrawChar &rArr; Paint_SetPixel &rArr; __2printf
<P><STRONG><a name="[76]"></a>EPD_1in54_V2_test</STRONG> (Thumb, 156 bytes, Stack size 24 bytes, epd_1in54_v2_test.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 160<LI>Call Chain = EPD_1in54_V2_test &rArr; EPD_1IN54_V2_Display &rArr; EPD_1IN54_V2_TurnOnDisplay &rArr; EPD_1IN54_V2_SendData &rArr; DEV_SPI_WriteByte &rArr; HAL_SPI_Transmit &rArr; SPI_CheckFlag_BSY &rArr; SPI_WaitFlagStateUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Delay
<LI><a href="#[e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_Sleep
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_Init
<LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_Display
<LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_Clear
<LI><a href="#[dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_Sleep
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_Init
<LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_Display
<LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_Clear
<LI><a href="#[d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_SelectImage
<LI><a href="#[d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_NewImage
<LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawString_EN
<LI><a href="#[e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawString_CN
<LI><a href="#[de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawRectangle
<LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawPoint
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawNum
<LI><a href="#[dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawLine
<LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawCircle
<LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawBitMap
<LI><a href="#[da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_Clear
<LI><a href="#[d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DEV_Module_Init
<LI><a href="#[e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DEV_Module_Exit
<LI><a href="#[d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;malloc
<LI><a href="#[e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;free
<LI><a href="#[de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;free
<LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[e6]"></a>EPD_2IN9BC_ReadBusy</STRONG> (Thumb, 40 bytes, Stack size 8 bytes, epd_2in9bc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = EPD_2IN9BC_ReadBusy &rArr; __2printf
</UL>
<BR>[Calls]<UL><LI><a href="#[e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_ReadPin
<LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Delay
<LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_Sleep
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_Init
<LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_Display
<LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_Clear
</UL>
<P><STRONG><a name="[d5]"></a>EPD_2IN9BC_Init</STRONG> (Thumb, 150 bytes, Stack size 8 bytes, epd_2in9bc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = EPD_2IN9BC_Init &rArr; EPD_2IN9BC_SendData &rArr; DEV_SPI_WriteByte &rArr; HAL_SPI_Transmit &rArr; SPI_CheckFlag_BSY &rArr; SPI_WaitFlagStateUntilTimeout
<P><STRONG><a name="[d5]"></a>EPD_1IN54_V2_Init</STRONG> (Thumb, 228 bytes, Stack size 8 bytes, epd_1in54_v2.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = EPD_1IN54_V2_Init &rArr; EPD_1IN54_V2_SendData &rArr; DEV_SPI_WriteByte &rArr; HAL_SPI_Transmit &rArr; SPI_CheckFlag_BSY &rArr; SPI_WaitFlagStateUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Delay
<LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
<LI><a href="#[e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_ReadBusy
<LI><a href="#[e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_SendData
<LI><a href="#[e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_SendCommand
<LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_SendData
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_SendCommand
<LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_ReadBusy
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2in9bc_test
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1in54_V2_test
</UL>
<P><STRONG><a name="[d6]"></a>EPD_2IN9BC_Clear</STRONG> (Thumb, 86 bytes, Stack size 24 bytes, epd_2in9bc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 128<LI>Call Chain = EPD_2IN9BC_Clear &rArr; EPD_2IN9BC_SendData &rArr; DEV_SPI_WriteByte &rArr; HAL_SPI_Transmit &rArr; SPI_CheckFlag_BSY &rArr; SPI_WaitFlagStateUntilTimeout
<P><STRONG><a name="[d6]"></a>EPD_1IN54_V2_Clear</STRONG> (Thumb, 48 bytes, Stack size 24 bytes, epd_1in54_v2.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = EPD_1IN54_V2_Clear &rArr; EPD_1IN54_V2_TurnOnDisplay &rArr; EPD_1IN54_V2_SendData &rArr; DEV_SPI_WriteByte &rArr; HAL_SPI_Transmit &rArr; SPI_CheckFlag_BSY &rArr; SPI_WaitFlagStateUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_ReadBusy
<LI><a href="#[e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_SendData
<LI><a href="#[e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_SendCommand
<BR>[Calls]<UL><LI><a href="#[e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_TurnOnDisplay
<LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_SendData
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_SendCommand
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2in9bc_test
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1in54_V2_test
</UL>
<P><STRONG><a name="[db]"></a>EPD_2IN9BC_Display</STRONG> (Thumb, 120 bytes, Stack size 32 bytes, epd_2in9bc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = EPD_2IN9BC_Display &rArr; EPD_2IN9BC_SendData &rArr; DEV_SPI_WriteByte &rArr; HAL_SPI_Transmit &rArr; SPI_CheckFlag_BSY &rArr; SPI_WaitFlagStateUntilTimeout
<P><STRONG><a name="[dc]"></a>EPD_1IN54_V2_Display</STRONG> (Thumb, 56 bytes, Stack size 24 bytes, epd_1in54_v2.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = EPD_1IN54_V2_Display &rArr; EPD_1IN54_V2_TurnOnDisplay &rArr; EPD_1IN54_V2_SendData &rArr; DEV_SPI_WriteByte &rArr; HAL_SPI_Transmit &rArr; SPI_CheckFlag_BSY &rArr; SPI_WaitFlagStateUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_ReadBusy
<LI><a href="#[e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_SendData
<LI><a href="#[e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_SendCommand
<BR>[Calls]<UL><LI><a href="#[e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_TurnOnDisplay
<LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_SendData
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_SendCommand
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2in9bc_test
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1in54_V2_test
</UL>
<P><STRONG><a name="[e3]"></a>EPD_2IN9BC_Sleep</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, epd_2in9bc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = EPD_2IN9BC_Sleep &rArr; EPD_2IN9BC_SendData &rArr; DEV_SPI_WriteByte &rArr; HAL_SPI_Transmit &rArr; SPI_CheckFlag_BSY &rArr; SPI_WaitFlagStateUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_ReadBusy
<LI><a href="#[e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_SendData
<LI><a href="#[e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_SendCommand
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2in9bc_test
<P><STRONG><a name="[e4]"></a>EPD_1IN54_V2_DisplayPartBaseImage</STRONG> (Thumb, 94 bytes, Stack size 24 bytes, epd_1in54_v2.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_TurnOnDisplayPart
<LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_SendData
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_SendCommand
</UL>
<P><STRONG><a name="[ea]"></a>DEV_SPI_WriteByte</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, dev_config.o(.text))
<P><STRONG><a name="[e6]"></a>EPD_1IN54_V2_DisplayPart</STRONG> (Thumb, 58 bytes, Stack size 24 bytes, epd_1in54_v2.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_TurnOnDisplayPart
<LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_SendData
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_SendCommand
</UL>
<P><STRONG><a name="[dd]"></a>EPD_1IN54_V2_Sleep</STRONG> (Thumb, 24 bytes, Stack size 8 bytes, epd_1in54_v2.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = EPD_1IN54_V2_Sleep &rArr; EPD_1IN54_V2_SendData &rArr; DEV_SPI_WriteByte &rArr; HAL_SPI_Transmit &rArr; SPI_CheckFlag_BSY &rArr; SPI_WaitFlagStateUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Delay
<LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_SendData
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_SendCommand
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1in54_V2_test
</UL>
<P><STRONG><a name="[e7]"></a>DEV_SPI_WriteByte</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, dev_config.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = DEV_SPI_WriteByte &rArr; HAL_SPI_Transmit &rArr; SPI_CheckFlag_BSY &rArr; SPI_WaitFlagStateUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[88]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_Transmit
</UL>
<BR>[Called By]<UL><LI><a href="#[e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_SendData
<LI><a href="#[e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_SendCommand
<BR>[Called By]<UL><LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_SendData
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_SendCommand
</UL>
<P><STRONG><a name="[d4]"></a>DEV_Module_Init</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, dev_config.o(.text))
@ -1188,215 +1181,186 @@ Global Symbols
</UL>
<BR>[Calls]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2in9bc_test
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1in54_V2_test
</UL>
<P><STRONG><a name="[e5]"></a>DEV_Module_Exit</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, dev_config.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = DEV_Module_Exit
</UL>
<BR>[Calls]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2in9bc_test
<P><STRONG><a name="[e8]"></a>DEV_Module_Exit</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, dev_config.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
</UL>
<P><STRONG><a name="[d8]"></a>Paint_NewImage</STRONG> (Thumb, 52 bytes, Stack size 16 bytes, gui_paint.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Paint_NewImage
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2in9bc_test
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1in54_V2_test
</UL>
<P><STRONG><a name="[d9]"></a>Paint_SelectImage</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, gui_paint.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2in9bc_test
<BR><BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1in54_V2_test
</UL>
<P><STRONG><a name="[eb]"></a>Paint_SetRotate</STRONG> (Thumb, 44 bytes, Stack size 8 bytes, gui_paint.o(.text), UNUSED)
<P><STRONG><a name="[e9]"></a>Paint_SetRotate</STRONG> (Thumb, 44 bytes, Stack size 8 bytes, gui_paint.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<P><STRONG><a name="[ec]"></a>Paint_SetMirroring</STRONG> (Thumb, 62 bytes, Stack size 8 bytes, gui_paint.o(.text), UNUSED)
<P><STRONG><a name="[ea]"></a>Paint_SetMirroring</STRONG> (Thumb, 62 bytes, Stack size 8 bytes, gui_paint.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<P><STRONG><a name="[ed]"></a>Paint_SetPixel</STRONG> (Thumb, 164 bytes, Stack size 16 bytes, gui_paint.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = Paint_SetPixel &rArr; __2printf
<P><STRONG><a name="[eb]"></a>Paint_SetPixel</STRONG> (Thumb, 164 bytes, Stack size 16 bytes, gui_paint.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Calls]<UL><LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawString_CN
<LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawPoint
<LI><a href="#[ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_ClearWindows
<LI><a href="#[ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawChar
<BR>[Called By]<UL><LI><a href="#[f3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawString_CN
<LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawPoint
<LI><a href="#[ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_ClearWindows
<LI><a href="#[f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawChar
</UL>
<P><STRONG><a name="[da]"></a>Paint_Clear</STRONG> (Thumb, 46 bytes, Stack size 12 bytes, gui_paint.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = Paint_Clear
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2in9bc_test
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1in54_V2_test
</UL>
<P><STRONG><a name="[ee]"></a>Paint_ClearWindows</STRONG> (Thumb, 52 bytes, Stack size 32 bytes, gui_paint.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_SetPixel
<P><STRONG><a name="[ec]"></a>Paint_ClearWindows</STRONG> (Thumb, 52 bytes, Stack size 32 bytes, gui_paint.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_SetPixel
</UL>
<P><STRONG><a name="[dc]"></a>Paint_DrawPoint</STRONG> (Thumb, 160 bytes, Stack size 40 bytes, gui_paint.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = Paint_DrawPoint &rArr; Paint_SetPixel &rArr; __2printf
</UL>
<BR>[Calls]<UL><LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_SetPixel
<P><STRONG><a name="[ed]"></a>Paint_DrawPoint</STRONG> (Thumb, 160 bytes, Stack size 40 bytes, gui_paint.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_SetPixel
<LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2in9bc_test
<LI><a href="#[dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawLine
<LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawCircle
<BR>[Called By]<UL><LI><a href="#[ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawLine
<LI><a href="#[f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawCircle
</UL>
<P><STRONG><a name="[dd]"></a>Paint_DrawLine</STRONG> (Thumb, 198 bytes, Stack size 48 bytes, gui_paint.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 128<LI>Call Chain = Paint_DrawLine &rArr; Paint_DrawPoint &rArr; Paint_SetPixel &rArr; __2printf
</UL>
<BR>[Calls]<UL><LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawPoint
<P><STRONG><a name="[ee]"></a>Paint_DrawLine</STRONG> (Thumb, 198 bytes, Stack size 48 bytes, gui_paint.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawPoint
<LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2in9bc_test
<LI><a href="#[de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawRectangle
<BR>[Called By]<UL><LI><a href="#[ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawRectangle
</UL>
<P><STRONG><a name="[de]"></a>Paint_DrawRectangle</STRONG> (Thumb, 170 bytes, Stack size 48 bytes, gui_paint.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 176<LI>Call Chain = Paint_DrawRectangle &rArr; Paint_DrawLine &rArr; Paint_DrawPoint &rArr; Paint_SetPixel &rArr; __2printf
</UL>
<BR>[Calls]<UL><LI><a href="#[dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawLine
<P><STRONG><a name="[ef]"></a>Paint_DrawRectangle</STRONG> (Thumb, 170 bytes, Stack size 48 bytes, gui_paint.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawLine
<LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2in9bc_test
</UL>
<P><STRONG><a name="[e2]"></a>Paint_DrawCircle</STRONG> (Thumb, 880 bytes, Stack size 72 bytes, gui_paint.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 152<LI>Call Chain = Paint_DrawCircle &rArr; Paint_DrawPoint &rArr; Paint_SetPixel &rArr; __2printf
</UL>
<BR>[Calls]<UL><LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawPoint
<P><STRONG><a name="[f0]"></a>Paint_DrawCircle</STRONG> (Thumb, 880 bytes, Stack size 72 bytes, gui_paint.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawPoint
<LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2in9bc_test
</UL>
<P><STRONG><a name="[ef]"></a>Paint_DrawChar</STRONG> (Thumb, 172 bytes, Stack size 40 bytes, gui_paint.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = Paint_DrawChar &rArr; Paint_SetPixel &rArr; __2printf
</UL>
<BR>[Calls]<UL><LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_SetPixel
<P><STRONG><a name="[f1]"></a>Paint_DrawChar</STRONG> (Thumb, 172 bytes, Stack size 40 bytes, gui_paint.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_SetPixel
<LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawTime
<LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawString_EN
<BR>[Called By]<UL><LI><a href="#[f6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawTime
<LI><a href="#[f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawString_EN
</UL>
<P><STRONG><a name="[df]"></a>Paint_DrawString_EN</STRONG> (Thumb, 116 bytes, Stack size 48 bytes, gui_paint.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 128<LI>Call Chain = Paint_DrawString_EN &rArr; Paint_DrawChar &rArr; Paint_SetPixel &rArr; __2printf
</UL>
<BR>[Calls]<UL><LI><a href="#[ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawChar
<P><STRONG><a name="[f2]"></a>Paint_DrawString_EN</STRONG> (Thumb, 116 bytes, Stack size 48 bytes, gui_paint.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawChar
<LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2in9bc_test
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawNum
<BR>[Called By]<UL><LI><a href="#[f4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawNum
</UL>
<P><STRONG><a name="[e0]"></a>Paint_DrawString_CN</STRONG> (Thumb, 394 bytes, Stack size 40 bytes, gui_paint.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = Paint_DrawString_CN &rArr; Paint_SetPixel &rArr; __2printf
</UL>
<BR>[Calls]<UL><LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_SetPixel
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2in9bc_test
<P><STRONG><a name="[f3]"></a>Paint_DrawString_CN</STRONG> (Thumb, 394 bytes, Stack size 40 bytes, gui_paint.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_SetPixel
</UL>
<P><STRONG><a name="[e1]"></a>Paint_DrawNum</STRONG> (Thumb, 140 bytes, Stack size 576 bytes, gui_paint.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 704<LI>Call Chain = Paint_DrawNum &rArr; Paint_DrawString_EN &rArr; Paint_DrawChar &rArr; Paint_SetPixel &rArr; __2printf
</UL>
<BR>[Calls]<UL><LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawString_EN
<P><STRONG><a name="[f4]"></a>Paint_DrawNum</STRONG> (Thumb, 140 bytes, Stack size 576 bytes, gui_paint.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawString_EN
<LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2in9bc_test
<LI><a href="#[f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
</UL>
<P><STRONG><a name="[f1]"></a>Paint_DrawTime</STRONG> (Thumb, 436 bytes, Stack size 72 bytes, gui_paint.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawChar
<P><STRONG><a name="[f6]"></a>Paint_DrawTime</STRONG> (Thumb, 436 bytes, Stack size 72 bytes, gui_paint.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawChar
</UL>
<P><STRONG><a name="[135]"></a>Paint_DrawBitMap</STRONG> (Thumb, 44 bytes, Stack size 16 bytes, gui_paint.o(.text), UNUSED)
<P><STRONG><a name="[f3]"></a>__aeabi_memset</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[f4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_memset$wrapper
<LI><a href="#[f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr
<P><STRONG><a name="[db]"></a>Paint_DrawBitMap</STRONG> (Thumb, 44 bytes, Stack size 16 bytes, gui_paint.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Paint_DrawBitMap
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1in54_V2_test
</UL>
<P><STRONG><a name="[136]"></a>__aeabi_memset4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
<P><STRONG><a name="[137]"></a>__aeabi_memset8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
<P><STRONG><a name="[f2]"></a>__aeabi_memclr</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[f3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memset
<P><STRONG><a name="[f8]"></a>__aeabi_memset</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_memset$wrapper
<LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr
</UL>
<P><STRONG><a name="[f0]"></a>__aeabi_memclr4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawNum
<P><STRONG><a name="[13a]"></a>__aeabi_memset4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
<P><STRONG><a name="[13b]"></a>__aeabi_memset8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
<P><STRONG><a name="[f7]"></a>__aeabi_memclr</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memset
</UL>
<P><STRONG><a name="[138]"></a>__aeabi_memclr8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
<P><STRONG><a name="[f4]"></a>_memset$wrapper</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, memseta.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[f3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memset
<P><STRONG><a name="[f5]"></a>__aeabi_memclr4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[f4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawNum
</UL>
<P><STRONG><a name="[139]"></a>__aeabi_uidiv</STRONG> (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)
<P><STRONG><a name="[13c]"></a>__aeabi_memclr8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
<P><STRONG><a name="[f8]"></a>__aeabi_uidivmod</STRONG> (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
<P><STRONG><a name="[f9]"></a>_memset$wrapper</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, memseta.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memset
</UL>
<P><STRONG><a name="[13d]"></a>__aeabi_uidiv</STRONG> (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)
<P><STRONG><a name="[fd]"></a>__aeabi_uidivmod</STRONG> (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
</UL>
<P><STRONG><a name="[69]"></a>__scatterload</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main_after_scatterload
<BR><BR>[Calls]<UL><LI><a href="#[fa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main_after_scatterload
</UL>
<BR>[Called By]<UL><LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_main_scatterload
</UL>
<P><STRONG><a name="[13a]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
<P><STRONG><a name="[13e]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
<P><STRONG><a name="[f6]"></a>__0printf$3</STRONG> (Thumb, 22 bytes, Stack size 24 bytes, printf3.o(i.__0printf$3), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
<P><STRONG><a name="[fb]"></a>__0printf$3</STRONG> (Thumb, 22 bytes, Stack size 24 bytes, printf3.o(i.__0printf$3), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
</UL>
<P><STRONG><a name="[13b]"></a>__1printf$3</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printf3.o(i.__0printf$3), UNUSED)
<P><STRONG><a name="[13f]"></a>__1printf$3</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printf3.o(i.__0printf$3), UNUSED)
<P><STRONG><a name="[d3]"></a>__2printf</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printf3.o(i.__0printf$3))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = __2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2in9bc_test
<LI><a href="#[ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_SetMirroring
<LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawString_EN
<LI><a href="#[de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawRectangle
<LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawPoint
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawNum
<LI><a href="#[dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawLine
<LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawCircle
<LI><a href="#[ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawChar
<LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_SetPixel
<LI><a href="#[eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_SetRotate
<LI><a href="#[e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_ReadBusy
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1in54_V2_test
<LI><a href="#[ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_SetMirroring
<LI><a href="#[f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawString_EN
<LI><a href="#[ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawRectangle
<LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawPoint
<LI><a href="#[f4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawNum
<LI><a href="#[ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawLine
<LI><a href="#[f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawCircle
<LI><a href="#[f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_DrawChar
<LI><a href="#[eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_SetPixel
<LI><a href="#[e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Paint_SetRotate
<LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_ReadBusy
</UL>
<P><STRONG><a name="[13c]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
<P><STRONG><a name="[140]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
<P><STRONG><a name="[13d]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
<P><STRONG><a name="[141]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
<P><STRONG><a name="[13e]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
<P><STRONG><a name="[142]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
<P><STRONG><a name="[e4]"></a>free</STRONG> (Thumb, 76 bytes, Stack size 8 bytes, malloc.o(i.free))
<P><STRONG><a name="[de]"></a>free</STRONG> (Thumb, 76 bytes, Stack size 8 bytes, malloc.o(i.free))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = free
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2in9bc_test
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1in54_V2_test
</UL>
<P><STRONG><a name="[d7]"></a>malloc</STRONG> (Thumb, 92 bytes, Stack size 20 bytes, malloc.o(i.malloc))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = malloc
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2in9bc_test
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1in54_V2_test
</UL>
<P>
<H3>
@ -1727,34 +1691,74 @@ Local Symbols
<LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriority
</UL>
<P><STRONG><a name="[e8]"></a>EPD_2IN9BC_SendCommand</STRONG> (Thumb, 46 bytes, Stack size 16 bytes, epd_2in9bc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = EPD_2IN9BC_SendCommand &rArr; DEV_SPI_WriteByte &rArr; HAL_SPI_Transmit &rArr; SPI_CheckFlag_BSY &rArr; SPI_WaitFlagStateUntilTimeout
<P><STRONG><a name="[df]"></a>EPD_1IN54_V2_ReadBusy</STRONG> (Thumb, 40 bytes, Stack size 8 bytes, epd_1in54_v2.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = EPD_1IN54_V2_ReadBusy &rArr; __2printf
</UL>
<BR>[Calls]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
<LI><a href="#[ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DEV_SPI_WriteByte
<BR>[Calls]<UL><LI><a href="#[e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_ReadPin
<LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Delay
<LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_Sleep
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_Init
<LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_Display
<LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_Clear
<BR>[Called By]<UL><LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_Init
<LI><a href="#[e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_TurnOnDisplayPart
<LI><a href="#[e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_TurnOnDisplay
</UL>
<P><STRONG><a name="[e9]"></a>EPD_2IN9BC_SendData</STRONG> (Thumb, 46 bytes, Stack size 16 bytes, epd_2in9bc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = EPD_2IN9BC_SendData &rArr; DEV_SPI_WriteByte &rArr; HAL_SPI_Transmit &rArr; SPI_CheckFlag_BSY &rArr; SPI_WaitFlagStateUntilTimeout
<P><STRONG><a name="[e1]"></a>EPD_1IN54_V2_SendCommand</STRONG> (Thumb, 46 bytes, Stack size 16 bytes, epd_1in54_v2.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = EPD_1IN54_V2_SendCommand &rArr; DEV_SPI_WriteByte &rArr; HAL_SPI_Transmit &rArr; SPI_CheckFlag_BSY &rArr; SPI_WaitFlagStateUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
<LI><a href="#[ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DEV_SPI_WriteByte
<LI><a href="#[e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DEV_SPI_WriteByte
</UL>
<BR>[Called By]<UL><LI><a href="#[e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_Sleep
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_Init
<LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_Display
<LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_2IN9BC_Clear
<BR>[Called By]<UL><LI><a href="#[dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_Sleep
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_Init
<LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_Display
<LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_Clear
<LI><a href="#[e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_DisplayPart
<LI><a href="#[e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_DisplayPartBaseImage
<LI><a href="#[e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_TurnOnDisplayPart
<LI><a href="#[e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_TurnOnDisplay
</UL>
<P><STRONG><a name="[f7]"></a>_printf_core</STRONG> (Thumb, 436 bytes, Stack size 96 bytes, printf3.o(i._printf_core), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
<P><STRONG><a name="[e2]"></a>EPD_1IN54_V2_SendData</STRONG> (Thumb, 46 bytes, Stack size 16 bytes, epd_1in54_v2.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = EPD_1IN54_V2_SendData &rArr; DEV_SPI_WriteByte &rArr; HAL_SPI_Transmit &rArr; SPI_CheckFlag_BSY &rArr; SPI_WaitFlagStateUntilTimeout
</UL>
<BR>[Called By]<UL><LI><a href="#[f6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__0printf$3
<BR>[Calls]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
<LI><a href="#[e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DEV_SPI_WriteByte
</UL>
<BR>[Called By]<UL><LI><a href="#[dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_Sleep
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_Init
<LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_Display
<LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_Clear
<LI><a href="#[e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_DisplayPart
<LI><a href="#[e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_DisplayPartBaseImage
<LI><a href="#[e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_TurnOnDisplayPart
<LI><a href="#[e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_TurnOnDisplay
</UL>
<P><STRONG><a name="[e3]"></a>EPD_1IN54_V2_TurnOnDisplay</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, epd_1in54_v2.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = EPD_1IN54_V2_TurnOnDisplay &rArr; EPD_1IN54_V2_SendData &rArr; DEV_SPI_WriteByte &rArr; HAL_SPI_Transmit &rArr; SPI_CheckFlag_BSY &rArr; SPI_WaitFlagStateUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_SendData
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_SendCommand
<LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_ReadBusy
</UL>
<BR>[Called By]<UL><LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_Display
<LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_Clear
</UL>
<P><STRONG><a name="[e5]"></a>EPD_1IN54_V2_TurnOnDisplayPart</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, epd_1in54_v2.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_SendData
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_SendCommand
<LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_ReadBusy
</UL>
<BR>[Called By]<UL><LI><a href="#[e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_DisplayPart
<LI><a href="#[e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPD_1IN54_V2_DisplayPartBaseImage
</UL>
<P><STRONG><a name="[fc]"></a>_printf_core</STRONG> (Thumb, 436 bytes, Stack size 96 bytes, printf3.o(i._printf_core), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__0printf$3
</UL>
<P>
<H3>

View file

@ -15,7 +15,7 @@ Section Cross References
main.o(.text) refers to gpio.o(.text) for MX_GPIO_Init
main.o(.text) refers to usart.o(.text) for MX_USART1_UART_Init
main.o(.text) refers to spi.o(.text) for MX_SPI1_Init
main.o(.text) refers to epd_2in9bc_test.o(.text) for EPD_2in9bc_test
main.o(.text) refers to epd_1in54_v2_test.o(.text) for EPD_1in54_V2_test
gpio.o(.text) refers to stm32f1xx_hal_gpio.o(.text) for HAL_GPIO_WritePin
spi.o(.text) refers to stm32f1xx_hal_spi_ex.o(.text) for HAL_SPI_Init
spi.o(.text) refers to main.o(.text) for _Error_Handler
@ -77,9 +77,6 @@ Section Cross References
epd_1in54_v2_test.o(.text) refers to gui_paint.o(.text) for Paint_NewImage
epd_1in54_v2_test.o(.text) refers to malloc.o(i.free) for free
epd_1in54_v2_test.o(.text) refers to imagedata.o(.constdata) for gImage_1in54
epd_1in54_v2_test.o(.text) refers to font20.o(.data) for Font20
epd_1in54_v2_test.o(.text) refers to font12cn.o(.data) for Font12CN
epd_1in54_v2_test.o(.text) refers to font24cn.o(.data) for Font24CN
epd_1in54b_test.o(.text) refers to printf3.o(i.__0printf$3) for __2printf
epd_1in54b_test.o(.text) refers to dev_config.o(.text) for DEV_Module_Init
epd_1in54b_test.o(.text) refers to epd_1in54b.o(.text) for EPD_1IN54B_Init
@ -188,10 +185,6 @@ Section Cross References
epd_2in13_v2_test.o(.text) refers to gui_paint.o(.text) for Paint_NewImage
epd_2in13_v2_test.o(.text) refers to malloc.o(i.free) for free
epd_2in13_v2_test.o(.text) refers to imagedata.o(.constdata) for gImage_2in13
epd_2in13_v2_test.o(.text) refers to font16.o(.data) for Font16
epd_2in13_v2_test.o(.text) refers to font12cn.o(.data) for Font12CN
epd_2in13_v2_test.o(.text) refers to font24cn.o(.data) for Font24CN
epd_2in13_v2_test.o(.text) refers to font20.o(.data) for Font20
epd_2in13bc_test.o(.text) refers to printf3.o(i.__0printf$3) for __2printf
epd_2in13bc_test.o(.text) refers to dev_config.o(.text) for DEV_Module_Init
epd_2in13bc_test.o(.text) refers to epd_2in13bc.o(.text) for EPD_2IN13BC_Init
@ -312,7 +305,6 @@ Section Cross References
epd_2in7.o(.text) refers to stm32f1xx_hal_gpio.o(.text) for HAL_GPIO_ReadPin
epd_2in7.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_Delay
epd_2in7.o(.text) refers to dev_config.o(.text) for DEV_SPI_WriteByte
epd_2in7.o(.text) refers to epd_2in7.o(.constdata) for .constdata
epd_2in7b.o(.text) refers to printf3.o(i.__0printf$3) for __2printf
epd_2in7b.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_Delay
epd_2in7b.o(.text) refers to stm32f1xx_hal_gpio.o(.text) for HAL_GPIO_ReadPin
@ -764,13 +756,14 @@ Removing Unused input sections from the image.
Removing system_stm32f1xx.o(.rrx_text), (6 bytes).
Removing imagedata.o(.constdata), (5000 bytes).
Removing imagedata.o(.constdata), (5000 bytes).
Removing imagedata.o(.constdata), (5000 bytes).
Removing imagedata.o(.constdata), (2888 bytes).
Removing imagedata.o(.constdata), (2888 bytes).
Removing imagedata.o(.constdata), (5808 bytes).
Removing imagedata.o(.constdata), (5808 bytes).
Removing imagedata.o(.constdata), (5808 bytes).
Removing imagedata.o(.constdata), (4736 bytes).
Removing imagedata.o(.constdata), (4736 bytes).
Removing imagedata.o(.constdata), (4736 bytes).
Removing imagedata.o(.constdata), (4000 bytes).
Removing imagedata.o(.constdata), (2756 bytes).
Removing imagedata.o(.constdata), (2756 bytes).
@ -793,7 +786,6 @@ Removing Unused input sections from the image.
Removing epd_1in54_v2_test.o(.rev16_text), (4 bytes).
Removing epd_1in54_v2_test.o(.revsh_text), (4 bytes).
Removing epd_1in54_v2_test.o(.rrx_text), (6 bytes).
Removing epd_1in54_v2_test.o(.text), (960 bytes).
Removing epd_1in54b_test.o(.rev16_text), (4 bytes).
Removing epd_1in54b_test.o(.revsh_text), (4 bytes).
Removing epd_1in54b_test.o(.rrx_text), (6 bytes).
@ -817,6 +809,7 @@ Removing Unused input sections from the image.
Removing epd_2in9bc_test.o(.rev16_text), (4 bytes).
Removing epd_2in9bc_test.o(.revsh_text), (4 bytes).
Removing epd_2in9bc_test.o(.rrx_text), (6 bytes).
Removing epd_2in9bc_test.o(.text), (928 bytes).
Removing epd_2in9d_test.o(.rev16_text), (4 bytes).
Removing epd_2in9d_test.o(.revsh_text), (4 bytes).
Removing epd_2in9d_test.o(.rrx_text), (6 bytes).
@ -828,7 +821,7 @@ Removing Unused input sections from the image.
Removing epd_2in13_v2_test.o(.rev16_text), (4 bytes).
Removing epd_2in13_v2_test.o(.revsh_text), (4 bytes).
Removing epd_2in13_v2_test.o(.rrx_text), (6 bytes).
Removing epd_2in13_v2_test.o(.text), (1012 bytes).
Removing epd_2in13_v2_test.o(.text), (424 bytes).
Removing epd_2in13bc_test.o(.rev16_text), (4 bytes).
Removing epd_2in13bc_test.o(.revsh_text), (4 bytes).
Removing epd_2in13bc_test.o(.rrx_text), (6 bytes).
@ -869,7 +862,6 @@ Removing Unused input sections from the image.
Removing epd_1in54_v2.o(.rev16_text), (4 bytes).
Removing epd_1in54_v2.o(.revsh_text), (4 bytes).
Removing epd_1in54_v2.o(.rrx_text), (6 bytes).
Removing epd_1in54_v2.o(.text), (752 bytes).
Removing epd_1in54b.o(.rev16_text), (4 bytes).
Removing epd_1in54b.o(.revsh_text), (4 bytes).
Removing epd_1in54b.o(.rrx_text), (6 bytes).
@ -882,8 +874,7 @@ Removing Unused input sections from the image.
Removing epd_2in7.o(.rev16_text), (4 bytes).
Removing epd_2in7.o(.revsh_text), (4 bytes).
Removing epd_2in7.o(.rrx_text), (6 bytes).
Removing epd_2in7.o(.text), (848 bytes).
Removing epd_2in7.o(.constdata), (212 bytes).
Removing epd_2in7.o(.text), (556 bytes).
Removing epd_2in7b.o(.rev16_text), (4 bytes).
Removing epd_2in7b.o(.revsh_text), (4 bytes).
Removing epd_2in7b.o(.rrx_text), (6 bytes).
@ -897,6 +888,7 @@ Removing Unused input sections from the image.
Removing epd_2in9bc.o(.rev16_text), (4 bytes).
Removing epd_2in9bc.o(.revsh_text), (4 bytes).
Removing epd_2in9bc.o(.rrx_text), (6 bytes).
Removing epd_2in9bc.o(.text), (576 bytes).
Removing epd_2in9d.o(.rev16_text), (4 bytes).
Removing epd_2in9d.o(.revsh_text), (4 bytes).
Removing epd_2in9d.o(.rrx_text), (6 bytes).
@ -954,10 +946,18 @@ Removing Unused input sections from the image.
Removing gui_paint.o(.rrx_text), (6 bytes).
Removing font8.o(.constdata), (760 bytes).
Removing font8.o(.data), (8 bytes).
Removing font12.o(.constdata), (1140 bytes).
Removing font12.o(.data), (8 bytes).
Removing font12cn.o(.constdata), (1494 bytes).
Removing font12cn.o(.data), (12 bytes).
Removing font16.o(.constdata), (3040 bytes).
Removing font16.o(.data), (8 bytes).
Removing font20.o(.constdata), (3800 bytes).
Removing font20.o(.data), (8 bytes).
Removing font24.o(.constdata), (6840 bytes).
Removing font24.o(.data), (8 bytes).
Removing font24cn.o(.constdata), (4482 bytes).
Removing font24cn.o(.data), (12 bytes).
Removing dadd.o(.text), (334 bytes).
Removing dmul.o(.text), (228 bytes).
Removing ddiv.o(.text), (222 bytes).
@ -965,7 +965,7 @@ Removing Unused input sections from the image.
Removing cdrcmple.o(.text), (48 bytes).
Removing depilogue.o(.text), (186 bytes).
274 unused section(s) (total 347968 bytes) removed from the image.
282 unused section(s) (total 361336 bytes) removed from the image.
==============================================================================
@ -997,44 +997,44 @@ Image Symbol Table
../Src/stm32f1xx_hal_msp.c 0x00000000 Number 0 stm32f1xx_hal_msp.o ABSOLUTE
../Src/stm32f1xx_it.c 0x00000000 Number 0 stm32f1xx_it.o ABSOLUTE
../Src/usart.c 0x00000000 Number 0 usart.o ABSOLUTE
../clib/microlib/division.c 0x00000000 Number 0 uldiv.o ABSOLUTE
../clib/microlib/division.c 0x00000000 Number 0 uidiv.o ABSOLUTE
../clib/microlib/division.c 0x00000000 Number 0 uldiv.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE
../clib/microlib/malloc/malloc.c 0x00000000 Number 0 mallocra.o ABSOLUTE
../clib/microlib/malloc/malloc.c 0x00000000 Number 0 malloca.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE
../clib/microlib/malloc/malloc.c 0x00000000 Number 0 mallocr.o ABSOLUTE
../clib/microlib/malloc/malloc.c 0x00000000 Number 0 malloc.o ABSOLUTE
../clib/microlib/malloc/malloc.c 0x00000000 Number 0 mallocra.o ABSOLUTE
../clib/microlib/malloc/malloc.c 0x00000000 Number 0 malloca.o ABSOLUTE
../clib/microlib/malloc/mvars.c 0x00000000 Number 0 mvars.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf6.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf1.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf0.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf8.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printfb.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printfa.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf7.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf5.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf4.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf3.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printfa.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf8.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf7.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf6.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf5.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf0.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf1.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf2.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printfb.o ABSOLUTE
../clib/microlib/printf/stubs.s 0x00000000 Number 0 stubs.o ABSOLUTE
../clib/microlib/stdio/streams.c 0x00000000 Number 0 stdout.o ABSOLUTE
../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpyb.o ABSOLUTE
../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpya.o ABSOLUTE
../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpyb.o ABSOLUTE
../clib/microlib/string/memset.c 0x00000000 Number 0 memseta.o ABSOLUTE
../clib/microlib/stubs.s 0x00000000 Number 0 iusefp.o ABSOLUTE
../fplib/microlib/fpadd.c 0x00000000 Number 0 dadd.o ABSOLUTE
@ -1227,46 +1227,40 @@ Image Symbol Table
.text 0x08003b28 Section 0 stm32f1xx_hal_cortex.o(.text)
NVIC_SetPriority 0x08003cd9 Thumb Code 32 stm32f1xx_hal_cortex.o(.text)
.text 0x08003d00 Section 0 system_stm32f1xx.o(.text)
.text 0x08003dac Section 0 epd_2in9bc_test.o(.text)
.text 0x0800414c Section 0 epd_2in9bc.o(.text)
EPD_2IN9BC_SendCommand 0x080042f5 Thumb Code 46 epd_2in9bc.o(.text)
EPD_2IN9BC_SendData 0x08004323 Thumb Code 46 epd_2in9bc.o(.text)
.text 0x0800438c Section 0 dev_config.o(.text)
.text 0x080043f4 Section 0 gui_paint.o(.text)
.text 0x08005038 Section 0 memseta.o(.text)
.text 0x0800505c Section 0 uidiv.o(.text)
.text 0x08005088 Section 36 init.o(.text)
i.__0printf$3 0x080050ac Section 0 printf3.o(i.__0printf$3)
i.__scatterload_copy 0x080050cc Section 14 handlers.o(i.__scatterload_copy)
i.__scatterload_null 0x080050da Section 2 handlers.o(i.__scatterload_null)
i.__scatterload_zeroinit 0x080050dc Section 14 handlers.o(i.__scatterload_zeroinit)
i._printf_core 0x080050ec Section 0 printf3.o(i._printf_core)
_printf_core 0x080050ed Thumb Code 436 printf3.o(i._printf_core)
i.free 0x080052a4 Section 0 malloc.o(i.free)
i.malloc 0x080052f4 Section 0 malloc.o(i.malloc)
.constdata 0x08005360 Section 16 system_stm32f1xx.o(.constdata)
.constdata 0x08005370 Section 8 system_stm32f1xx.o(.constdata)
.constdata 0x08005378 Section 4736 imagedata.o(.constdata)
.constdata 0x080065f8 Section 4736 imagedata.o(.constdata)
.constdata 0x08007878 Section 1140 font12.o(.constdata)
.constdata 0x08007cec Section 1494 font12cn.o(.constdata)
.constdata 0x080082c2 Section 3040 font16.o(.constdata)
.constdata 0x08008ea2 Section 4482 font24cn.o(.constdata)
.conststring 0x0800a024 Section 233 gui_paint.o(.conststring)
.text 0x08003dac Section 0 epd_1in54_v2_test.o(.text)
.text 0x08003ef4 Section 0 epd_1in54_v2.o(.text)
EPD_1IN54_V2_ReadBusy 0x08003ef5 Thumb Code 40 epd_1in54_v2.o(.text)
EPD_1IN54_V2_SendCommand 0x08004119 Thumb Code 46 epd_1in54_v2.o(.text)
EPD_1IN54_V2_SendData 0x08004147 Thumb Code 46 epd_1in54_v2.o(.text)
EPD_1IN54_V2_TurnOnDisplay 0x08004175 Thumb Code 26 epd_1in54_v2.o(.text)
EPD_1IN54_V2_TurnOnDisplayPart 0x0800418f Thumb Code 26 epd_1in54_v2.o(.text)
.text 0x080041e4 Section 0 dev_config.o(.text)
.text 0x0800424c Section 0 gui_paint.o(.text)
.text 0x08004e90 Section 0 memseta.o(.text)
.text 0x08004eb4 Section 0 uidiv.o(.text)
.text 0x08004ee0 Section 36 init.o(.text)
i.__0printf$3 0x08004f04 Section 0 printf3.o(i.__0printf$3)
i.__scatterload_copy 0x08004f24 Section 14 handlers.o(i.__scatterload_copy)
i.__scatterload_null 0x08004f32 Section 2 handlers.o(i.__scatterload_null)
i.__scatterload_zeroinit 0x08004f34 Section 14 handlers.o(i.__scatterload_zeroinit)
i._printf_core 0x08004f44 Section 0 printf3.o(i._printf_core)
_printf_core 0x08004f45 Thumb Code 436 printf3.o(i._printf_core)
i.free 0x080050fc Section 0 malloc.o(i.free)
i.malloc 0x0800514c Section 0 malloc.o(i.malloc)
.constdata 0x080051b8 Section 16 system_stm32f1xx.o(.constdata)
.constdata 0x080051c8 Section 8 system_stm32f1xx.o(.constdata)
.constdata 0x080051d0 Section 5000 imagedata.o(.constdata)
.conststring 0x08006558 Section 233 gui_paint.o(.conststring)
.data 0x20000000 Section 12 stm32f1xx_hal.o(.data)
.data 0x2000000c Section 4 system_stm32f1xx.o(.data)
.data 0x20000010 Section 8 font12.o(.data)
.data 0x20000018 Section 12 font12cn.o(.data)
.data 0x20000024 Section 8 font16.o(.data)
.data 0x2000002c Section 12 font24cn.o(.data)
.data 0x20000038 Section 4 stdout.o(.data)
.data 0x2000003c Section 4 mvars.o(.data)
.data 0x20000040 Section 4 mvars.o(.data)
.bss 0x20000044 Section 88 spi.o(.bss)
.bss 0x2000009c Section 64 usart.o(.bss)
.bss 0x200000dc Section 24 gui_paint.o(.bss)
HEAP 0x200000f8 Section 36864 startup_stm32f103xe.o(HEAP)
STACK 0x200090f8 Section 4096 startup_stm32f103xe.o(STACK)
.data 0x20000010 Section 4 stdout.o(.data)
.data 0x20000014 Section 4 mvars.o(.data)
.data 0x20000018 Section 4 mvars.o(.data)
.bss 0x2000001c Section 88 spi.o(.bss)
.bss 0x20000074 Section 64 usart.o(.bss)
.bss 0x200000b4 Section 24 gui_paint.o(.bss)
HEAP 0x200000d0 Section 36864 startup_stm32f103xe.o(HEAP)
STACK 0x200090d0 Section 4096 startup_stm32f103xe.o(STACK)
Global Symbols
@ -1551,78 +1545,70 @@ Image Symbol Table
HAL_SYSTICK_IRQHandler 0x08003cd1 Thumb Code 8 stm32f1xx_hal_cortex.o(.text)
SystemInit 0x08003d01 Thumb Code 56 system_stm32f1xx.o(.text)
SystemCoreClockUpdate 0x08003d39 Thumb Code 82 system_stm32f1xx.o(.text)
EPD_2in9bc_test 0x08003dad Thumb Code 566 epd_2in9bc_test.o(.text)
EPD_2IN9BC_ReadBusy 0x0800414d Thumb Code 40 epd_2in9bc.o(.text)
EPD_2IN9BC_Init 0x08004175 Thumb Code 150 epd_2in9bc.o(.text)
EPD_2IN9BC_Clear 0x0800420b Thumb Code 86 epd_2in9bc.o(.text)
EPD_2IN9BC_Display 0x08004261 Thumb Code 120 epd_2in9bc.o(.text)
EPD_2IN9BC_Sleep 0x080042d9 Thumb Code 28 epd_2in9bc.o(.text)
DEV_SPI_WriteByte 0x0800438d Thumb Code 18 dev_config.o(.text)
DEV_Module_Init 0x0800439f Thumb Code 38 dev_config.o(.text)
DEV_Module_Exit 0x080043c5 Thumb Code 38 dev_config.o(.text)
Paint_NewImage 0x080043f5 Thumb Code 52 gui_paint.o(.text)
Paint_SelectImage 0x08004429 Thumb Code 6 gui_paint.o(.text)
Paint_SetRotate 0x0800442f Thumb Code 44 gui_paint.o(.text)
Paint_SetMirroring 0x0800445b Thumb Code 62 gui_paint.o(.text)
Paint_SetPixel 0x08004499 Thumb Code 164 gui_paint.o(.text)
Paint_Clear 0x0800453d Thumb Code 46 gui_paint.o(.text)
Paint_ClearWindows 0x0800456b Thumb Code 52 gui_paint.o(.text)
Paint_DrawPoint 0x0800459f Thumb Code 160 gui_paint.o(.text)
Paint_DrawLine 0x0800463f Thumb Code 198 gui_paint.o(.text)
Paint_DrawRectangle 0x08004705 Thumb Code 170 gui_paint.o(.text)
Paint_DrawCircle 0x080047af Thumb Code 880 gui_paint.o(.text)
Paint_DrawChar 0x08004b1f Thumb Code 172 gui_paint.o(.text)
Paint_DrawString_EN 0x08004bcb Thumb Code 116 gui_paint.o(.text)
Paint_DrawString_CN 0x08004c3f Thumb Code 394 gui_paint.o(.text)
Paint_DrawNum 0x08004dc9 Thumb Code 140 gui_paint.o(.text)
Paint_DrawTime 0x08004e55 Thumb Code 436 gui_paint.o(.text)
Paint_DrawBitMap 0x08005009 Thumb Code 44 gui_paint.o(.text)
__aeabi_memset 0x08005039 Thumb Code 14 memseta.o(.text)
__aeabi_memset4 0x08005039 Thumb Code 0 memseta.o(.text)
__aeabi_memset8 0x08005039 Thumb Code 0 memseta.o(.text)
__aeabi_memclr 0x08005047 Thumb Code 4 memseta.o(.text)
__aeabi_memclr4 0x08005047 Thumb Code 0 memseta.o(.text)
__aeabi_memclr8 0x08005047 Thumb Code 0 memseta.o(.text)
_memset$wrapper 0x0800504b Thumb Code 18 memseta.o(.text)
__aeabi_uidiv 0x0800505d Thumb Code 0 uidiv.o(.text)
__aeabi_uidivmod 0x0800505d Thumb Code 44 uidiv.o(.text)
__scatterload 0x08005089 Thumb Code 28 init.o(.text)
__scatterload_rt2 0x08005089 Thumb Code 0 init.o(.text)
__0printf$3 0x080050ad Thumb Code 22 printf3.o(i.__0printf$3)
__1printf$3 0x080050ad Thumb Code 0 printf3.o(i.__0printf$3)
__2printf 0x080050ad Thumb Code 0 printf3.o(i.__0printf$3)
__scatterload_copy 0x080050cd Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x080050db Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x080050dd Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
free 0x080052a5 Thumb Code 76 malloc.o(i.free)
malloc 0x080052f5 Thumb Code 92 malloc.o(i.malloc)
AHBPrescTable 0x08005360 Data 16 system_stm32f1xx.o(.constdata)
APBPrescTable 0x08005370 Data 8 system_stm32f1xx.o(.constdata)
gImage_2in9bc_b 0x08005378 Data 4736 imagedata.o(.constdata)
gImage_2in9bc_ry 0x080065f8 Data 4736 imagedata.o(.constdata)
Font12_Table 0x08007878 Data 1140 font12.o(.constdata)
Font12CN_Table 0x08007cec Data 1494 font12cn.o(.constdata)
Font16_Table 0x080082c2 Data 3040 font16.o(.constdata)
Font24CN_Table 0x08008ea2 Data 4482 font24cn.o(.constdata)
Region$$Table$$Base 0x0800a110 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x0800a130 Number 0 anon$$obj.o(Region$$Table)
EPD_1in54_V2_test 0x08003dad Thumb Code 156 epd_1in54_v2_test.o(.text)
EPD_1IN54_V2_Init 0x08003f1d Thumb Code 228 epd_1in54_v2.o(.text)
EPD_1IN54_V2_Clear 0x08004001 Thumb Code 48 epd_1in54_v2.o(.text)
EPD_1IN54_V2_Display 0x08004031 Thumb Code 56 epd_1in54_v2.o(.text)
EPD_1IN54_V2_DisplayPartBaseImage 0x08004069 Thumb Code 94 epd_1in54_v2.o(.text)
EPD_1IN54_V2_DisplayPart 0x080040c7 Thumb Code 58 epd_1in54_v2.o(.text)
EPD_1IN54_V2_Sleep 0x08004101 Thumb Code 24 epd_1in54_v2.o(.text)
DEV_SPI_WriteByte 0x080041e5 Thumb Code 18 dev_config.o(.text)
DEV_Module_Init 0x080041f7 Thumb Code 38 dev_config.o(.text)
DEV_Module_Exit 0x0800421d Thumb Code 38 dev_config.o(.text)
Paint_NewImage 0x0800424d Thumb Code 52 gui_paint.o(.text)
Paint_SelectImage 0x08004281 Thumb Code 6 gui_paint.o(.text)
Paint_SetRotate 0x08004287 Thumb Code 44 gui_paint.o(.text)
Paint_SetMirroring 0x080042b3 Thumb Code 62 gui_paint.o(.text)
Paint_SetPixel 0x080042f1 Thumb Code 164 gui_paint.o(.text)
Paint_Clear 0x08004395 Thumb Code 46 gui_paint.o(.text)
Paint_ClearWindows 0x080043c3 Thumb Code 52 gui_paint.o(.text)
Paint_DrawPoint 0x080043f7 Thumb Code 160 gui_paint.o(.text)
Paint_DrawLine 0x08004497 Thumb Code 198 gui_paint.o(.text)
Paint_DrawRectangle 0x0800455d Thumb Code 170 gui_paint.o(.text)
Paint_DrawCircle 0x08004607 Thumb Code 880 gui_paint.o(.text)
Paint_DrawChar 0x08004977 Thumb Code 172 gui_paint.o(.text)
Paint_DrawString_EN 0x08004a23 Thumb Code 116 gui_paint.o(.text)
Paint_DrawString_CN 0x08004a97 Thumb Code 394 gui_paint.o(.text)
Paint_DrawNum 0x08004c21 Thumb Code 140 gui_paint.o(.text)
Paint_DrawTime 0x08004cad Thumb Code 436 gui_paint.o(.text)
Paint_DrawBitMap 0x08004e61 Thumb Code 44 gui_paint.o(.text)
__aeabi_memset 0x08004e91 Thumb Code 14 memseta.o(.text)
__aeabi_memset4 0x08004e91 Thumb Code 0 memseta.o(.text)
__aeabi_memset8 0x08004e91 Thumb Code 0 memseta.o(.text)
__aeabi_memclr 0x08004e9f Thumb Code 4 memseta.o(.text)
__aeabi_memclr4 0x08004e9f Thumb Code 0 memseta.o(.text)
__aeabi_memclr8 0x08004e9f Thumb Code 0 memseta.o(.text)
_memset$wrapper 0x08004ea3 Thumb Code 18 memseta.o(.text)
__aeabi_uidiv 0x08004eb5 Thumb Code 0 uidiv.o(.text)
__aeabi_uidivmod 0x08004eb5 Thumb Code 44 uidiv.o(.text)
__scatterload 0x08004ee1 Thumb Code 28 init.o(.text)
__scatterload_rt2 0x08004ee1 Thumb Code 0 init.o(.text)
__0printf$3 0x08004f05 Thumb Code 22 printf3.o(i.__0printf$3)
__1printf$3 0x08004f05 Thumb Code 0 printf3.o(i.__0printf$3)
__2printf 0x08004f05 Thumb Code 0 printf3.o(i.__0printf$3)
__scatterload_copy 0x08004f25 Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x08004f33 Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x08004f35 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
free 0x080050fd Thumb Code 76 malloc.o(i.free)
malloc 0x0800514d Thumb Code 92 malloc.o(i.malloc)
AHBPrescTable 0x080051b8 Data 16 system_stm32f1xx.o(.constdata)
APBPrescTable 0x080051c8 Data 8 system_stm32f1xx.o(.constdata)
gImage_1in54 0x080051d0 Data 5000 imagedata.o(.constdata)
Region$$Table$$Base 0x08006644 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x08006664 Number 0 anon$$obj.o(Region$$Table)
uwTickFreq 0x20000000 Data 1 stm32f1xx_hal.o(.data)
uwTickPrio 0x20000004 Data 4 stm32f1xx_hal.o(.data)
uwTick 0x20000008 Data 4 stm32f1xx_hal.o(.data)
SystemCoreClock 0x2000000c Data 4 system_stm32f1xx.o(.data)
Font12 0x20000010 Data 8 font12.o(.data)
Font12CN 0x20000018 Data 12 font12cn.o(.data)
Font16 0x20000024 Data 8 font16.o(.data)
Font24CN 0x2000002c Data 12 font24cn.o(.data)
__stdout 0x20000038 Data 4 stdout.o(.data)
__microlib_freelist 0x2000003c Data 4 mvars.o(.data)
__microlib_freelist_initialised 0x20000040 Data 4 mvars.o(.data)
hspi1 0x20000044 Data 88 spi.o(.bss)
huart1 0x2000009c Data 64 usart.o(.bss)
Paint 0x200000dc Data 24 gui_paint.o(.bss)
__heap_base 0x200000f8 Data 0 startup_stm32f103xe.o(HEAP)
__heap_limit 0x200090f8 Data 0 startup_stm32f103xe.o(HEAP)
__initial_sp 0x2000a0f8 Data 0 startup_stm32f103xe.o(STACK)
__stdout 0x20000010 Data 4 stdout.o(.data)
__microlib_freelist 0x20000014 Data 4 mvars.o(.data)
__microlib_freelist_initialised 0x20000018 Data 4 mvars.o(.data)
hspi1 0x2000001c Data 88 spi.o(.bss)
huart1 0x20000074 Data 64 usart.o(.bss)
Paint 0x200000b4 Data 24 gui_paint.o(.bss)
__heap_base 0x200000d0 Data 0 startup_stm32f103xe.o(HEAP)
__heap_limit 0x200090d0 Data 0 startup_stm32f103xe.o(HEAP)
__initial_sp 0x2000a0d0 Data 0 startup_stm32f103xe.o(STACK)
@ -1632,22 +1618,22 @@ Memory Map of the image
Image Entry point : 0x08000131
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x0000a174, Max: 0x00080000, ABSOLUTE)
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00006680, Max: 0x00080000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x0000a130, Max: 0x00080000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00006664, Max: 0x00080000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x08000000 0x08000000 0x00000130 Data RO 3 RESET startup_stm32f103xe.o
0x08000130 0x08000130 0x00000000 Code RO 1881 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
0x08000130 0x08000130 0x00000004 Code RO 2177 .ARM.Collect$$$$00000001 mc_w.l(entry2.o)
0x08000134 0x08000134 0x00000004 Code RO 2180 .ARM.Collect$$$$00000004 mc_w.l(entry5.o)
0x08000138 0x08000138 0x00000000 Code RO 2182 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o)
0x08000138 0x08000138 0x00000000 Code RO 2184 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
0x08000138 0x08000138 0x00000008 Code RO 2185 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
0x08000140 0x08000140 0x00000000 Code RO 2187 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o)
0x08000140 0x08000140 0x00000000 Code RO 2189 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o)
0x08000140 0x08000140 0x00000004 Code RO 2178 .ARM.Collect$$$$00002712 mc_w.l(entry2.o)
0x08000130 0x08000130 0x00000000 Code RO 1879 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
0x08000130 0x08000130 0x00000004 Code RO 2175 .ARM.Collect$$$$00000001 mc_w.l(entry2.o)
0x08000134 0x08000134 0x00000004 Code RO 2178 .ARM.Collect$$$$00000004 mc_w.l(entry5.o)
0x08000138 0x08000138 0x00000000 Code RO 2180 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o)
0x08000138 0x08000138 0x00000000 Code RO 2182 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
0x08000138 0x08000138 0x00000008 Code RO 2183 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
0x08000140 0x08000140 0x00000000 Code RO 2185 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o)
0x08000140 0x08000140 0x00000000 Code RO 2187 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o)
0x08000140 0x08000140 0x00000004 Code RO 2176 .ARM.Collect$$$$00002712 mc_w.l(entry2.o)
0x08000144 0x08000144 0x00000024 Code RO 4 .text startup_stm32f103xe.o
0x08000168 0x08000168 0x00000084 Code RO 13 .text main.o
0x080001ec 0x080001ec 0x00000054 Code RO 152 .text gpio.o
@ -1666,53 +1652,44 @@ Memory Map of the image
0x08003130 0x08003130 0x000009f8 Code RO 519 .text stm32f1xx_hal_dma.o
0x08003b28 0x08003b28 0x000001d8 Code RO 543 .text stm32f1xx_hal_cortex.o
0x08003d00 0x08003d00 0x000000ac Code RO 647 .text system_stm32f1xx.o
0x08003dac 0x08003dac 0x000003a0 Code RO 905 .text epd_2in9bc_test.o
0x0800414c 0x0800414c 0x00000240 Code RO 1412 .text epd_2in9bc.o
0x0800438c 0x0800438c 0x00000068 Code RO 1722 .text dev_config.o
0x080043f4 0x080043f4 0x00000c44 Code RO 1747 .text gui_paint.o
0x08005038 0x08005038 0x00000024 Code RO 1886 .text mc_w.l(memseta.o)
0x0800505c 0x0800505c 0x0000002c Code RO 2192 .text mc_w.l(uidiv.o)
0x08005088 0x08005088 0x00000024 Code RO 2213 .text mc_w.l(init.o)
0x080050ac 0x080050ac 0x00000020 Code RO 1977 i.__0printf$3 mc_w.l(printf3.o)
0x080050cc 0x080050cc 0x0000000e Code RO 2223 i.__scatterload_copy mc_w.l(handlers.o)
0x080050da 0x080050da 0x00000002 Code RO 2224 i.__scatterload_null mc_w.l(handlers.o)
0x080050dc 0x080050dc 0x0000000e Code RO 2225 i.__scatterload_zeroinit mc_w.l(handlers.o)
0x080050ea 0x080050ea 0x00000002 PAD
0x080050ec 0x080050ec 0x000001b8 Code RO 1984 i._printf_core mc_w.l(printf3.o)
0x080052a4 0x080052a4 0x00000050 Code RO 2149 i.free mc_w.l(malloc.o)
0x080052f4 0x080052f4 0x0000006c Code RO 2150 i.malloc mc_w.l(malloc.o)
0x08005360 0x08005360 0x00000010 Data RO 648 .constdata system_stm32f1xx.o
0x08005370 0x08005370 0x00000008 Data RO 649 .constdata system_stm32f1xx.o
0x08005378 0x08005378 0x00001280 Data RO 685 .constdata imagedata.o
0x080065f8 0x080065f8 0x00001280 Data RO 686 .constdata imagedata.o
0x08007878 0x08007878 0x00000474 Data RO 1797 .constdata font12.o
0x08007cec 0x08007cec 0x000005d6 Data RO 1811 .constdata font12cn.o
0x080082c2 0x080082c2 0x00000be0 Data RO 1825 .constdata font16.o
0x08008ea2 0x08008ea2 0x00001182 Data RO 1867 .constdata font24cn.o
0x0800a024 0x0800a024 0x000000e9 Data RO 1749 .conststring gui_paint.o
0x0800a10d 0x0800a10d 0x00000003 PAD
0x0800a110 0x0800a110 0x00000020 Data RO 2221 Region$$Table anon$$obj.o
0x08003dac 0x08003dac 0x00000148 Code RO 743 .text epd_1in54_v2_test.o
0x08003ef4 0x08003ef4 0x000002f0 Code RO 1255 .text epd_1in54_v2.o
0x080041e4 0x080041e4 0x00000068 Code RO 1720 .text dev_config.o
0x0800424c 0x0800424c 0x00000c44 Code RO 1745 .text gui_paint.o
0x08004e90 0x08004e90 0x00000024 Code RO 1884 .text mc_w.l(memseta.o)
0x08004eb4 0x08004eb4 0x0000002c Code RO 2190 .text mc_w.l(uidiv.o)
0x08004ee0 0x08004ee0 0x00000024 Code RO 2211 .text mc_w.l(init.o)
0x08004f04 0x08004f04 0x00000020 Code RO 1975 i.__0printf$3 mc_w.l(printf3.o)
0x08004f24 0x08004f24 0x0000000e Code RO 2221 i.__scatterload_copy mc_w.l(handlers.o)
0x08004f32 0x08004f32 0x00000002 Code RO 2222 i.__scatterload_null mc_w.l(handlers.o)
0x08004f34 0x08004f34 0x0000000e Code RO 2223 i.__scatterload_zeroinit mc_w.l(handlers.o)
0x08004f42 0x08004f42 0x00000002 PAD
0x08004f44 0x08004f44 0x000001b8 Code RO 1982 i._printf_core mc_w.l(printf3.o)
0x080050fc 0x080050fc 0x00000050 Code RO 2147 i.free mc_w.l(malloc.o)
0x0800514c 0x0800514c 0x0000006c Code RO 2148 i.malloc mc_w.l(malloc.o)
0x080051b8 0x080051b8 0x00000010 Data RO 648 .constdata system_stm32f1xx.o
0x080051c8 0x080051c8 0x00000008 Data RO 649 .constdata system_stm32f1xx.o
0x080051d0 0x080051d0 0x00001388 Data RO 676 .constdata imagedata.o
0x08006558 0x08006558 0x000000e9 Data RO 1747 .conststring gui_paint.o
0x08006641 0x08006641 0x00000003 PAD
0x08006644 0x08006644 0x00000020 Data RO 2219 Region$$Table anon$$obj.o
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x0800a130, Size: 0x0000a0f8, Max: 0x00010000, ABSOLUTE)
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08006664, Size: 0x0000a0d0, Max: 0x00010000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 0x0800a130 0x0000000c Data RW 420 .data stm32f1xx_hal.o
0x2000000c 0x0800a13c 0x00000004 Data RW 650 .data system_stm32f1xx.o
0x20000010 0x0800a140 0x00000008 Data RW 1798 .data font12.o
0x20000018 0x0800a148 0x0000000c Data RW 1812 .data font12cn.o
0x20000024 0x0800a154 0x00000008 Data RW 1826 .data font16.o
0x2000002c 0x0800a15c 0x0000000c Data RW 1868 .data font24cn.o
0x20000038 0x0800a168 0x00000004 Data RW 2191 .data mc_w.l(stdout.o)
0x2000003c 0x0800a16c 0x00000004 Data RW 2200 .data mc_w.l(mvars.o)
0x20000040 0x0800a170 0x00000004 Data RW 2201 .data mc_w.l(mvars.o)
0x20000044 - 0x00000058 Zero RW 177 .bss spi.o
0x2000009c - 0x00000040 Zero RW 207 .bss usart.o
0x200000dc - 0x00000018 Zero RW 1748 .bss gui_paint.o
0x200000f4 0x0800a174 0x00000004 PAD
0x200000f8 - 0x00009000 Zero RW 2 HEAP startup_stm32f103xe.o
0x200090f8 - 0x00001000 Zero RW 1 STACK startup_stm32f103xe.o
0x20000000 0x08006664 0x0000000c Data RW 420 .data stm32f1xx_hal.o
0x2000000c 0x08006670 0x00000004 Data RW 650 .data system_stm32f1xx.o
0x20000010 0x08006674 0x00000004 Data RW 2189 .data mc_w.l(stdout.o)
0x20000014 0x08006678 0x00000004 Data RW 2198 .data mc_w.l(mvars.o)
0x20000018 0x0800667c 0x00000004 Data RW 2199 .data mc_w.l(mvars.o)
0x2000001c - 0x00000058 Zero RW 177 .bss spi.o
0x20000074 - 0x00000040 Zero RW 207 .bss usart.o
0x200000b4 - 0x00000018 Zero RW 1746 .bss gui_paint.o
0x200000cc 0x08006680 0x00000004 PAD
0x200000d0 - 0x00009000 Zero RW 2 HEAP startup_stm32f103xe.o
0x200090d0 - 0x00001000 Zero RW 1 STACK startup_stm32f103xe.o
==============================================================================
@ -1723,16 +1700,12 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
104 10 0 0 0 788 dev_config.o
576 60 0 0 0 2643 epd_2in9bc.o
928 362 0 0 0 1314 epd_2in9bc_test.o
0 0 1140 8 0 1409 font12.o
0 0 1494 12 0 1411 font12cn.o
0 0 3040 8 0 1409 font16.o
0 0 4482 12 0 1411 font24cn.o
752 60 0 0 0 3586 epd_1in54_v2.o
328 172 0 0 0 1096 epd_1in54_v2_test.o
84 8 0 0 0 839 gpio.o
3140 506 233 0 24 12475 gui_paint.o
0 0 9472 0 0 2076 imagedata.o
132 0 0 0 0 460737 main.o
0 0 5000 0 0 2076 imagedata.o
132 0 0 0 0 460733 main.o
180 32 0 0 88 1473 spi.o
36 8 304 0 40960 816 startup_stm32f103xe.o
376 28 0 12 0 4829 stm32f1xx_hal.o
@ -1749,7 +1722,7 @@ Image component sizes
212 34 0 0 64 1717 usart.o
----------------------------------------------------------------------
20212 1424 20224 56 41140 576939 Object Totals
19788 1234 5596 16 41140 572020 Object Totals
0 0 32 0 0 0 (incl. Generated)
4 0 3 0 4 0 (incl. Padding)
@ -1794,15 +1767,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug
21040 1474 20224 68 41140 575299 Grand Totals
21040 1474 20224 68 41140 575299 ELF Image Totals
21040 1474 20224 68 0 0 ROM Totals
20616 1284 5596 28 41140 570380 Grand Totals
20616 1284 5596 28 41140 570380 ELF Image Totals
20616 1284 5596 28 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 41264 ( 40.30kB)
Total RW Size (RW Data + ZI Data) 41208 ( 40.24kB)
Total ROM Size (Code + RO Data + RW Data) 41332 ( 40.36kB)
Total RO Size (Code + RO Data) 26212 ( 25.60kB)
Total RW Size (RW Data + ZI Data) 41168 ( 40.20kB)
Total ROM Size (Code + RO Data + RW Data) 26240 ( 25.63kB)
==============================================================================

View file

@ -71,7 +71,7 @@ int main(void)
/* USER CODE BEGIN 2 */
// EPD_1in54_test();
// EPD_1in54_V2_test();
EPD_1in54_V2_test();
// EPD_1in54b_test();
// EPD_1in54c_test();
@ -79,7 +79,7 @@ int main(void)
// EPD_2in7b_test();
// EPD_2in9_test();
EPD_2in9bc_test();
// EPD_2in9bc_test();
// EPD_2in9d_test();
// EPD_2in13_test();

View file

@ -35,6 +35,10 @@ int EPD_1in54_V2_test(void)
printf("EPD_1in54_V2_test Demo\r\n");
DEV_Module_Init();
for(;;){
// EPD_1IN54_V2_Init();
// EPD_1IN54_V2_Clear();
printf("e-Paper Init and Clear...\r\n");
EPD_1IN54_V2_Init();
EPD_1IN54_V2_Clear();
@ -61,7 +65,7 @@ int EPD_1in54_V2_test(void)
DEV_Delay_ms(2000);
#endif
#if 1 // Drawing on the image
#if 0 // Drawing on the image
printf("Drawing\r\n");
//1.Select Image
Paint_SelectImage(BlackImage);
@ -93,7 +97,7 @@ int EPD_1in54_V2_test(void)
DEV_Delay_ms(2000);
#endif
#if 1 //Partial refresh, example shows time
#if 0 //Partial refresh, example shows time
// The image of the previous frame must be uploaded, otherwise the
// first few seconds will display an exception.
@ -142,7 +146,7 @@ int EPD_1in54_V2_test(void)
EPD_1IN54_V2_Sleep();
free(BlackImage);
BlackImage = NULL;
}
// close 5V
printf("close 5V, Module enters 0 power consumption ...\r\n");
DEV_Module_Exit();

View file

@ -65,7 +65,7 @@ int EPD_2in13_V2_test(void)
DEV_Delay_ms(2000);
#endif
#if 1 // Drawing on the image
#if 0 // Drawing on the image
printf("Drawing\r\n");
//1.Select Image
Paint_SelectImage(BlackImage);
@ -97,7 +97,7 @@ int EPD_2in13_V2_test(void)
DEV_Delay_ms(2000);
#endif
#if 1 //Partial refresh, example shows time
#if 0 //Partial refresh, example shows time
printf("Partial refresh\r\n");
EPD_2IN13_V2_Init(EPD_2IN13_V2_FULL);
EPD_2IN13_V2_DisplayPartBaseImage(BlackImage);

View file

@ -82,53 +82,6 @@
#include "EPD_2in7.h"
#include "Debug.h"
static const unsigned char EPD_2in7_lut_vcom_dc[] = {
0x00 ,0x00,
0x00 ,0x08 ,0x00 ,0x00 ,0x00 ,0x02,
0x60 ,0x28 ,0x28 ,0x00 ,0x00 ,0x01,
0x00 ,0x14 ,0x00 ,0x00 ,0x00 ,0x01,
0x00 ,0x12 ,0x12 ,0x00 ,0x00 ,0x01,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00
};
static const unsigned char EPD_2in7_lut_ww[] = {
0x40 ,0x08 ,0x00 ,0x00 ,0x00 ,0x02,
0x90 ,0x28 ,0x28 ,0x00 ,0x00 ,0x01,
0x40 ,0x14 ,0x00 ,0x00 ,0x00 ,0x01,
0xA0 ,0x12 ,0x12 ,0x00 ,0x00 ,0x01,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
};
static const unsigned char EPD_2in7_lut_bw[] = {
0x40 ,0x08 ,0x00 ,0x00 ,0x00 ,0x02,
0x90 ,0x28 ,0x28 ,0x00 ,0x00 ,0x01,
0x40 ,0x14 ,0x00 ,0x00 ,0x00 ,0x01,
0xA0 ,0x12 ,0x12 ,0x00 ,0x00 ,0x01,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
};
static const unsigned char EPD_2in7_lut_bb[] = {
0x80 ,0x08 ,0x00 ,0x00 ,0x00 ,0x02,
0x90 ,0x28 ,0x28 ,0x00 ,0x00 ,0x01,
0x80 ,0x14 ,0x00 ,0x00 ,0x00 ,0x01,
0x50 ,0x12 ,0x12 ,0x00 ,0x00 ,0x01,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
};
static const unsigned char EPD_2in7_lut_wb[] = {
0x80 ,0x08 ,0x00 ,0x00 ,0x00 ,0x02,
0x90 ,0x28 ,0x28 ,0x00 ,0x00 ,0x01,
0x80 ,0x14 ,0x00 ,0x00 ,0x00 ,0x01,
0x50 ,0x12 ,0x12 ,0x00 ,0x00 ,0x01,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
};
/******************************************************************************
function : Software reset
parameter:
@ -186,39 +139,6 @@ static void EPD_2in7_ReadBusy(void)
Debug("e-Paper busy release\r\n");
}
/******************************************************************************
function : set the look-up tables
parameter:
******************************************************************************/
static void EPD_2in7_SetLut(void)
{
unsigned int count;
EPD_2in7_SendCommand(0x20); //vcom
for(count = 0; count < 44; count++) {
EPD_2in7_SendData(EPD_2in7_lut_vcom_dc[count]);
}
EPD_2in7_SendCommand(0x21); //ww --
for(count = 0; count < 42; count++) {
EPD_2in7_SendData(EPD_2in7_lut_ww[count]);
}
EPD_2in7_SendCommand(0x22); //bw r
for(count = 0; count < 42; count++) {
EPD_2in7_SendData(EPD_2in7_lut_bw[count]);
}
EPD_2in7_SendCommand(0x23); //wb w
for(count = 0; count < 42; count++) {
EPD_2in7_SendData(EPD_2in7_lut_bb[count]);
}
EPD_2in7_SendCommand(0x24); //bb b
for(count = 0; count < 42; count++) {
EPD_2in7_SendData(EPD_2in7_lut_wb[count]);
}
}
/******************************************************************************
function : Initialize the e-Paper register
parameter:
@ -227,67 +147,35 @@ void EPD_2IN7_Init(void)
{
EPD_2in7_Reset();
EPD_2in7_SendCommand(0x01); // POWER_SETTING
EPD_2in7_SendData(0x03); // VDS_EN, VDG_EN
EPD_2in7_SendData(0x00); // VCOM_HV, VGHL_LV[1], VGHL_LV[0]
EPD_2in7_SendData(0x2b); // VDH
EPD_2in7_SendData(0x2b); // VDL
EPD_2in7_SendData(0x09); // VDHR
EPD_2in7_SendCommand(0x06); // BOOSTER_SOFT_START
EPD_2in7_SendData(0x07);
EPD_2in7_SendData(0x07);
EPD_2in7_SendData(0x17);
// Power optimization
EPD_2in7_SendCommand(0xF8);
EPD_2in7_SendData(0x60);
EPD_2in7_SendData(0xA5);
// Power optimization
EPD_2in7_SendCommand(0xF8);
EPD_2in7_SendData(0x89);
EPD_2in7_SendData(0xA5);
// Power optimization
EPD_2in7_SendCommand(0xF8);
EPD_2in7_SendData(0x90);
EPD_2in7_SendData(0x00);
// Power optimization
EPD_2in7_SendCommand(0xF8);
EPD_2in7_SendData(0x93);
EPD_2in7_SendData(0x2A);
// Power optimization
EPD_2in7_SendCommand(0xF8);
EPD_2in7_SendData(0xA0);
EPD_2in7_SendData(0xA5);
// Power optimization
EPD_2in7_SendCommand(0xF8);
EPD_2in7_SendData(0xA1);
EPD_2in7_SendData(0x00);
// Power optimization
EPD_2in7_SendCommand(0xF8);
EPD_2in7_SendData(0x73);
EPD_2in7_SendData(0x41);
EPD_2in7_SendCommand(0x16); // PARTIAL_DISPLAY_REFRESH
EPD_2in7_SendData(0x00);
EPD_2in7_SendCommand(0x04); // POWER_ON
EPD_2in7_ReadBusy();
EPD_2in7_SendCommand(0x06); //boost soft start
EPD_2in7_SendData(0x07); //A
EPD_2in7_SendData(0x07); //B
EPD_2in7_SendData(0x17); //C
EPD_2in7_SendCommand(0x00); // PANEL_SETTING
EPD_2in7_SendData(0xAF); // KW-BF KWR-AF BWROTP 0f
EPD_2in7_SendCommand(0x30); // PLL_CONTROL
EPD_2in7_SendData(0x3A); // 3A 100HZ 29 150Hz 39 200HZ 31 171HZ
EPD_2in7_SendCommand(0x82); // VCM_DC_SETTING_REGISTER
EPD_2in7_SendData(0x12);
EPD_2in7_SendCommand(0x04);
EPD_2in7_ReadBusy();
EPD_2in7_SendCommand(0x00); //panel setting
EPD_2in7_SendData(0x1f); //LUT from OTP¡ê?128x296
EPD_2in7_SendCommand(0x16);
EPD_2in7_SendData(0x00); //KW-BF KWR-AF BWROTP 0f
EPD_2in7_SendCommand(0xF8);
EPD_2in7_SendData(0x60);
EPD_2in7_SendData(0xa5);
EPD_2in7_SendCommand(0xF8);
EPD_2in7_SendData(0x73);
EPD_2in7_SendData(0x23);
EPD_2in7_SendCommand(0xF8);
EPD_2in7_SendData(0x7C);
EPD_2in7_SendData(0x00);
EPD_2in7_SendCommand(0X50);
EPD_2in7_SendData(0x97); //WBmode:VBDF 17|D7 VBDW 97 VBDB 57 WBRmode:VBDF F7 VBDW 77 VBDB 37 VBDR B7
EPD_2in7_SetLut();
}
/******************************************************************************
@ -328,13 +216,6 @@ void EPD_2IN7_Display(UBYTE *Image)
Width = (EPD_2IN7_WIDTH % 8 == 0)? (EPD_2IN7_WIDTH / 8 ): (EPD_2IN7_WIDTH / 8 + 1);
Height = EPD_2IN7_HEIGHT;
EPD_2in7_SendCommand(0x10);
for (UWORD j = 0; j < Height; j++) {
for (UWORD i = 0; i < Width; i++) {
EPD_2in7_SendData(0XFF);
}
}
EPD_2in7_SendCommand(0x13);
for (UWORD j = 0; j < Height; j++) {
for (UWORD i = 0; i < Width; i++) {
@ -351,8 +232,6 @@ parameter:
******************************************************************************/
void EPD_2IN7_Sleep(void)
{
EPD_2in7_SendCommand(0X50);
EPD_2in7_SendData(0xf7);
EPD_2in7_SendCommand(0X02); //power off
EPD_2in7_SendCommand(0X07); //deep sleep
EPD_2in7_SendData(0xA5);