quad increment and decrement working

This commit is contained in:
dekunukem
2022-02-17 21:47:25 +00:00
parent 66f02a9128
commit 65416cc9e0
66 changed files with 930 additions and 1068 deletions

View File

@@ -8,6 +8,6 @@ SourceFiles=stm32f0xx_it.c;stm32f0xx_hal_msp.c;main.c;
LibFiles=Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h;Drivers/STM32F0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h;Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_spi.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_spi_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c;Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c;Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h;Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h;Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h;Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c;Drivers/CMSIS/Include/arm_common_tables.h;Drivers/CMSIS/Include/arm_const_structs.h;Drivers/CMSIS/Include/arm_math.h;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/cmsis_armcc_V6.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/core_cmFunc.h;Drivers/CMSIS/Include/core_cmInstr.h;Drivers/CMSIS/Include/core_cmSimd.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/core_sc300.h;
[PreviousUsedKeilFiles]
SourceFiles=..\Src\main.c;..\Src\stm32f0xx_it.c;..\Src\stm32f0xx_hal_msp.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_spi.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_spi_ex.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c;../\Src/system_stm32f0xx.c;../Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c;null;
SourceFiles=..\Src\main.c;..\Src\stm32f0xx_it.c;..\Src\stm32f0xx_hal_msp.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_spi.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_spi_ex.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c;../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c;../\Src/system_stm32f0xx.c;../Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c;C:/Users/allen/Desktop/repos/usb2ps2/firmware/quad_test//MDK-ARM/startup_stm32f042x6.s;
HeaderPath=..\Drivers\STM32F0xx_HAL_Driver\Inc;..\Drivers\STM32F0xx_HAL_Driver\Inc\Legacy;..\Drivers\CMSIS\Device\ST\STM32F0xx\Include;..\Drivers\CMSIS\Include;..\Inc;

View File

@@ -7,8 +7,18 @@
#include "stm32f0xx_hal.h"
typedef struct
{
GPIO_TypeDef* A_port;
uint16_t A_pin;
GPIO_TypeDef* B_port;
uint16_t B_pin;
uint8_t current_index;
} quad_output;
void quad_init(quad_output *qo, GPIO_TypeDef* this_A_port, uint16_t this_A_pin, GPIO_TypeDef* this_B_port, uint16_t this_B_pin);
void quad_increment(quad_output *qo);
void quad_decrement(quad_output *qo);
#ifdef __cplusplus
}
#endif

View File

@@ -93,8 +93,8 @@
<flags>2</flags>
<showCmd>3</showCmd>
<MinPosition>
<xPos>-1</xPos>
<yPos>-1</yPos>
<xPos>-32000</xPos>
<yPos>-32000</yPos>
</MinPosition>
<MaxPosition>
<xPos>-1</xPos>
@@ -1838,7 +1838,7 @@
<Name>Debug</Name>
<Buttons>
<Len>2373</Len>
<Data>00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data>
<Data>00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data>
</Buttons>
<OriginalItems>
<Len>898</Len>
@@ -3606,9 +3606,9 @@
<ActiveTab>0</ActiveTab>
<Doc>
<Name>../Src/main.c</Name>
<ColumnNumber>8</ColumnNumber>
<ColumnNumber>25</ColumnNumber>
<TopLine>270</TopLine>
<CurrentLine>292</CurrentLine>
<CurrentLine>287</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>

View File

@@ -278,42 +278,6 @@
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>6</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Src/main.c</PathWithFileName>
<FilenameWithoutPath>main.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>7</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Src/stm32f0xx_it.c</PathWithFileName>
<FilenameWithoutPath>stm32f0xx_it.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>8</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Src/stm32f0xx_hal_msp.c</PathWithFileName>
<FilenameWithoutPath>stm32f0xx_hal_msp.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>9</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -325,7 +289,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>10</FileNumber>
<FileNumber>7</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -335,6 +299,42 @@
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>8</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Src/main.c</PathWithFileName>
<FilenameWithoutPath>main.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>9</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Src/stm32f0xx_it.c</PathWithFileName>
<FilenameWithoutPath>stm32f0xx_it.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>10</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Src/stm32f0xx_hal_msp.c</PathWithFileName>
<FilenameWithoutPath>stm32f0xx_hal_msp.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>

View File

@@ -338,7 +338,7 @@
<MiscControls></MiscControls>
<Define>USE_HAL_DRIVER,STM32F042x6</Define>
<Undefine></Undefine>
<IncludePath>../Inc; ../Drivers/STM32F0xx_HAL_Driver/Inc; ../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy; ../Drivers/CMSIS/Device/ST/STM32F0xx/Include; ../Drivers/CMSIS/Include</IncludePath>
<IncludePath>../Inc; ../Drivers/STM32F0xx_HAL_Driver/Inc; ../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy; ../Drivers/CMSIS/Device/ST/STM32F0xx/Include; ../Drivers/CMSIS/Include</IncludePath>
</VariousControls>
</Cads>
<Aads>
@@ -412,6 +412,16 @@
<FileType>5</FileType>
<FilePath>..\Inc\helpers.h</FilePath>
</File>
<File>
<FileName>quad_encoder.h</FileName>
<FileType>5</FileType>
<FilePath>..\Inc\quad_encoder.h</FilePath>
</File>
<File>
<FileName>quad_encoder.c</FileName>
<FileType>1</FileType>
<FilePath>..\Src\quad_encoder.c</FilePath>
</File>
<File>
<FileName>main.c</FileName>
<FileType>1</FileType>
@@ -427,16 +437,6 @@
<FileType>1</FileType>
<FilePath>../Src/stm32f0xx_hal_msp.c</FilePath>
</File>
<File>
<FileName>quad_encoder.h</FileName>
<FileType>5</FileType>
<FilePath>..\Inc\quad_encoder.h</FilePath>
</File>
<File>
<FileName>quad_encoder.c</FileName>
<FileType>1</FileType>
<FilePath>..\Src\quad_encoder.c</FilePath>
</File>
</Files>
</Group>
<Group>

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -27,11 +27,14 @@ Project File Date: 02/17/2022
<h2>Output:</h2>
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Build target 'my_adb'
compiling main.c...
compiling quad_encoder.c...
..\Src\quad_encoder.c(61): warning: #1-D: last line of file ends without a newline
}
..\Src\quad_encoder.c: 1 warning, 0 errors
linking...
Program Size: Code=7936 RO-data=304 RW-data=36 ZI-data=1916
Program Size: Code=8156 RO-data=308 RW-data=36 ZI-data=1932
FromELF: creating hex file...
"my_adb\my_adb.axf" - 0 Error(s), 0 Warning(s).
"my_adb\my_adb.axf" - 0 Error(s), 1 Warning(s).
<h2>Software Packages used:</h2>
@@ -54,7 +57,7 @@ Package Vendor: Keil
<h2>Collection of Component Files used:</h2>
* Component: ARM::CMSIS:CORE:5.3.0
Build Time Elapsed: 00:00:02
Build Time Elapsed: 00:00:01
</pre>
</body>
</html>

View File

@@ -1,23 +1,23 @@
:020000040800F2
:10000000A0070020D500000809120008C910000848
:10000000B0070020D500000839120008C910000808
:1000100000000000000000000000000000000000E0
:10002000000000000000000000000000471500086C
:1000300000000000000000005112000849150008EF
:10002000000000000000000000000000771500083C
:10003000000000000000000081120008791500088F
:100040000501000805010008050100080501000878
:100050000501000805010008050100080501000868
:100060000501000805010008050100080501000858
:100070000501000805010008050100080501000848
:100080000501000800000000000000000501000854
:100090000000000005010008050100080501000836
:1000A00000000000551200080501000805010008C5
:1000A0000000000085120008050100080501000895
:1000B0000501000800000000050100080501000816
:1000C0000348854600F06CF800480047D91C00083A
:1000D000A00700200C4880F308880C480168090E2E
:1000C0000348854600F06CF800480047091D000809
:1000D000B00700200C4880F308880C480168090E1E
:1000E0000B4A914205D10B480B4901600B480C4962
:1000F00001600C4880470C480047FEE7FEE7FEE73A
:10010000FEE7FEE7FEE70000A00700200400000075
:10010000FEE7FEE7FEE70000B00700200400000065
:100110001F00000018100240010000000000014014
:1001200000000000B1150008C100000830B50B4602
:1001200000000000E1150008C100000830B50B46D2
:10013000014600202022012409E00D46D5409D42C1
:1001400005D31D469540491B254695404019154647
:10015000521E002DF1DC30BD03460B439B0703D03C
@@ -26,8 +26,8 @@
:100180000270401C491EFBD270470022F6E710B5F2
:1001900013460A4604461946FFF7F0FF204610BDF5
:1001A000064C0125064E05E0E36807CC2B430C3CCA
:1001B00098471034B442F7D3FFF786FF10200008A9
:1001C0003020000870B50024014620314A78022A08
:1001B00098471034B442F7D3FFF786FFF0200008C9
:1001C0001021000870B50024014620314A78022A27
:1001D00003D004218163012416E0026813680E2510
:1001E000AB431360026813685B085B001360012275
:1001F000056C1346AB40C56B6B604A7000220A70F9
@@ -58,11 +58,11 @@
:100380001000002070B5040005D025466035687A5D
:10039000002802D006E0012070BD0020287220460F
:1003A00000F00AFE242068722068016849084900AC
:1003B0000160204601F03CFA0128EDD0606A002877
:1003C00002D0204601F09BF9206841680922D20240
:1003B0000160204601F054FA0128EDD0606A00285F
:1003C00002D0204601F0B3F9206841680922D20228
:1003D00091434160206881682222914381602068B6
:1003E000816808221143816020680168012211435D
:1003F0000160204601F0E8F970BD00000248016884
:1003F0000160204601F000FA70BD0000024801686B
:10040000491C0160704700001000002010B506482C
:100410000168102211430160002000F007F800F08D
:1004200017F8002010BD00000020024010B504465F
@@ -74,7 +74,7 @@
:1004800000F01AF800221146501E00F015F804483A
:10049000016810221143016008BD000000100240F5
:1004A00000000140C106C90E0120884001490860D2
:1004B0007047000000E100E010B500F0A7FE10BD9D
:1004B0007047000000E100E010B500F0BFFE10BD85
:1004C000F8B505464E480E460068C007C00FB0425A
:1004D0000AD24B480168490849003143016000686D
:1004E000C007C00FB04270D12878464C800705D5B0
@@ -95,10 +95,10 @@
:1005D000400706D56068072109028843E968084397
:1005E000606000F02DF86168084A0906090F515C47
:1005F000C840074908600020FFF718FF0020F8BD39
:10060000002002400010024088130000F71F00087D
:10060000002002400010024088130000D72000089C
:10061000140000200148006870470000140000200A
:100620000448054900684968044A4905490F515C76
:10063000C840704714000020001002400720000846
:10063000C84070471400002000100240E720000866
:1006400030B516A30FCB89B06C460FC417A30FCBE0
:100650000FC41A494A680C20144604401848042C58
:1006600005D0184B082C04D00C2C00D1184609B02A
@@ -182,7 +182,7 @@
:100B400089004160A06D0B4D002803D04563A06D66
:100B5000FFF738FB606D0028B8D04563606DFFF784
:100B600031FBF8BDC16880680090F8BD2046FFF7F2
:100B700097FFF8BDC7130008F8B5040007D000269A
:100B700097FFF8BDF7130008F8B5040007D000266A
:100B800025464035A662687F002802D005E0012096
:100B9000F8BD2E77204600F04BF802236B772068D3
:100BA00001684022914301600721E0680902884200
@@ -211,10 +211,10 @@
:100D10008F4202D8E188022903D301684B689343CC
:100D200002E001684B6813434B6001684A68E023A6
:100D30001A434A6000680168490603D401684022EA
:100D400011430160002020772846F0BD651200089D
:100D5000F91200089B1200082D13000870B501223B
:100D400011430160002020772846F0BD951200086D
:100D500029130008CB1200085D13000870B50122AA
:100D6000124E150229463046FFF700FB104C207842
:100D7000DE2802D00F49012048700D4801F068F8C4
:100D7000DE2802D00F49012048700D4801F092F89A
:100D8000A078032805D1092000220221C006FFF720
:100D9000EDFA074A2023D11A0748FFF775FF002212
:100DA00029463046FFF7E2FA70BD00000004004813
@@ -222,7 +222,7 @@
:100DC0000428086902D09043086170471043FBE78C
:100DD00000E000E070470000094910B5401E88425D
:100DE00001D9012010BD074C60610321081F00F0EC
:100DF0000DFA0020A06107202061002010BD000036
:100DF00025FA0020A06107202061002010BD00001E
:100E0000FFFFFF0000E000E010B5FFF7E3FF10BDBB
:100E100070B502462032137F012B1BD001231377BC
:100E200002245477046865687026B54365600468D9
@@ -231,7 +231,7 @@
:100E5000107770BD022070BD70B5040005D0254626
:100E60002035687F002802D006E0012070BD0020F8
:100E70002877204600F00AF802206877211D2068B4
:100E800000F0C4FB01206877002070BD08B5006841
:100E800000F0DCFB01206877002070BD08B5006829
:100E900001218907884207D10448C1690122114311
:100EA000C161C0691040009008BD00000010024000
:100EB0000222014620314A77026813680120034369
@@ -242,13 +242,13 @@
:100F0000102840D14EE00220F8BD302850D04028B3
:100F100039D13CE060282DD0702817D0012212036F
:100F2000801A0ED090422ED1CB684A68896820681A
:100F300000F0AEFB206881680122920311438160BA
:100F300000F0C6FB206881680122920311438160A2
:100F400021E020688168C908C900F8E7CB684A68D1
:100F50008968206800F09CFB21688868B0433043B2
:100F6000886010E0CA684968206800F0A4FB50213E
:100F7000206806E0CA684968206800F0ADFB60217F
:100F8000206800F090FB6F7700202877F8BDCA68D2
:100F90004968206800F08FFB40212068F1E70021BC
:100F50008968206800F0B4FB21688868B04330439A
:100F6000886010E0CA684968206800F0BCFB502126
:100F7000206806E0CA684968206800F0C5FB602167
:100F8000206800F0A8FB6F7700202877F8BDCA68BA
:100F90004968206800F0A7FB40212068F1E70021A4
:100FA0002068EEE710212068EBE720212068E8E7C1
:100FB00030212068E5E7000000B500680E4987B0E1
:100FC000884216D10D48C269012149040A43C26111
@@ -262,260 +262,274 @@
:101040000020E06621207072FFF796F90190274694
:101050004037059838820598788218E0788A401ED3
:10106000788206980090002280212046019B00F0A3
:1010700077FC002818D10120A1680003814202D129
:101070008FFC002818D10120A1680003814202D111
:101080002069002812D02168287808856D1C788A8C
:101090000028E3D106980090002240212046019BC1
:1010A00000F05EFC002808D00320C2E728882168F1
:1010A00000F076FC002808D00320C2E728882168D9
:1010B000C005C00D0885AD1CE9E720207072002036
:1010C0003072B6E70220B4E7FEE70000F0B51A4838
:1010C0003072B6E70220B4E7FEE70000F0B525482D
:1010D00087B04269012189040A43426142690A409A
:1010E0000592426949100A4342614069134E084023
:1010F0004C120590002221463046FFF737F90927A8
:10110000FF06002202213846FFF730F90094002440
:10111000012501950294694630460394FFF784F84F
:101120000220009002946946019503943846FFF727
:101130007BF807B0F0BD000000100240000400483A
:1011400010B50D480B4901600021416081600161CB
:10115000416181610722016212024162C2608162C3
:1011600007220163C2624163FFF706FD002800D039
:10117000FEE710BD003001402400002010B5012121
:10118000124886B08907016000242F2184604160E5
:101190000461611E8461C160FFF75EFE002800D01B
:1011A000FEE701200003009069460848FFF78CFE27
:1011B000002800D0FEE7049404A904480594FFF732
:1011C00027FE002800D0FEE706B010BD88000020F2
:1011D00010B50C480A490160E12149024160002133
:1011E0008160C16001618161C16108220162426167
:1011F0004162FFF7C7F8002800D0FEE710BD0000ED
:1012000000440040C8000020704700008307FF2210
:10121000DB0E9A408907090E994000280BDA000777
:10122000000F0838830808489B001818C3699343C7
:101230000B43C3617047830804489B001B18186860
:10124000904308431860704700ED00E000E400E0C0
:101250007047000010B50248FFF724FC10BD0000E5
:101260002400002010B50168C968026C1180016C6F
:10127000891C016401464031CA88521ECA80C9884F
:10128000002909D101684A6840239A434A60C18F06
:10129000002901D100F06EF810BD10B501464031B3
:1012A000CC880368026C012C11D9DB681380026CB6
:1012B000921C0264CA88921ECA80CA88012A0DD173
:1012C00002685368012424032343536006E01C7B17
:1012D000531C03641470CA88521ECA80C98800292E
:1012E00009D101684A6860239A434A60C18F002986
:1012F00001D100F03FF810BD10B5816B026809887C
:10130000D160816B891C8163C18F491EC187C18FE8
:1013100000290AD101684A6880239A434A6046211D
:10132000095A002901D100F025F810BD10B5C38F6E
:101330000268816B022B07D30988D160816B891CFD
:101340008163C18F891E05E04B1C8363097811738B
:10135000C18F491EC187C18F00290AD101684A681F
:1013600080239A434A604621095A002901D100F09E
:1013700001F810BD70B50446FEF7FEFF0246206876
:1013800041682025A94341606421204600F024F8EB
:10139000002802D0206E28432066226E20460121BC
:1013A0004030002A04D041772046FFF779FB70BD1A
:1013B000427F4177042A204602D0FFF7CFFC70BD60
:1013C000FFF760FC70BD10B5406A00214622115243
:1013D000C187FFF765FB10BDF8B50F460B461546F4
:1013E0000092032104460022C90200F01BF82026C7
:1013F000002812D13B46002280212046009500F0B3
:101400005CF8002809D103213B460022490220460E
:10141000009500F007F8002803D0206E30432066C6
:101420000320F8BDF8B51D4617460E4604463DE0BC
:10143000032149028E4205D1002F03D1017B68466A
:1014400001700078681C31D0002D05D0FEF794FFA4
:101450000699401AA84229D320684168E0229143A6
:1014600041606068C11FFD390CD10121A068C9032A
:10147000884202D04911884204D120680168402284
:10148000914301600120A16A4003814207D1216894
:101490000A6882430A6021680A6802430A600120E0
:1014A00040346077002020770320F8BD20688168F1
:1014B0003140B942BCD10020F8BDF8B51D461746F1
:1014C0000E46044633E0681C31D0002D05D0FEF7EF
:1014D00053FF0699401AA84229D320684168E022A8
:1014E000914341606068C11FFD390CD10121A068A2
:1014F000C903884202D04911884204D1206801689A
:101500004022914301600120A16A4003814207D13A
:1015100021680A6882430A6021680A6802430A60F7
:10152000012040346077002020770320F8BD206838
:1015300081683046884304D00020B842C3D10020DF
:10154000F8BD0120F9E7704710B5FEF757FFFFF728
:101550005BFC10BD10B592B020200090012000244B
:10156000089009946846FFF7AFF8002800D0FEE71E
:1015700007200D9003200E900F94012110940DA8C8
:10158000FEF79EFF002800D0FEE7FFF743F87D211D
:10159000C900FEF7CBFDFFF71FFC0420FFF70EFC90
:1015A00000221146501EFEF787FF12B010BD00004A
:1015B000134801680122114301604168114A11403A
:1015C00041600168104A11400160016801229204E3
:1015D0009143016041683F22120491434160C16A16
:1015E00009090901C162016BFF22D43291430163F1
:1015F000416B490849004163002181607047000048
:10160000001002400CB8FF08FFFFF6FEF0B50268BC
:101610001A4B0124A4071A4D984203D0A04201D0CE
:10162000A84203D17026B2434E683243154E164F7E
:1016300098420AD0A04208D0A84206D0134CA0423B
:1016400003D0B04201D0B84204D103242402A24303
:10165000CC6822438024A2434C69224302608A68FA
:10166000C2620A688262984203D0B04201D0B84296
:1016700001D10969016301214161F0BD002C0140E4
:1016800000040040004401400048014000200040A8
:1016900030B58468FF252D021B021343AC430B4376
:1016A0002343836030BD826870239A430A43072135
:1016B0000A438260704730B5036A046A64086400B4
:1016C00004628469F025AC43120122430A24A34337
:1016D0000B438261036230BD30B5036A1024A3431B
:1016E00003628469036A0F252D031203AC4322436E
:1016F000A024A343090119438261016230BD10B5E2
:10170000818CC90707D001684A6801235B049A43AA
:10171000836A1A434A60818C890707D501684A6841
:1017200001231B049A43C36A1A434A60818C490708
:1017300007D501684A6801239B049A43036B1A4347
:101740004A60818C090707D501684A680123DB03D9
:101750009A43436B1A434A60818CC90607D50268D5
:10176000916801231B039943836B19439160818C1A
:10177000890607D501688A6801235B039A43C36B16
:101780001A438A60818C490612D503685A68012180
:101790000905046C8A4322435A60026C8A4207D1CD
:1017A0000268516803235B059943436C19435160F8
:1017B000818C090607D501684A680123DB04806C27
:1017C0009A4302434A6010BDF8B500260446C66637
:1017D000FEF7D2FD05461449206888421DD10068F5
:1017E000124F000709D501212B460022490520464A
:1017F000009700F0B5F800280DD120680068400778
:101800000BD501212B46002289052046009700F0C8
:10181000A7F8002801D00320F8BD202060346072B2
:10182000A07226720020F8BD00380140FFFFFF01C2
:10183000F8B504462369A268E5691A436369102074
:101840002B43002125681A432B680E463E4F3B4030
:1018500013432B6023685A6803252D03AA43E568C8
:101860002A435A60236AA26925681A43AB680B278A
:101870003F02BB431343AB60344A2568954210D105
:10188000334A126B9207920F0ED0012A05D0022A1A
:1018900005D0032A09D1022007E0042005E0082032
:1018A00003E02C4A954200D100200122E369D203D3
:1018B000934224D100280CD002280DD0042813D044
:1018C000082817D001260A0912010807400F104303
:1018D0002FE0FEF7A5FE09E061681F4A480880185E
:1018E000FEF724FC81B2EEE7FEF7AAFE6168400035
:1018F0004A08F4E76168012248081204EFE700286B
:1019000008D0022809D004280BD0082814D00126BA
:101910003046F8BDFEF784FE05E061680F4A4808CE
:101920000CE0FEF78DFE61684A088018FEF7FEFBAA
:1019300080B22168C860EBE7616848088018FEF74C
:10194000F5FB80B2E860E3E7F369FFEF00380140A0
:1019500000100240004400400024F40000127A000D
:10196000FFB581B017460E4604460A9D1DE0681C6F
:101970001BD0002D05D0FEF7FFFC0499401AA842A9
:1019800013D920680168FF22A132914301602068C9
:101990008168490849008160202060346072A0722B
:1019A00000202072032005B0F0BD2068C1693046D8
:1019B000884304D00020B842D9D00020F3E70120AA
:1019C000F9E700000FB410B503A9044B044A0298CC
:1019D00000F018F810BC08BC04B01847E91B000858
:1019E0001800002002E008C8121F08C1002AFAD11E
:1019F00070477047002001E001C1121F002AFBD18F
:101A000070470000FFB58DB00F460546002606E082
:101A100025280AD0109A0F9990476D1C761C2878BB
:101A20000028F5D1304611B0F0BD00240121674AED
:101A3000009400E004436D1C2B780846203B98403E
:101A40001042F7D128782E2815D104200443687855
:101A50006D1C2A280AD101CF6D1C00900BE0009963
:101A60000A225143303940186D1C009028780146F5
:101A700030390929F3D92878692843D006DC0028B1
:101A8000D0D063280BD0642804D13BE073280FD05A
:101A900075284CD0109A0F999047761C94E03878AE
:101AA000694608720020487202A80190012003E0F4
:101AB000386801900020C0433F1D61070CD5002409
:101AC00000E0641C00998C420FDA8442F9DB019932
:101AD000095D0029F5D108E0002400E0641C84427F
:101AE000FCDB0199095D0029F8D1361907E001985E
:101AF00001990078491C0191109A0F999047641E32
:101B0000F5D261E00A20019001CF002802DA4042BC
:101B10002D2102E0210504D52B216A4611720121F5
:101B200003E0E10701D02021F7E70C9104E00A204F
:101B3000019001CF00210C910BA90B9108E00199B4
:101B4000FEF7F4FA0A460B993032491E0B910A70DF
:101B50000028F4D10B9803A9081A203001906007DF
:101B600001D5009801E0012000900199884203DD31
:101B700001460198081A00E000200024009006E0C9
:101B800002A8109A005D0F999047641C761C0C986F
:101B90008442F5DB04E0109A30200F999047761CC0
:101BA0000099481E00900029F5DC08E00B980B997D
:101BB0000078491C0B91109A0F999047761C019957
:101BC000481E01900029F1DC6D1C28E7092801005E
:101BD0000902014308B2704710B502490860FFF7D7
:101BE00067F910BD0000002013B50A2301226946E1
:101BF0000248FFF705FA00981CBD0000C80000204D
:101C000070B54406C109640EC901102C1AD20E4DDC
:101C1000285D002816D0002910D0022812D1032CEC
:101C200002D0062C08D104E00748183800F046F826
:101C300002E0064800F001F9012002E0012801D18C
:101C40000220285570BD00009001002008000020EF
:101C500070B515460E46044600F022F8002801D063
:101C6000012070BD2178606846542178A0684554F1
:101C70002078A178401CFEF759FA2170002070BD31
:101C800070B50D4604468170284600F06DF860601E
:101C9000284600F069F8A060204600F00FF870BDFB
:101CA00010B5044681780078401CFEF73FFA607852
:101CB000814201D1012010BD002010BD10B50446A5
:101CC000002020706070A1786068FEF75EFAA1784D
:101CD000A068FEF75AFA10BD1CB5FEF797FBFFF798
:101CE00039FCFFF7F3F9FFF72BFAFFF771FAFFF76B
:101CF00045FA01200090144C0190002322781349EA
:101D000013A0FFF75FFE1748FFF766FF00F00CF91E
:101D100014481021F030FFF7B3FF1021201D00F010
:101D200072F810482021B030FEF72FFA0D4A0D4806
:101D30002023D032D11A6438FEF7A6FF607800283D
:101D4000FDD000F0FFF8000004000020C01F0008D4
:101D500025730A7265762564207625642E25642E07
:101D600025640A0088000020F0B50B30C108C900C6
:101D7000144F0026144A0FE003688B420BD38B42AA
:101D800005D95C1A4318456830C3083B00E0436836
:101D9000136002C004E0021D10680028ECD1304638
:101DA000002803D13868002801D00020F0BD064A81
:101DB00006481060064A121AD208D20044C0012018
:101DC0003860D7E7200000201C000020A40100207C
:101DD000A003002070B50D46044600F020F800284E
:101DE00001D0012070BD20780C2261685043081892
:101DF0002946FEF7B1F92078A178401CFEF796F944
:101E00002170002070BD10B5044681700C2048433D
:101E1000FFF7AAFF6060204600F00FF810BD10B574
:101E2000044681780078401CFEF780F96078814292
:101E300001D1012010BD002010BD10B5002101709E
:101E4000417081780C2251434068FEF79EF910BD25
:101E500070B50446807809280FD008282AD00128B8
:101E60002FD0022808D10325605D002804D0FFF799
:101E7000C7FE6D1C202DF7DB70BD61792079FFF75F
:101E8000A7FE274A1080E179A079FFF7A1FE5080D4
:101E9000207A234940429080607B9071A07B107231
:101EA000E07BD071207C5072607C90721D48FFF7FF
:101EB00091FF70BD1A48A27921790C38FFF7C8FE4E
:101EC00070BD174820214C38FEF75FF91448CD212A
:101ED0004C38017061784170802585700221C17095
:101EE00010490822091F097801710021417101215F
:101EF0008171C171002104465834635C002B0BD002
:101F0000022B02D0012B02D004E0815402E00B46E8
:101F10002B438354521CD2B2491C1029EDDB70BDF7
:101F2000840100200800002005480021C1660167E7
:101F30004167816701216C30C17081717047000079
:101F40002401002012A0FFF73DFD144D0024295D5F
:101F500013A0FFF737FD641C202CF8DB11A0FFF75E
:101F600031FD0024FF25134E013529463046FEF78A
:101F7000F9F96420FEF74AF9641C642CF5DBBFF321
:101F80004F8F0E490C48C860BFF34F8F00BFFDE76D
:101F9000535049204552524F520A00005801002028
:101FA000256420000A7265626F6F74696E672E2E59
:101FB0002E0A0000000400480400FA0500ED00E0CD
:101FC0005553423456432050726F746F636F6C20C8
:101FD000426F6172640A5175616420656E636F645B
:101FE000657220746573740A64656B754E756B65F4
:101FF0006D2032303232000000000000000000018D
:10200000020304060708090000000001020304009F
:10201000302000080000002024000000E41900081F
:1020200054200008240000207C070000F419000858
:1020300000000000000000000000000000000000A0
:102040000000000000127A00000000000000000004
:04205000000000008C
:1010E0000592426909010A43426142690A40059238
:1010F000426949110A43426140691B4E08404C1243
:101100000590002221463046FFF730F9174F0022A4
:1011100003213846FFF72AF9092000220221C006E0
:10112000FFF724F9009400240125019502946946F3
:1011300030460394FFF778F8032000900294694644
:10114000019503943846FFF76FF8022000900920BC
:101150000294694601950394C006FFF765F807B04D
:10116000F0BD0000001002400004004800140048D8
:1011700010B50D480B49016000214160816001619B
:10118000416181610722016212024162C260816293
:1011900007220163C2624163FFF7EEFC002800D022
:1011A000FEE710BD003001402400002010B50121F1
:1011B000124886B08907016000242F2184604160B5
:1011C0000461611E8461C160FFF746FE002800D003
:1011D000FEE701200003009069460848FFF774FE0F
:1011E000002800D0FEE7049404A904480594FFF702
:1011F0000FFE002800D0FEE706B010BD88000020DA
:1012000010B50C480A490160E12149024160002102
:101210008160C16001618161C16108220162426136
:101220004162FFF7AFF8002800D0FEE710BD0000D4
:1012300000440040C8000020704700008307FF22E0
:10124000DB0E9A408907090E994000280BDA000747
:10125000000F0838830808489B001818C369934397
:101260000B43C3617047830804489B001B18186830
:10127000904308431860704700ED00E000E400E090
:101280007047000010B50248FFF70CFC10BD0000CD
:101290002400002010B50168C968026C1180016C3F
:1012A000891C016401464031CA88521ECA80C9881F
:1012B000002909D101684A6840239A434A60C18FD6
:1012C000002901D100F06EF810BD10B50146403183
:1012D000CC880368026C012C11D9DB681380026C86
:1012E000921C0264CA88921ECA80CA88012A0DD143
:1012F00002685368012424032343536006E01C7BE7
:10130000531C03641470CA88521ECA80C9880029FD
:1013100009D101684A6860239A434A60C18F002955
:1013200001D100F03FF810BD10B5816B026809884B
:10133000D160816B891C8163C18F491EC187C18FB8
:1013400000290AD101684A6880239A434A604621ED
:10135000095A002901D100F025F810BD10B5C38F3E
:101360000268816B022B07D30988D160816B891CCD
:101370008163C18F891E05E04B1C8363097811735B
:10138000C18F491EC187C18F00290AD101684A68EF
:1013900080239A434A604621095A002901D100F06E
:1013A00001F810BD70B50446FEF7E6FF024620685E
:1013B00041682025A94341606421204600F024F8BB
:1013C000002802D0206E28432066226E204601218C
:1013D0004030002A04D041772046FFF761FB70BD02
:1013E000427F4177042A204602D0FFF7B7FC70BD48
:1013F000FFF748FC70BD10B5406A0021462211522B
:10140000C187FFF74DFB10BDF8B50F460B461546DB
:101410000092032104460022C90200F01BF8202696
:10142000002812D13B46002280212046009500F082
:101430005CF8002809D103213B46002249022046DE
:10144000009500F007F8002803D0206E3043206696
:101450000320F8BDF8B51D4617460E4604463DE08C
:10146000032149028E4205D1002F03D1017B68463A
:1014700001700078681C31D0002D05D0FEF77CFF8C
:101480000699401AA84229D320684168E022914376
:1014900041606068C11FFD390CD10121A068C903FA
:1014A000884202D04911884204D120680168402254
:1014B000914301600120A16A4003814207D1216864
:1014C0000A6882430A6021680A6802430A600120B0
:1014D00040346077002020770320F8BD20688168C1
:1014E0003140B942BCD10020F8BDF8B51D461746C1
:1014F0000E46044633E0681C31D0002D05D0FEF7BF
:101500003BFF0699401AA84229D320684168E0228F
:10151000914341606068C11FFD390CD10121A06871
:10152000C903884202D04911884204D12068016869
:101530004022914301600120A16A4003814207D10A
:1015400021680A6882430A6021680A6802430A60C7
:10155000012040346077002020770320F8BD206808
:1015600081683046884304D00020B842C3D10020AF
:10157000F8BD0120F9E7704710B5FEF73FFFFFF710
:1015800043FC10BD10B592B0202000900120002433
:10159000089009946846FFF797F8002800D0FEE706
:1015A00007200D9003200E900F94012110940DA898
:1015B000FEF786FF002800D0FEE7FFF72BF87D211D
:1015C000C900FEF7B3FDFFF707FC0420FFF7F6FBA9
:1015D00000221146501EFEF76FFF12B010BD000032
:1015E000134801680122114301604168114A11400A
:1015F00041600168104A11400160016801229204B3
:101600009143016041683F22120491434160C16AE5
:1016100009090901C162016BFF22D43291430163C0
:10162000416B490849004163002181607047000017
:10163000001002400CB8FF08FFFFF6FEF0B502688C
:101640001A4B0124A4071A4D984203D0A04201D09E
:10165000A84203D17026B2434E683243154E164F4E
:1016600098420AD0A04208D0A84206D0134CA0420B
:1016700003D0B04201D0B84204D103242402A243D3
:10168000CC6822438024A2434C69224302608A68CA
:10169000C2620A688262984203D0B04201D0B84266
:1016A00001D10969016301214161F0BD002C0140B4
:1016B0000004004000440140004801400020004078
:1016C00030B58468FF252D021B021343AC430B4346
:1016D0002343836030BD826870239A430A43072105
:1016E0000A438260704730B5036A046A6408640084
:1016F00004628469F025AC43120122430A24A34307
:101700000B438261036230BD30B5036A1024A343EA
:1017100003628469036A0F252D031203AC4322433D
:10172000A024A343090119438261016230BD10B5B1
:10173000818CC90707D001684A6801235B049A437A
:10174000836A1A434A60818C890707D501684A6811
:1017500001231B049A43C36A1A434A60818C4907D8
:1017600007D501684A6801239B049A43036B1A4317
:101770004A60818C090707D501684A680123DB03A9
:101780009A43436B1A434A60818CC90607D50268A5
:10179000916801231B039943836B19439160818CEA
:1017A000890607D501688A6801235B039A43C36BE6
:1017B0001A438A60818C490612D503685A68012150
:1017C0000905046C8A4322435A60026C8A4207D19D
:1017D0000268516803235B059943436C19435160C8
:1017E000818C090607D501684A680123DB04806CF7
:1017F0009A4302434A6010BDF8B500260446C66607
:10180000FEF7BAFD05461449206888421DD10068DC
:10181000124F000709D501212B4600224905204619
:10182000009700F0B5F800280DD120680068400747
:101830000BD501212B46002289052046009700F098
:10184000A7F8002801D00320F8BD20206034607282
:10185000A07226720020F8BD00380140FFFFFF0192
:10186000F8B504462369A268E5691A436369102044
:101870002B43002125681A432B680E463E4F3B4000
:1018800013432B6023685A6803252D03AA43E56898
:101890002A435A60236AA26925681A43AB680B275A
:1018A0003F02BB431343AB60344A2568954210D1D5
:1018B000334A126B9207920F0ED0012A05D0022AEA
:1018C00005D0032A09D1022007E0042005E0082002
:1018D00003E02C4A954200D100200122E369D203A3
:1018E000934224D100280CD002280DD0042813D014
:1018F000082817D001260A0912010807400F1043D3
:101900002FE0FEF78DFE09E061681F4A4808801845
:10191000FEF70CFC81B2EEE7FEF792FE6168400034
:101920004A08F4E76168012248081204EFE700283A
:1019300008D0022809D004280BD0082814D001268A
:101940003046F8BDFEF76CFE05E061680F4A4808B6
:101950000CE0FEF775FE61684A088018FEF7E6FBAA
:1019600080B22168C860EBE7616848088018FEF71C
:10197000DDFB80B2E860E3E7F369FFEF0038014088
:1019800000100240004400400024F40000127A00DD
:10199000FFB581B017460E4604460A9D1DE0681C3F
:1019A0001BD0002D05D0FEF7E7FC0499401AA84291
:1019B00013D920680168FF22A13291430160206899
:1019C0008168490849008160202060346072A072FB
:1019D00000202072032005B0F0BD2068C1693046A8
:1019E000884304D00020B842D9D00020F3E701207A
:1019F000F9E700000FB410B503A9044B044A02989C
:101A000000F018F810BC08BC04B01847191C0008F6
:101A10001800002002E008C8121F08C1002AFAD1ED
:101A200070477047002001E001C1121F002AFBD15E
:101A300070470000FFB58DB00F460546002606E052
:101A400025280AD0109A0F9990476D1C761C28788B
:101A50000028F5D1304611B0F0BD00240121674ABD
:101A6000009400E004436D1C2B780846203B98400E
:101A70001042F7D128782E2815D104200443687825
:101A80006D1C2A280AD101CF6D1C00900BE0009933
:101A90000A225143303940186D1C009028780146C5
:101AA00030390929F3D92878692843D006DC002881
:101AB000D0D063280BD0642804D13BE073280FD02A
:101AC00075284CD0109A0F999047761C94E038787E
:101AD000694608720020487202A80190012003E0C4
:101AE000386801900020C0433F1D61070CD50024D9
:101AF00000E0641C00998C420FDA8442F9DB019902
:101B0000095D0029F5D108E0002400E0641C84424E
:101B1000FCDB0199095D0029F8D1361907E001982D
:101B200001990078491C0191109A0F999047641E01
:101B3000F5D261E00A20019001CF002802DA40428C
:101B40002D2102E0210504D52B216A4611720121C5
:101B500003E0E10701D02021F7E70C9104E00A201F
:101B6000019001CF00210C910BA90B9108E0019984
:101B7000FEF7DCFA0A460B993032491E0B910A70C7
:101B80000028F4D10B9803A9081A203001906007AF
:101B900001D5009801E0012000900199884203DD01
:101BA00001460198081A00E000200024009006E099
:101BB00002A8109A005D0F999047641C761C0C983F
:101BC0008442F5DB04E0109A30200F999047761C90
:101BD0000099481E00900029F5DC08E00B980B994D
:101BE0000078491C0B91109A0F999047761C019927
:101BF000481E01900029F1DC6D1C28E7092801002E
:101C00000902014308B2704710B502490860FFF7A6
:101C10004FF910BD0000002013B50A2301226946C8
:101C20000248FFF7EDF900981CBD0000C800002035
:101C300070B54406C109640EC901102C1AD20E4DAC
:101C4000285D002816D0002910D0022812D1032CBC
:101C500002D0062C08D104E00748183800F046F8F6
:101C600002E0064800F013F9012002E0012801D14A
:101C70000220285570BD00009001002008000020BF
:101C800070B515460E46044600F022F8002801D033
:101C9000012070BD2178606846542178A0684554C1
:101CA0002078A178401CFEF741FA2170002070BD19
:101CB00070B50D4604468170284600F07FF86060DC
:101CC000284600F07BF8A060204600F00FF870BDB9
:101CD00010B5044681780078401CFEF727FA60783A
:101CE000814201D1012010BD002010BD10B5044675
:101CF000002020706070A1786068FEF746FAA17835
:101D0000A068FEF742FA10BD1CB5FEF77FFBFFF797
:101D100039FCFFF7DBF9FFF72BFAFFF771FAFFF752
:101D200045FA012000901B4C0190002322781A49AB
:101D30001AA0FFF75FFE1E48FFF766FF00F01EF9CE
:101D40001B481021F030FFF7B3FF1021201D00F0D9
:101D500084F817482021B030FEF717FA144A1448C7
:101D60002023D032D11A6438FEF78EFF02201149A9
:101D700000900B460122104800F017F96078002807
:101D800001D000F04DF90C4800F006F90120FEF7F3
:101D90003DFAF3E704000020A020000825730A7232
:101DA00065762564207625642E25642E25640A0038
:101DB0008800002000140048A0010020F0B50B307E
:101DC000C108C900144F0026144A0FE003688B4273
:101DD0000BD38B4205D95C1A4318456830C3083BC6
:101DE00000E04368136002C004E0021D1068002890
:101DF000ECD13046002803D13868002801D00020FB
:101E0000F0BD064A06481060064A121AD208D200EF
:101E100044C001203860D7E7200000201C000020CB
:101E2000B4010020B003002070B50D46044600F058
:101E300020F8002801D0012070BD20780C226168B4
:101E4000504308182946FEF787F92078A178401CEE
:101E5000FEF76CF92170002070BD10B5044681704A
:101E60000C204843FFF7AAFF6060204600F00FF8FF
:101E700010BD10B5044681780078401CFEF756F975
:101E80006078814201D1012010BD002010BD10B545
:101E900000210170417081780C2251434068FEF7A7
:101EA00074F910BD70B50446807809280FD0082851
:101EB0002AD001282FD0022808D10325605D0028F0
:101EC00004D0FFF7B5FE6D1C202DF7DB70BD6179E6
:101ED0002079FFF795FE274A1080E179A079FFF776
:101EE0008FFE5080207A234940429080607B907121
:101EF000A07B1072E07BD071207C5072607C90726D
:101F00001D48FFF791FF70BD1A48A27921790C385E
:101F1000FFF7B6FE70BD174820214C38FEF735F9A3
:101F20001448CD214C38017061784170802585704E
:101F30000221C17010490822091F0978017100218E
:101F4000417101218171C171002104465834635CE3
:101F5000002B0BD0022B02D0012B02D004E08154C5
:101F600002E00B462B438354521CD2B2491C102969
:101F7000EDDB70BD84010020080000200548002131
:101F8000C16601674167816701216C30C170817151
:101F9000704700002401002010B5817B491E89078D
:101FA000890F817300F010F810BD10B5029C01601C
:101FB00082808360848100F001F810BD10B500219B
:101FC000817300F001F810BD10B50446807B134901
:101FD000085C002810D0012812D0022814D0032851
:101FE00009D1A18801222068FEF7C0F9A189012248
:101FF000A068FEF7BBF910BDA1880022206806E0AA
:10200000A18800222068EFE7A18801222068FEF75E
:10201000ADF9A1890022A068EBE700009C20000830
:1020200012A0FFF7E7FC144D0024295D13A0FFF771
:10203000E1FC641C202CF8DB11A0FFF7DBFC002482
:10204000FF25134E013529463046FEF78BF96420F3
:10205000FEF7DCF8641C642CF5DBBFF34F8F0E49F0
:102060000C48C860BFF34F8F00BFFDE753504920B5
:102070004552524F520A00005801002025642000AA
:102080000A7265626F6F74696E672E2E2E0A0000E9
:10209000000400480400FA0500ED00E0000103021E
:1020A0005553423456432050726F746F636F6C20E7
:1020B000426F6172640A5175616420656E636F647A
:1020C000657220746573740A64656B754E756B6513
:1020D0006D203230323200000000000000000001AC
:1020E00002030406070809000000000102030400BF
:1020F000102100080000002024000000141A00082D
:1021000034210008240000208C070000241A000855
:1021100000000000000000000000000000000000BF
:102120000000000000127A00000000000000000023
:0421300000000000AB
:04000005080000C12E
:00000001FF

View File

@@ -3,7 +3,7 @@
<title>Static Call Graph - [my_adb\my_adb.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image my_adb\my_adb.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Thu Feb 17 21:06:00 2022
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Thu Feb 17 21:46:46 2022
<BR><P>
<H3>Maximum Stack Usage = 180 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
@@ -68,7 +68,7 @@ Global Symbols
<P><STRONG><a name="[23]"></a>__main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f042x6.o(.text)
</UL>
<P><STRONG><a name="[7c]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
<P><STRONG><a name="[80]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
<P><STRONG><a name="[2a]"></a>_main_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Calls]<UL><LI><a href="#[2b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
@@ -78,15 +78,15 @@ Global Symbols
<BR><BR>[Called By]<UL><LI><a href="#[2b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL>
<P><STRONG><a name="[7d]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
<P><STRONG><a name="[81]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
<P><STRONG><a name="[7e]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
<P><STRONG><a name="[82]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
<P><STRONG><a name="[7f]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
<P><STRONG><a name="[83]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
<P><STRONG><a name="[80]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D))
<P><STRONG><a name="[84]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D))
<P><STRONG><a name="[81]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F))
<P><STRONG><a name="[85]"></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, 38 bytes, Stack size 0 bytes, startup_stm32f042x6.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f042x6.o(RESET)
@@ -173,14 +173,14 @@ Global Symbols
<P><STRONG><a name="[6]"></a>WWDG_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f042x6.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f042x6.o(RESET)
</UL>
<P><STRONG><a name="[82]"></a>__aeabi_uidiv</STRONG> (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)
<P><STRONG><a name="[86]"></a>__aeabi_uidiv</STRONG> (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)
<P><STRONG><a name="[3b]"></a>__aeabi_uidivmod</STRONG> (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = __aeabi_uidivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_is_full
<LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_add
<LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_is_full
<LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_add
<LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_is_full
<LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_add
<LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
@@ -189,22 +189,22 @@ Global Symbols
<LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
</UL>
<P><STRONG><a name="[79]"></a>__aeabi_memcpy</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_add
<P><STRONG><a name="[7b]"></a>__aeabi_memcpy</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_add
</UL>
<P><STRONG><a name="[83]"></a>__aeabi_memcpy4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED)
<P><STRONG><a name="[87]"></a>__aeabi_memcpy4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED)
<P><STRONG><a name="[84]"></a>__aeabi_memcpy8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED)
<P><STRONG><a name="[88]"></a>__aeabi_memcpy8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED)
<P><STRONG><a name="[2d]"></a>__aeabi_memset</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, memseta.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[2e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_memset$wrapper
<LI><a href="#[2c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr
</UL>
<P><STRONG><a name="[85]"></a>__aeabi_memset4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
<P><STRONG><a name="[89]"></a>__aeabi_memset4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
<P><STRONG><a name="[86]"></a>__aeabi_memset8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
<P><STRONG><a name="[8a]"></a>__aeabi_memset8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
<P><STRONG><a name="[2c]"></a>__aeabi_memclr</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, memseta.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[2d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memset
@@ -218,7 +218,7 @@ Global Symbols
<LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[87]"></a>__aeabi_memclr8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
<P><STRONG><a name="[8b]"></a>__aeabi_memclr8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
<P><STRONG><a name="[2e]"></a>_memset$wrapper</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, memseta.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[2d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memset
@@ -230,7 +230,7 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[2a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_main_scatterload
</UL>
<P><STRONG><a name="[88]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
<P><STRONG><a name="[8c]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
<P><STRONG><a name="[43]"></a>HAL_DMA_Abort_IT</STRONG> (Thumb, 72 bytes, Stack size 16 bytes, stm32f0xx_hal_dma.o(i.HAL_DMA_Abort_IT))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = HAL_DMA_Abort_IT
@@ -243,7 +243,8 @@ Global Symbols
</UL>
<BR>[Calls]<UL><LI><a href="#[31]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_error_dump_reboot
<BR>[Called By]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_error_dump_reboot
<LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[47]"></a>HAL_GPIO_Init</STRONG> (Thumb, 294 bytes, Stack size 24 bytes, stm32f0xx_hal_gpio.o(i.HAL_GPIO_Init))
@@ -254,13 +255,14 @@ Global Symbols
<LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_GPIO_Init
</UL>
<P><STRONG><a name="[7b]"></a>HAL_GPIO_TogglePin</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f0xx_hal_gpio.o(i.HAL_GPIO_TogglePin))
<BR><BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_error_dump_reboot
<P><STRONG><a name="[7f]"></a>HAL_GPIO_TogglePin</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f0xx_hal_gpio.o(i.HAL_GPIO_TogglePin))
<BR><BR>[Called By]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_error_dump_reboot
</UL>
<P><STRONG><a name="[4a]"></a>HAL_GPIO_WritePin</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f0xx_hal_gpio.o(i.HAL_GPIO_WritePin))
<BR><BR>[Called By]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TxRxCpltCallback
<LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_GPIO_Init
<LI><a href="#[7d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;quad_write
</UL>
<P><STRONG><a name="[31]"></a>HAL_GetTick</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f0xx_hal.o(i.HAL_GetTick))
@@ -418,8 +420,8 @@ Global Symbols
<BR><BR>[Stack]<UL><LI>Max Depth = 68<LI>Call Chain = HAL_SPI_TxRxCpltCallback &rArr; parse_spi_buf &rArr; mouse_buf_add &rArr; mouse_buf_is_full &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TransmitReceive_IT
<LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
<LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_spi_buf
<LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
</UL>
<BR>[Called By]<UL><LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
</UL>
@@ -600,22 +602,22 @@ Global Symbols
<BR><BR>[Calls]<UL><LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
</UL>
<P><STRONG><a name="[89]"></a>__1printf$3</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printf3.o(i.__0printf$3), UNUSED)
<P><STRONG><a name="[8d]"></a>__1printf$3</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printf3.o(i.__0printf$3), UNUSED)
<P><STRONG><a name="[72]"></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;spi_error_dump_reboot
<BR>[Called By]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_error_dump_reboot
<LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[8a]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
<P><STRONG><a name="[8e]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
<P><STRONG><a name="[8b]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
<P><STRONG><a name="[8f]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
<P><STRONG><a name="[8c]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
<P><STRONG><a name="[90]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
<P><STRONG><a name="[7a]"></a>byte_to_int16_t</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, main.o(i.byte_to_int16_t))
<P><STRONG><a name="[7c]"></a>byte_to_int16_t</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, main.o(i.byte_to_int16_t))
<BR><BR>[Called By]<UL><LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_spi_buf
</UL>
@@ -678,18 +680,21 @@ Global Symbols
<LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_init
</UL>
<P><STRONG><a name="[21]"></a>main</STRONG> (Thumb, 110 bytes, Stack size 16 bytes, main.o(i.main))
<P><STRONG><a name="[21]"></a>main</STRONG> (Thumb, 140 bytes, Stack size 16 bytes, main.o(i.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 180<LI>Call Chain = main &rArr; SystemClock_Config &rArr; HAL_RCC_ClockConfig &rArr; HAL_RCC_GetSysClockFreq &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TransmitReceive_IT
<LI><a href="#[37]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Init
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_error_dump_reboot
<LI><a href="#[30]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Delay
<LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_error_dump_reboot
<LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;protocol_status_lookup_init
<LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_USART2_UART_Init
<LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_TIM2_Init
<LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_SPI1_Init
<LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_GPIO_Init
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;quad_init
<LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;quad_decrement
<LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_init
<LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_init
<LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_us_init
@@ -705,11 +710,11 @@ Global Symbols
<LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_init
</UL>
<P><STRONG><a name="[77]"></a>mouse_buf_add</STRONG> (Thumb, 50 bytes, Stack size 16 bytes, helpers.o(i.mouse_buf_add))
<P><STRONG><a name="[79]"></a>mouse_buf_add</STRONG> (Thumb, 50 bytes, Stack size 16 bytes, helpers.o(i.mouse_buf_add))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = mouse_buf_add &rArr; mouse_buf_is_full &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_is_full
<LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<BR>[Calls]<UL><LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_is_full
<LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_spi_buf
@@ -724,12 +729,12 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[78]"></a>mouse_buf_is_full</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, helpers.o(i.mouse_buf_is_full))
<P><STRONG><a name="[7a]"></a>mouse_buf_is_full</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, helpers.o(i.mouse_buf_is_full))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = mouse_buf_is_full &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_add
<BR>[Called By]<UL><LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_add
</UL>
<P><STRONG><a name="[6d]"></a>mouse_buf_reset</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, helpers.o(i.mouse_buf_reset))
@@ -745,8 +750,8 @@ Global Symbols
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = parse_spi_buf &rArr; mouse_buf_add &rArr; mouse_buf_is_full &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;handle_protocol_switch
<LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;byte_to_int16_t
<LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_add
<LI><a href="#[7c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;byte_to_int16_t
<LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_add
<LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_add
<LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
</UL>
@@ -757,10 +762,43 @@ Global Symbols
<BR><BR>[Called By]<UL><LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[76]"></a>spi_error_dump_reboot</STRONG> (Thumb, 76 bytes, Stack size 0 bytes, main.o(i.spi_error_dump_reboot))
<P><STRONG><a name="[78]"></a>quad_decrement</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, quad_encoder.o(i.quad_decrement))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = quad_decrement &rArr; quad_write
</UL>
<BR>[Calls]<UL><LI><a href="#[7d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;quad_write
</UL>
<BR>[Called By]<UL><LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[76]"></a>quad_init</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, quad_encoder.o(i.quad_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = quad_init &rArr; quad_reset &rArr; quad_write
</UL>
<BR>[Calls]<UL><LI><a href="#[7e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;quad_reset
</UL>
<BR>[Called By]<UL><LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[7e]"></a>quad_reset</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, quad_encoder.o(i.quad_reset))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = quad_reset &rArr; quad_write
</UL>
<BR>[Calls]<UL><LI><a href="#[7d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;quad_write
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;quad_init
</UL>
<P><STRONG><a name="[7d]"></a>quad_write</STRONG> (Thumb, 82 bytes, Stack size 8 bytes, quad_encoder.o(i.quad_write))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = quad_write
</UL>
<BR>[Calls]<UL><LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
</UL>
<BR>[Called By]<UL><LI><a href="#[7e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;quad_reset
<LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;quad_decrement
</UL>
<P><STRONG><a name="[77]"></a>spi_error_dump_reboot</STRONG> (Thumb, 76 bytes, Stack size 0 bytes, main.o(i.spi_error_dump_reboot))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = spi_error_dump_reboot &rArr; __2printf
</UL>
<BR>[Calls]<UL><LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_TogglePin
<BR>[Calls]<UL><LI><a href="#[7f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_TogglePin
<LI><a href="#[30]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Delay
<LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
@@ -770,11 +808,11 @@ Global Symbols
<H3>
Local Symbols
</H3>
<P><STRONG><a name="[59]"></a>MX_GPIO_Init</STRONG> (Thumb, 106 bytes, Stack size 48 bytes, main.o(i.MX_GPIO_Init))
<P><STRONG><a name="[59]"></a>MX_GPIO_Init</STRONG> (Thumb, 150 bytes, Stack size 48 bytes, main.o(i.MX_GPIO_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = MX_GPIO_Init &rArr; HAL_GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
<LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_Init
<BR>[Calls]<UL><LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_Init
<LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
</UL>
<BR>[Called By]<UL><LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

View File

@@ -2,10 +2,10 @@
"my_adb\startup_stm32f042x6.o"
"my_adb\delay_us.o"
"my_adb\helpers.o"
"my_adb\quad_encoder.o"
"my_adb\main.o"
"my_adb\stm32f0xx_it.o"
"my_adb\stm32f0xx_hal_msp.o"
"my_adb\quad_encoder.o"
"my_adb\stm32f0xx_hal_spi.o"
"my_adb\stm32f0xx_hal_spi_ex.o"
"my_adb\stm32f0xx_hal_tim.o"

View File

@@ -34,6 +34,12 @@ Section Cross References
helpers.o(i.mouse_buf_is_full) refers to uidiv.o(.text) for __aeabi_uidivmod
helpers.o(i.mouse_buf_pop) refers to uidiv.o(.text) for __aeabi_uidivmod
helpers.o(i.mouse_buf_reset) refers to memseta.o(.text) for __aeabi_memclr
quad_encoder.o(i.quad_decrement) refers to quad_encoder.o(i.quad_write) for quad_write
quad_encoder.o(i.quad_increment) refers to quad_encoder.o(i.quad_write) for quad_write
quad_encoder.o(i.quad_init) refers to quad_encoder.o(i.quad_reset) for quad_reset
quad_encoder.o(i.quad_reset) refers to quad_encoder.o(i.quad_write) for quad_write
quad_encoder.o(i.quad_write) refers to stm32f0xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin
quad_encoder.o(i.quad_write) refers to quad_encoder.o(.constdata) for .constdata
main.o(i.HAL_SPI_TxRxCpltCallback) refers to stm32f0xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin
main.o(i.HAL_SPI_TxRxCpltCallback) refers to main.o(i.parse_spi_buf) for parse_spi_buf
main.o(i.HAL_SPI_TxRxCpltCallback) refers to stm32f0xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT) for HAL_SPI_TransmitReceive_IT
@@ -76,7 +82,10 @@ Section Cross References
main.o(i.main) refers to helpers.o(i.mouse_buf_init) for mouse_buf_init
main.o(i.main) refers to memseta.o(.text) for __aeabi_memclr4
main.o(i.main) refers to stm32f0xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT) for HAL_SPI_TransmitReceive_IT
main.o(i.main) refers to quad_encoder.o(i.quad_init) for quad_init
main.o(i.main) refers to main.o(i.spi_error_dump_reboot) for spi_error_dump_reboot
main.o(i.main) refers to quad_encoder.o(i.quad_decrement) for quad_decrement
main.o(i.main) refers to stm32f0xx_hal.o(i.HAL_Delay) for HAL_Delay
main.o(i.main) refers to main.o(.data) for .data
main.o(i.main) refers to main.o(.constdata) for .constdata
main.o(i.main) refers to main.o(.bss) for .bss
@@ -1036,6 +1045,9 @@ Removing Unused input sections from the image.
Removing helpers.o(i.mouse_buf_is_empty), (16 bytes).
Removing helpers.o(i.mouse_buf_peek), (22 bytes).
Removing helpers.o(i.mouse_buf_pop), (24 bytes).
Removing quad_encoder.o(.rev16_text), (4 bytes).
Removing quad_encoder.o(.revsh_text), (4 bytes).
Removing quad_encoder.o(i.quad_increment), (18 bytes).
Removing main.o(.rev16_text), (4 bytes).
Removing main.o(.revsh_text), (4 bytes).
Removing main.o(i._Error_Handler), (2 bytes).
@@ -1052,8 +1064,6 @@ Removing Unused input sections from the image.
Removing stm32f0xx_hal_msp.o(i.HAL_SPI_MspDeInit), (48 bytes).
Removing stm32f0xx_hal_msp.o(i.HAL_TIM_Base_MspDeInit), (28 bytes).
Removing stm32f0xx_hal_msp.o(i.HAL_UART_MspDeInit), (44 bytes).
Removing quad_encoder.o(.rev16_text), (4 bytes).
Removing quad_encoder.o(.revsh_text), (4 bytes).
Removing stm32f0xx_hal_spi.o(.rev16_text), (4 bytes).
Removing stm32f0xx_hal_spi.o(.revsh_text), (4 bytes).
Removing stm32f0xx_hal_spi.o(i.HAL_SPI_Abort), (360 bytes).
@@ -1521,7 +1531,7 @@ Removing Unused input sections from the image.
Removing stm32f0xx_hal_tim.o(i.__ARM_common_switch8), (26 bytes).
Removing depilogue.o(i.__ARM_clz), (46 bytes).
496 unused section(s) (total 34900 bytes) removed from the image.
497 unused section(s) (total 34918 bytes) removed from the image.
==============================================================================
@@ -1553,44 +1563,44 @@ Image Symbol Table
../Src/main.c 0x00000000 Number 0 main.o ABSOLUTE
../Src/stm32f0xx_hal_msp.c 0x00000000 Number 0 stm32f0xx_hal_msp.o ABSOLUTE
../Src/stm32f0xx_it.c 0x00000000 Number 0 stm32f0xx_it.o ABSOLUTE
../clib/microlib/division.c 0x00000000 Number 0 uidiv.o ABSOLUTE
../clib/microlib/division.c 0x00000000 Number 0 uldiv.o ABSOLUTE
../clib/microlib/division.c 0x00000000 Number 0 uidiv.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.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 entry2.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry.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 entry5.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE
../clib/microlib/malloc/malloc.c 0x00000000 Number 0 malloca.o ABSOLUTE
../clib/microlib/malloc/malloc.c 0x00000000 Number 0 mallocra.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 printf0.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf1.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf3.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf2.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 printf4.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf3.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf2.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf1.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printfb.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf0.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf6.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
@@ -1685,78 +1695,83 @@ Image Symbol Table
i.HAL_UART_Transmit 0x08001000 Section 0 stm32f0xx_hal_uart.o(i.HAL_UART_Transmit)
i.HardFault_Handler 0x080010c8 Section 0 stm32f0xx_it.o(i.HardFault_Handler)
i.MX_GPIO_Init 0x080010cc Section 0 main.o(i.MX_GPIO_Init)
MX_GPIO_Init 0x080010cd Thumb Code 106 main.o(i.MX_GPIO_Init)
i.MX_SPI1_Init 0x08001140 Section 0 main.o(i.MX_SPI1_Init)
MX_SPI1_Init 0x08001141 Thumb Code 52 main.o(i.MX_SPI1_Init)
i.MX_TIM2_Init 0x0800117c Section 0 main.o(i.MX_TIM2_Init)
MX_TIM2_Init 0x0800117d Thumb Code 80 main.o(i.MX_TIM2_Init)
i.MX_USART2_UART_Init 0x080011d0 Section 0 main.o(i.MX_USART2_UART_Init)
MX_USART2_UART_Init 0x080011d1 Thumb Code 46 main.o(i.MX_USART2_UART_Init)
i.NMI_Handler 0x08001208 Section 0 stm32f0xx_it.o(i.NMI_Handler)
i.NVIC_SetPriority 0x0800120c Section 0 stm32f0xx_hal_cortex.o(i.NVIC_SetPriority)
NVIC_SetPriority 0x0800120d Thumb Code 60 stm32f0xx_hal_cortex.o(i.NVIC_SetPriority)
i.PendSV_Handler 0x08001250 Section 0 stm32f0xx_it.o(i.PendSV_Handler)
i.SPI1_IRQHandler 0x08001254 Section 0 stm32f0xx_it.o(i.SPI1_IRQHandler)
i.SPI_2linesRxISR_16BIT 0x08001264 Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_16BIT)
SPI_2linesRxISR_16BIT 0x08001265 Thumb Code 54 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_16BIT)
i.SPI_2linesRxISR_8BIT 0x0800129a Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_8BIT)
SPI_2linesRxISR_8BIT 0x0800129b Thumb Code 94 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_8BIT)
i.SPI_2linesTxISR_16BIT 0x080012f8 Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_16BIT)
SPI_2linesTxISR_16BIT 0x080012f9 Thumb Code 52 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_16BIT)
i.SPI_2linesTxISR_8BIT 0x0800132c Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_8BIT)
SPI_2linesTxISR_8BIT 0x0800132d Thumb Code 72 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_8BIT)
i.SPI_CloseRxTx_ISR 0x08001374 Section 0 stm32f0xx_hal_spi.o(i.SPI_CloseRxTx_ISR)
SPI_CloseRxTx_ISR 0x08001375 Thumb Code 82 stm32f0xx_hal_spi.o(i.SPI_CloseRxTx_ISR)
i.SPI_DMAAbortOnError 0x080013c6 Section 0 stm32f0xx_hal_spi.o(i.SPI_DMAAbortOnError)
SPI_DMAAbortOnError 0x080013c7 Thumb Code 18 stm32f0xx_hal_spi.o(i.SPI_DMAAbortOnError)
i.SPI_EndRxTxTransaction 0x080013d8 Section 0 stm32f0xx_hal_spi.o(i.SPI_EndRxTxTransaction)
SPI_EndRxTxTransaction 0x080013d9 Thumb Code 76 stm32f0xx_hal_spi.o(i.SPI_EndRxTxTransaction)
i.SPI_WaitFifoStateUntilTimeout 0x08001424 Section 0 stm32f0xx_hal_spi.o(i.SPI_WaitFifoStateUntilTimeout)
SPI_WaitFifoStateUntilTimeout 0x08001425 Thumb Code 150 stm32f0xx_hal_spi.o(i.SPI_WaitFifoStateUntilTimeout)
i.SPI_WaitFlagStateUntilTimeout 0x080014ba Section 0 stm32f0xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout)
SPI_WaitFlagStateUntilTimeout 0x080014bb Thumb Code 140 stm32f0xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout)
i.SVC_Handler 0x08001546 Section 0 stm32f0xx_it.o(i.SVC_Handler)
i.SysTick_Handler 0x08001548 Section 0 stm32f0xx_it.o(i.SysTick_Handler)
i.SystemClock_Config 0x08001554 Section 0 main.o(i.SystemClock_Config)
i.SystemInit 0x080015b0 Section 0 system_stm32f0xx.o(i.SystemInit)
i.TIM_Base_SetConfig 0x0800160c Section 0 stm32f0xx_hal_tim.o(i.TIM_Base_SetConfig)
i.TIM_ETR_SetConfig 0x08001690 Section 0 stm32f0xx_hal_tim.o(i.TIM_ETR_SetConfig)
i.TIM_ITRx_SetConfig 0x080016a6 Section 0 stm32f0xx_hal_tim.o(i.TIM_ITRx_SetConfig)
TIM_ITRx_SetConfig 0x080016a7 Thumb Code 16 stm32f0xx_hal_tim.o(i.TIM_ITRx_SetConfig)
i.TIM_TI1_ConfigInputStage 0x080016b6 Section 0 stm32f0xx_hal_tim.o(i.TIM_TI1_ConfigInputStage)
TIM_TI1_ConfigInputStage 0x080016b7 Thumb Code 34 stm32f0xx_hal_tim.o(i.TIM_TI1_ConfigInputStage)
i.TIM_TI2_ConfigInputStage 0x080016d8 Section 0 stm32f0xx_hal_tim.o(i.TIM_TI2_ConfigInputStage)
TIM_TI2_ConfigInputStage 0x080016d9 Thumb Code 38 stm32f0xx_hal_tim.o(i.TIM_TI2_ConfigInputStage)
i.UART_AdvFeatureConfig 0x080016fe Section 0 stm32f0xx_hal_uart.o(i.UART_AdvFeatureConfig)
i.UART_CheckIdleState 0x080017c8 Section 0 stm32f0xx_hal_uart.o(i.UART_CheckIdleState)
i.UART_SetConfig 0x08001830 Section 0 stm32f0xx_hal_uart.o(i.UART_SetConfig)
i.UART_WaitOnFlagUntilTimeout 0x08001960 Section 0 stm32f0xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout)
i.__0printf$3 0x080019c4 Section 0 printf3.o(i.__0printf$3)
i.__scatterload_copy 0x080019e4 Section 14 handlers.o(i.__scatterload_copy)
i.__scatterload_null 0x080019f2 Section 2 handlers.o(i.__scatterload_null)
i.__scatterload_zeroinit 0x080019f4 Section 14 handlers.o(i.__scatterload_zeroinit)
i._printf_core 0x08001a04 Section 0 printf3.o(i._printf_core)
_printf_core 0x08001a05 Thumb Code 456 printf3.o(i._printf_core)
i.byte_to_int16_t 0x08001bd0 Section 0 main.o(i.byte_to_int16_t)
i.delay_us_init 0x08001bd8 Section 0 delay_us.o(i.delay_us_init)
i.fputc 0x08001be8 Section 0 main.o(i.fputc)
i.handle_protocol_switch 0x08001c00 Section 0 main.o(i.handle_protocol_switch)
i.kb_buf_add 0x08001c50 Section 0 helpers.o(i.kb_buf_add)
i.kb_buf_init 0x08001c80 Section 0 helpers.o(i.kb_buf_init)
i.kb_buf_is_full 0x08001ca0 Section 0 helpers.o(i.kb_buf_is_full)
i.kb_buf_reset 0x08001cbc Section 0 helpers.o(i.kb_buf_reset)
i.main 0x08001cd8 Section 0 main.o(i.main)
i.malloc 0x08001d68 Section 0 malloc.o(i.malloc)
i.mouse_buf_add 0x08001dd4 Section 0 helpers.o(i.mouse_buf_add)
i.mouse_buf_init 0x08001e06 Section 0 helpers.o(i.mouse_buf_init)
i.mouse_buf_is_full 0x08001e1e Section 0 helpers.o(i.mouse_buf_is_full)
i.mouse_buf_reset 0x08001e3a Section 0 helpers.o(i.mouse_buf_reset)
i.parse_spi_buf 0x08001e50 Section 0 main.o(i.parse_spi_buf)
i.protocol_status_lookup_init 0x08001f28 Section 0 main.o(i.protocol_status_lookup_init)
i.spi_error_dump_reboot 0x08001f44 Section 0 main.o(i.spi_error_dump_reboot)
.constdata 0x08001fc0 Section 55 main.o(.constdata)
.constdata 0x08001ff7 Section 16 system_stm32f0xx.o(.constdata)
.constdata 0x08002007 Section 8 system_stm32f0xx.o(.constdata)
MX_GPIO_Init 0x080010cd Thumb Code 150 main.o(i.MX_GPIO_Init)
i.MX_SPI1_Init 0x08001170 Section 0 main.o(i.MX_SPI1_Init)
MX_SPI1_Init 0x08001171 Thumb Code 52 main.o(i.MX_SPI1_Init)
i.MX_TIM2_Init 0x080011ac Section 0 main.o(i.MX_TIM2_Init)
MX_TIM2_Init 0x080011ad Thumb Code 80 main.o(i.MX_TIM2_Init)
i.MX_USART2_UART_Init 0x08001200 Section 0 main.o(i.MX_USART2_UART_Init)
MX_USART2_UART_Init 0x08001201 Thumb Code 46 main.o(i.MX_USART2_UART_Init)
i.NMI_Handler 0x08001238 Section 0 stm32f0xx_it.o(i.NMI_Handler)
i.NVIC_SetPriority 0x0800123c Section 0 stm32f0xx_hal_cortex.o(i.NVIC_SetPriority)
NVIC_SetPriority 0x0800123d Thumb Code 60 stm32f0xx_hal_cortex.o(i.NVIC_SetPriority)
i.PendSV_Handler 0x08001280 Section 0 stm32f0xx_it.o(i.PendSV_Handler)
i.SPI1_IRQHandler 0x08001284 Section 0 stm32f0xx_it.o(i.SPI1_IRQHandler)
i.SPI_2linesRxISR_16BIT 0x08001294 Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_16BIT)
SPI_2linesRxISR_16BIT 0x08001295 Thumb Code 54 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_16BIT)
i.SPI_2linesRxISR_8BIT 0x080012ca Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_8BIT)
SPI_2linesRxISR_8BIT 0x080012cb Thumb Code 94 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_8BIT)
i.SPI_2linesTxISR_16BIT 0x08001328 Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_16BIT)
SPI_2linesTxISR_16BIT 0x08001329 Thumb Code 52 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_16BIT)
i.SPI_2linesTxISR_8BIT 0x0800135c Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_8BIT)
SPI_2linesTxISR_8BIT 0x0800135d Thumb Code 72 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_8BIT)
i.SPI_CloseRxTx_ISR 0x080013a4 Section 0 stm32f0xx_hal_spi.o(i.SPI_CloseRxTx_ISR)
SPI_CloseRxTx_ISR 0x080013a5 Thumb Code 82 stm32f0xx_hal_spi.o(i.SPI_CloseRxTx_ISR)
i.SPI_DMAAbortOnError 0x080013f6 Section 0 stm32f0xx_hal_spi.o(i.SPI_DMAAbortOnError)
SPI_DMAAbortOnError 0x080013f7 Thumb Code 18 stm32f0xx_hal_spi.o(i.SPI_DMAAbortOnError)
i.SPI_EndRxTxTransaction 0x08001408 Section 0 stm32f0xx_hal_spi.o(i.SPI_EndRxTxTransaction)
SPI_EndRxTxTransaction 0x08001409 Thumb Code 76 stm32f0xx_hal_spi.o(i.SPI_EndRxTxTransaction)
i.SPI_WaitFifoStateUntilTimeout 0x08001454 Section 0 stm32f0xx_hal_spi.o(i.SPI_WaitFifoStateUntilTimeout)
SPI_WaitFifoStateUntilTimeout 0x08001455 Thumb Code 150 stm32f0xx_hal_spi.o(i.SPI_WaitFifoStateUntilTimeout)
i.SPI_WaitFlagStateUntilTimeout 0x080014ea Section 0 stm32f0xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout)
SPI_WaitFlagStateUntilTimeout 0x080014eb Thumb Code 140 stm32f0xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout)
i.SVC_Handler 0x08001576 Section 0 stm32f0xx_it.o(i.SVC_Handler)
i.SysTick_Handler 0x08001578 Section 0 stm32f0xx_it.o(i.SysTick_Handler)
i.SystemClock_Config 0x08001584 Section 0 main.o(i.SystemClock_Config)
i.SystemInit 0x080015e0 Section 0 system_stm32f0xx.o(i.SystemInit)
i.TIM_Base_SetConfig 0x0800163c Section 0 stm32f0xx_hal_tim.o(i.TIM_Base_SetConfig)
i.TIM_ETR_SetConfig 0x080016c0 Section 0 stm32f0xx_hal_tim.o(i.TIM_ETR_SetConfig)
i.TIM_ITRx_SetConfig 0x080016d6 Section 0 stm32f0xx_hal_tim.o(i.TIM_ITRx_SetConfig)
TIM_ITRx_SetConfig 0x080016d7 Thumb Code 16 stm32f0xx_hal_tim.o(i.TIM_ITRx_SetConfig)
i.TIM_TI1_ConfigInputStage 0x080016e6 Section 0 stm32f0xx_hal_tim.o(i.TIM_TI1_ConfigInputStage)
TIM_TI1_ConfigInputStage 0x080016e7 Thumb Code 34 stm32f0xx_hal_tim.o(i.TIM_TI1_ConfigInputStage)
i.TIM_TI2_ConfigInputStage 0x08001708 Section 0 stm32f0xx_hal_tim.o(i.TIM_TI2_ConfigInputStage)
TIM_TI2_ConfigInputStage 0x08001709 Thumb Code 38 stm32f0xx_hal_tim.o(i.TIM_TI2_ConfigInputStage)
i.UART_AdvFeatureConfig 0x0800172e Section 0 stm32f0xx_hal_uart.o(i.UART_AdvFeatureConfig)
i.UART_CheckIdleState 0x080017f8 Section 0 stm32f0xx_hal_uart.o(i.UART_CheckIdleState)
i.UART_SetConfig 0x08001860 Section 0 stm32f0xx_hal_uart.o(i.UART_SetConfig)
i.UART_WaitOnFlagUntilTimeout 0x08001990 Section 0 stm32f0xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout)
i.__0printf$3 0x080019f4 Section 0 printf3.o(i.__0printf$3)
i.__scatterload_copy 0x08001a14 Section 14 handlers.o(i.__scatterload_copy)
i.__scatterload_null 0x08001a22 Section 2 handlers.o(i.__scatterload_null)
i.__scatterload_zeroinit 0x08001a24 Section 14 handlers.o(i.__scatterload_zeroinit)
i._printf_core 0x08001a34 Section 0 printf3.o(i._printf_core)
_printf_core 0x08001a35 Thumb Code 456 printf3.o(i._printf_core)
i.byte_to_int16_t 0x08001c00 Section 0 main.o(i.byte_to_int16_t)
i.delay_us_init 0x08001c08 Section 0 delay_us.o(i.delay_us_init)
i.fputc 0x08001c18 Section 0 main.o(i.fputc)
i.handle_protocol_switch 0x08001c30 Section 0 main.o(i.handle_protocol_switch)
i.kb_buf_add 0x08001c80 Section 0 helpers.o(i.kb_buf_add)
i.kb_buf_init 0x08001cb0 Section 0 helpers.o(i.kb_buf_init)
i.kb_buf_is_full 0x08001cd0 Section 0 helpers.o(i.kb_buf_is_full)
i.kb_buf_reset 0x08001cec Section 0 helpers.o(i.kb_buf_reset)
i.main 0x08001d08 Section 0 main.o(i.main)
i.malloc 0x08001dbc Section 0 malloc.o(i.malloc)
i.mouse_buf_add 0x08001e28 Section 0 helpers.o(i.mouse_buf_add)
i.mouse_buf_init 0x08001e5a Section 0 helpers.o(i.mouse_buf_init)
i.mouse_buf_is_full 0x08001e72 Section 0 helpers.o(i.mouse_buf_is_full)
i.mouse_buf_reset 0x08001e8e Section 0 helpers.o(i.mouse_buf_reset)
i.parse_spi_buf 0x08001ea4 Section 0 main.o(i.parse_spi_buf)
i.protocol_status_lookup_init 0x08001f7c Section 0 main.o(i.protocol_status_lookup_init)
i.quad_decrement 0x08001f98 Section 0 quad_encoder.o(i.quad_decrement)
i.quad_init 0x08001faa Section 0 quad_encoder.o(i.quad_init)
i.quad_reset 0x08001fbc Section 0 quad_encoder.o(i.quad_reset)
i.quad_write 0x08001fc8 Section 0 quad_encoder.o(i.quad_write)
i.spi_error_dump_reboot 0x08002020 Section 0 main.o(i.spi_error_dump_reboot)
.constdata 0x0800209c Section 4 quad_encoder.o(.constdata)
.constdata 0x080020a0 Section 55 main.o(.constdata)
.constdata 0x080020d7 Section 16 system_stm32f0xx.o(.constdata)
.constdata 0x080020e7 Section 8 system_stm32f0xx.o(.constdata)
.data 0x20000000 Section 4 delay_us.o(.data)
.data 0x20000004 Section 12 main.o(.data)
.data 0x20000010 Section 4 stm32f0xx_hal.o(.data)
@@ -1764,9 +1779,9 @@ Image Symbol Table
.data 0x20000018 Section 4 stdout.o(.data)
.data 0x2000001c Section 4 mvars.o(.data)
.data 0x20000020 Section 4 mvars.o(.data)
.bss 0x20000024 Section 380 main.o(.bss)
HEAP 0x200001a0 Section 512 startup_stm32f042x6.o(HEAP)
STACK 0x200003a0 Section 1024 startup_stm32f042x6.o(STACK)
.bss 0x20000024 Section 396 main.o(.bss)
HEAP 0x200001b0 Section 512 startup_stm32f042x6.o(HEAP)
STACK 0x200003b0 Section 1024 startup_stm32f042x6.o(STACK)
Global Symbols
@@ -1910,47 +1925,52 @@ Image Symbol Table
HAL_UART_MspInit 0x08000fb9 Thumb Code 62 stm32f0xx_hal_msp.o(i.HAL_UART_MspInit)
HAL_UART_Transmit 0x08001001 Thumb Code 200 stm32f0xx_hal_uart.o(i.HAL_UART_Transmit)
HardFault_Handler 0x080010c9 Thumb Code 2 stm32f0xx_it.o(i.HardFault_Handler)
NMI_Handler 0x08001209 Thumb Code 2 stm32f0xx_it.o(i.NMI_Handler)
PendSV_Handler 0x08001251 Thumb Code 2 stm32f0xx_it.o(i.PendSV_Handler)
SPI1_IRQHandler 0x08001255 Thumb Code 10 stm32f0xx_it.o(i.SPI1_IRQHandler)
SVC_Handler 0x08001547 Thumb Code 2 stm32f0xx_it.o(i.SVC_Handler)
SysTick_Handler 0x08001549 Thumb Code 12 stm32f0xx_it.o(i.SysTick_Handler)
SystemClock_Config 0x08001555 Thumb Code 90 main.o(i.SystemClock_Config)
SystemInit 0x080015b1 Thumb Code 78 system_stm32f0xx.o(i.SystemInit)
TIM_Base_SetConfig 0x0800160d Thumb Code 112 stm32f0xx_hal_tim.o(i.TIM_Base_SetConfig)
TIM_ETR_SetConfig 0x08001691 Thumb Code 22 stm32f0xx_hal_tim.o(i.TIM_ETR_SetConfig)
UART_AdvFeatureConfig 0x080016ff Thumb Code 202 stm32f0xx_hal_uart.o(i.UART_AdvFeatureConfig)
UART_CheckIdleState 0x080017c9 Thumb Code 96 stm32f0xx_hal_uart.o(i.UART_CheckIdleState)
UART_SetConfig 0x08001831 Thumb Code 280 stm32f0xx_hal_uart.o(i.UART_SetConfig)
UART_WaitOnFlagUntilTimeout 0x08001961 Thumb Code 98 stm32f0xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout)
__0printf$3 0x080019c5 Thumb Code 24 printf3.o(i.__0printf$3)
__1printf$3 0x080019c5 Thumb Code 0 printf3.o(i.__0printf$3)
__2printf 0x080019c5 Thumb Code 0 printf3.o(i.__0printf$3)
__scatterload_copy 0x080019e5 Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x080019f3 Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x080019f5 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
byte_to_int16_t 0x08001bd1 Thumb Code 8 main.o(i.byte_to_int16_t)
delay_us_init 0x08001bd9 Thumb Code 12 delay_us.o(i.delay_us_init)
fputc 0x08001be9 Thumb Code 18 main.o(i.fputc)
handle_protocol_switch 0x08001c01 Thumb Code 70 main.o(i.handle_protocol_switch)
kb_buf_add 0x08001c51 Thumb Code 48 helpers.o(i.kb_buf_add)
kb_buf_init 0x08001c81 Thumb Code 32 helpers.o(i.kb_buf_init)
kb_buf_is_full 0x08001ca1 Thumb Code 28 helpers.o(i.kb_buf_is_full)
kb_buf_reset 0x08001cbd Thumb Code 28 helpers.o(i.kb_buf_reset)
main 0x08001cd9 Thumb Code 110 main.o(i.main)
malloc 0x08001d69 Thumb Code 92 malloc.o(i.malloc)
mouse_buf_add 0x08001dd5 Thumb Code 50 helpers.o(i.mouse_buf_add)
mouse_buf_init 0x08001e07 Thumb Code 24 helpers.o(i.mouse_buf_init)
mouse_buf_is_full 0x08001e1f Thumb Code 28 helpers.o(i.mouse_buf_is_full)
mouse_buf_reset 0x08001e3b Thumb Code 22 helpers.o(i.mouse_buf_reset)
parse_spi_buf 0x08001e51 Thumb Code 208 main.o(i.parse_spi_buf)
protocol_status_lookup_init 0x08001f29 Thumb Code 22 main.o(i.protocol_status_lookup_init)
spi_error_dump_reboot 0x08001f45 Thumb Code 76 main.o(i.spi_error_dump_reboot)
boot_message 0x08001fc0 Data 55 main.o(.constdata)
AHBPrescTable 0x08001ff7 Data 16 system_stm32f0xx.o(.constdata)
APBPrescTable 0x08002007 Data 8 system_stm32f0xx.o(.constdata)
Region$$Table$$Base 0x08002010 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x08002030 Number 0 anon$$obj.o(Region$$Table)
NMI_Handler 0x08001239 Thumb Code 2 stm32f0xx_it.o(i.NMI_Handler)
PendSV_Handler 0x08001281 Thumb Code 2 stm32f0xx_it.o(i.PendSV_Handler)
SPI1_IRQHandler 0x08001285 Thumb Code 10 stm32f0xx_it.o(i.SPI1_IRQHandler)
SVC_Handler 0x08001577 Thumb Code 2 stm32f0xx_it.o(i.SVC_Handler)
SysTick_Handler 0x08001579 Thumb Code 12 stm32f0xx_it.o(i.SysTick_Handler)
SystemClock_Config 0x08001585 Thumb Code 90 main.o(i.SystemClock_Config)
SystemInit 0x080015e1 Thumb Code 78 system_stm32f0xx.o(i.SystemInit)
TIM_Base_SetConfig 0x0800163d Thumb Code 112 stm32f0xx_hal_tim.o(i.TIM_Base_SetConfig)
TIM_ETR_SetConfig 0x080016c1 Thumb Code 22 stm32f0xx_hal_tim.o(i.TIM_ETR_SetConfig)
UART_AdvFeatureConfig 0x0800172f Thumb Code 202 stm32f0xx_hal_uart.o(i.UART_AdvFeatureConfig)
UART_CheckIdleState 0x080017f9 Thumb Code 96 stm32f0xx_hal_uart.o(i.UART_CheckIdleState)
UART_SetConfig 0x08001861 Thumb Code 280 stm32f0xx_hal_uart.o(i.UART_SetConfig)
UART_WaitOnFlagUntilTimeout 0x08001991 Thumb Code 98 stm32f0xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout)
__0printf$3 0x080019f5 Thumb Code 24 printf3.o(i.__0printf$3)
__1printf$3 0x080019f5 Thumb Code 0 printf3.o(i.__0printf$3)
__2printf 0x080019f5 Thumb Code 0 printf3.o(i.__0printf$3)
__scatterload_copy 0x08001a15 Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x08001a23 Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x08001a25 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
byte_to_int16_t 0x08001c01 Thumb Code 8 main.o(i.byte_to_int16_t)
delay_us_init 0x08001c09 Thumb Code 12 delay_us.o(i.delay_us_init)
fputc 0x08001c19 Thumb Code 18 main.o(i.fputc)
handle_protocol_switch 0x08001c31 Thumb Code 70 main.o(i.handle_protocol_switch)
kb_buf_add 0x08001c81 Thumb Code 48 helpers.o(i.kb_buf_add)
kb_buf_init 0x08001cb1 Thumb Code 32 helpers.o(i.kb_buf_init)
kb_buf_is_full 0x08001cd1 Thumb Code 28 helpers.o(i.kb_buf_is_full)
kb_buf_reset 0x08001ced Thumb Code 28 helpers.o(i.kb_buf_reset)
main 0x08001d09 Thumb Code 140 main.o(i.main)
malloc 0x08001dbd Thumb Code 92 malloc.o(i.malloc)
mouse_buf_add 0x08001e29 Thumb Code 50 helpers.o(i.mouse_buf_add)
mouse_buf_init 0x08001e5b Thumb Code 24 helpers.o(i.mouse_buf_init)
mouse_buf_is_full 0x08001e73 Thumb Code 28 helpers.o(i.mouse_buf_is_full)
mouse_buf_reset 0x08001e8f Thumb Code 22 helpers.o(i.mouse_buf_reset)
parse_spi_buf 0x08001ea5 Thumb Code 208 main.o(i.parse_spi_buf)
protocol_status_lookup_init 0x08001f7d Thumb Code 22 main.o(i.protocol_status_lookup_init)
quad_decrement 0x08001f99 Thumb Code 18 quad_encoder.o(i.quad_decrement)
quad_init 0x08001fab Thumb Code 18 quad_encoder.o(i.quad_init)
quad_reset 0x08001fbd Thumb Code 12 quad_encoder.o(i.quad_reset)
quad_write 0x08001fc9 Thumb Code 82 quad_encoder.o(i.quad_write)
spi_error_dump_reboot 0x08002021 Thumb Code 76 main.o(i.spi_error_dump_reboot)
grey_code_lookup 0x0800209c Data 4 quad_encoder.o(.constdata)
boot_message 0x080020a0 Data 55 main.o(.constdata)
AHBPrescTable 0x080020d7 Data 16 system_stm32f0xx.o(.constdata)
APBPrescTable 0x080020e7 Data 8 system_stm32f0xx.o(.constdata)
Region$$Table$$Base 0x080020f0 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x08002110 Number 0 anon$$obj.o(Region$$Table)
us_timer 0x20000000 Data 4 delay_us.o(.data)
hw_revision 0x20000004 Data 1 main.o(.data)
spi_error_occured 0x20000005 Data 1 main.o(.data)
@@ -1968,9 +1988,10 @@ Image Symbol Table
my_kb_buf 0x20000178 Data 12 main.o(.bss)
latest_mouse_event 0x20000184 Data 12 main.o(.bss)
protocol_status_lookup 0x20000190 Data 16 main.o(.bss)
__heap_base 0x200001a0 Data 0 startup_stm32f042x6.o(HEAP)
__heap_limit 0x200003a0 Data 0 startup_stm32f042x6.o(HEAP)
__initial_sp 0x200007a0 Data 0 startup_stm32f042x6.o(STACK)
quad_x 0x200001a0 Data 16 main.o(.bss)
__heap_base 0x200001b0 Data 0 startup_stm32f042x6.o(HEAP)
__heap_limit 0x200003b0 Data 0 startup_stm32f042x6.o(HEAP)
__initial_sp 0x200007b0 Data 0 startup_stm32f042x6.o(STACK)
@@ -1980,149 +2001,154 @@ Memory Map of the image
Image Entry point : 0x080000c1
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00002054, Max: 0x00008000, ABSOLUTE)
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00002134, Max: 0x00008000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00002030, Max: 0x00008000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00002110, Max: 0x00008000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x08000000 0x08000000 0x000000c0 Data RO 3 RESET startup_stm32f042x6.o
0x080000c0 0x080000c0 0x00000000 Code RO 3519 * .ARM.Collect$$$$00000000 mc_p.l(entry.o)
0x080000c0 0x080000c0 0x00000004 Code RO 3821 .ARM.Collect$$$$00000001 mc_p.l(entry2.o)
0x080000c4 0x080000c4 0x00000004 Code RO 3824 .ARM.Collect$$$$00000004 mc_p.l(entry5.o)
0x080000c8 0x080000c8 0x00000000 Code RO 3826 .ARM.Collect$$$$00000008 mc_p.l(entry7b.o)
0x080000c8 0x080000c8 0x00000000 Code RO 3828 .ARM.Collect$$$$0000000A mc_p.l(entry8b.o)
0x080000c8 0x080000c8 0x00000008 Code RO 3829 .ARM.Collect$$$$0000000B mc_p.l(entry9a.o)
0x080000d0 0x080000d0 0x00000000 Code RO 3831 .ARM.Collect$$$$0000000D mc_p.l(entry10a.o)
0x080000d0 0x080000d0 0x00000000 Code RO 3833 .ARM.Collect$$$$0000000F mc_p.l(entry11a.o)
0x080000d0 0x080000d0 0x00000004 Code RO 3822 .ARM.Collect$$$$00002712 mc_p.l(entry2.o)
0x080000c0 0x080000c0 0x00000000 Code RO 3552 * .ARM.Collect$$$$00000000 mc_p.l(entry.o)
0x080000c0 0x080000c0 0x00000004 Code RO 3854 .ARM.Collect$$$$00000001 mc_p.l(entry2.o)
0x080000c4 0x080000c4 0x00000004 Code RO 3857 .ARM.Collect$$$$00000004 mc_p.l(entry5.o)
0x080000c8 0x080000c8 0x00000000 Code RO 3859 .ARM.Collect$$$$00000008 mc_p.l(entry7b.o)
0x080000c8 0x080000c8 0x00000000 Code RO 3861 .ARM.Collect$$$$0000000A mc_p.l(entry8b.o)
0x080000c8 0x080000c8 0x00000008 Code RO 3862 .ARM.Collect$$$$0000000B mc_p.l(entry9a.o)
0x080000d0 0x080000d0 0x00000000 Code RO 3864 .ARM.Collect$$$$0000000D mc_p.l(entry10a.o)
0x080000d0 0x080000d0 0x00000000 Code RO 3866 .ARM.Collect$$$$0000000F mc_p.l(entry11a.o)
0x080000d0 0x080000d0 0x00000004 Code RO 3855 .ARM.Collect$$$$00002712 mc_p.l(entry2.o)
0x080000d4 0x080000d4 0x00000058 Code RO 4 .text startup_stm32f042x6.o
0x0800012c 0x0800012c 0x0000002c Code RO 3522 .text mc_p.l(uidiv.o)
0x08000158 0x08000158 0x00000024 Code RO 3526 .text mc_p.l(memcpya.o)
0x0800017c 0x0800017c 0x00000024 Code RO 3528 .text mc_p.l(memseta.o)
0x080001a0 0x080001a0 0x00000024 Code RO 3851 .text mc_p.l(init.o)
0x080001c4 0x080001c4 0x00000048 Code RO 2976 i.HAL_DMA_Abort_IT stm32f0xx_hal_dma.o
0x0800020c 0x0800020c 0x0000001c Code RO 2305 i.HAL_Delay stm32f0xx_hal.o
0x08000228 0x08000228 0x0000013c Code RO 2914 i.HAL_GPIO_Init stm32f0xx_hal_gpio.o
0x08000364 0x08000364 0x00000008 Code RO 2917 i.HAL_GPIO_TogglePin stm32f0xx_hal_gpio.o
0x0800036c 0x0800036c 0x0000000c Code RO 2918 i.HAL_GPIO_WritePin stm32f0xx_hal_gpio.o
0x08000378 0x08000378 0x0000000c Code RO 2309 i.HAL_GetTick stm32f0xx_hal.o
0x08000384 0x08000384 0x00000076 Code RO 1724 i.HAL_HalfDuplex_Init stm32f0xx_hal_uart.o
0x0800012c 0x0800012c 0x0000002c Code RO 3555 .text mc_p.l(uidiv.o)
0x08000158 0x08000158 0x00000024 Code RO 3559 .text mc_p.l(memcpya.o)
0x0800017c 0x0800017c 0x00000024 Code RO 3561 .text mc_p.l(memseta.o)
0x080001a0 0x080001a0 0x00000024 Code RO 3884 .text mc_p.l(init.o)
0x080001c4 0x080001c4 0x00000048 Code RO 3009 i.HAL_DMA_Abort_IT stm32f0xx_hal_dma.o
0x0800020c 0x0800020c 0x0000001c Code RO 2338 i.HAL_Delay stm32f0xx_hal.o
0x08000228 0x08000228 0x0000013c Code RO 2947 i.HAL_GPIO_Init stm32f0xx_hal_gpio.o
0x08000364 0x08000364 0x00000008 Code RO 2950 i.HAL_GPIO_TogglePin stm32f0xx_hal_gpio.o
0x0800036c 0x0800036c 0x0000000c Code RO 2951 i.HAL_GPIO_WritePin stm32f0xx_hal_gpio.o
0x08000378 0x08000378 0x0000000c Code RO 2342 i.HAL_GetTick stm32f0xx_hal.o
0x08000384 0x08000384 0x00000076 Code RO 1757 i.HAL_HalfDuplex_Init stm32f0xx_hal_uart.o
0x080003fa 0x080003fa 0x00000002 PAD
0x080003fc 0x080003fc 0x00000010 Code RO 2313 i.HAL_IncTick stm32f0xx_hal.o
0x0800040c 0x0800040c 0x00000020 Code RO 2314 i.HAL_Init stm32f0xx_hal.o
0x0800042c 0x0800042c 0x00000022 Code RO 2315 i.HAL_InitTick stm32f0xx_hal.o
0x080003fc 0x080003fc 0x00000010 Code RO 2346 i.HAL_IncTick stm32f0xx_hal.o
0x0800040c 0x0800040c 0x00000020 Code RO 2347 i.HAL_Init stm32f0xx_hal.o
0x0800042c 0x0800042c 0x00000022 Code RO 2348 i.HAL_InitTick stm32f0xx_hal.o
0x0800044e 0x0800044e 0x00000002 PAD
0x08000450 0x08000450 0x00000054 Code RO 433 i.HAL_MspInit stm32f0xx_hal_msp.o
0x080004a4 0x080004a4 0x00000014 Code RO 3071 i.HAL_NVIC_EnableIRQ stm32f0xx_hal_cortex.o
0x080004b8 0x080004b8 0x00000008 Code RO 3075 i.HAL_NVIC_SetPriority stm32f0xx_hal_cortex.o
0x080004c0 0x080004c0 0x00000154 Code RO 2123 i.HAL_RCC_ClockConfig stm32f0xx_hal_rcc.o
0x08000614 0x08000614 0x0000000c Code RO 2128 i.HAL_RCC_GetHCLKFreq stm32f0xx_hal_rcc.o
0x08000620 0x08000620 0x00000020 Code RO 2130 i.HAL_RCC_GetPCLK1Freq stm32f0xx_hal_rcc.o
0x08000640 0x08000640 0x00000088 Code RO 2131 i.HAL_RCC_GetSysClockFreq stm32f0xx_hal_rcc.o
0x080006c8 0x080006c8 0x000003d8 Code RO 2134 i.HAL_RCC_OscConfig stm32f0xx_hal_rcc.o
0x08000aa0 0x08000aa0 0x00000002 Code RO 510 i.HAL_SPI_ErrorCallback stm32f0xx_hal_spi.o
0x08000450 0x08000450 0x00000054 Code RO 480 i.HAL_MspInit stm32f0xx_hal_msp.o
0x080004a4 0x080004a4 0x00000014 Code RO 3104 i.HAL_NVIC_EnableIRQ stm32f0xx_hal_cortex.o
0x080004b8 0x080004b8 0x00000008 Code RO 3108 i.HAL_NVIC_SetPriority stm32f0xx_hal_cortex.o
0x080004c0 0x080004c0 0x00000154 Code RO 2156 i.HAL_RCC_ClockConfig stm32f0xx_hal_rcc.o
0x08000614 0x08000614 0x0000000c Code RO 2161 i.HAL_RCC_GetHCLKFreq stm32f0xx_hal_rcc.o
0x08000620 0x08000620 0x00000020 Code RO 2163 i.HAL_RCC_GetPCLK1Freq stm32f0xx_hal_rcc.o
0x08000640 0x08000640 0x00000088 Code RO 2164 i.HAL_RCC_GetSysClockFreq stm32f0xx_hal_rcc.o
0x080006c8 0x080006c8 0x000003d8 Code RO 2167 i.HAL_RCC_OscConfig stm32f0xx_hal_rcc.o
0x08000aa0 0x08000aa0 0x00000002 Code RO 543 i.HAL_SPI_ErrorCallback stm32f0xx_hal_spi.o
0x08000aa2 0x08000aa2 0x00000002 PAD
0x08000aa4 0x08000aa4 0x000000d4 Code RO 513 i.HAL_SPI_IRQHandler stm32f0xx_hal_spi.o
0x08000b78 0x08000b78 0x000000b8 Code RO 514 i.HAL_SPI_Init stm32f0xx_hal_spi.o
0x08000c30 0x08000c30 0x00000054 Code RO 435 i.HAL_SPI_MspInit stm32f0xx_hal_msp.o
0x08000c84 0x08000c84 0x00000002 Code RO 520 i.HAL_SPI_RxCpltCallback stm32f0xx_hal_spi.o
0x08000aa4 0x08000aa4 0x000000d4 Code RO 546 i.HAL_SPI_IRQHandler stm32f0xx_hal_spi.o
0x08000b78 0x08000b78 0x000000b8 Code RO 547 i.HAL_SPI_Init stm32f0xx_hal_spi.o
0x08000c30 0x08000c30 0x00000054 Code RO 482 i.HAL_SPI_MspInit stm32f0xx_hal_msp.o
0x08000c84 0x08000c84 0x00000002 Code RO 553 i.HAL_SPI_RxCpltCallback stm32f0xx_hal_spi.o
0x08000c86 0x08000c86 0x00000002 PAD
0x08000c88 0x08000c88 0x000000d4 Code RO 525 i.HAL_SPI_TransmitReceive_IT stm32f0xx_hal_spi.o
0x08000d5c 0x08000d5c 0x00000060 Code RO 257 i.HAL_SPI_TxRxCpltCallback main.o
0x08000dbc 0x08000dbc 0x00000018 Code RO 3077 i.HAL_SYSTICK_CLKSourceConfig stm32f0xx_hal_cortex.o
0x08000dd4 0x08000dd4 0x00000002 Code RO 3078 i.HAL_SYSTICK_Callback stm32f0xx_hal_cortex.o
0x08000c88 0x08000c88 0x000000d4 Code RO 558 i.HAL_SPI_TransmitReceive_IT stm32f0xx_hal_spi.o
0x08000d5c 0x08000d5c 0x00000060 Code RO 307 i.HAL_SPI_TxRxCpltCallback main.o
0x08000dbc 0x08000dbc 0x00000018 Code RO 3110 i.HAL_SYSTICK_CLKSourceConfig stm32f0xx_hal_cortex.o
0x08000dd4 0x08000dd4 0x00000002 Code RO 3111 i.HAL_SYSTICK_Callback stm32f0xx_hal_cortex.o
0x08000dd6 0x08000dd6 0x00000002 PAD
0x08000dd8 0x08000dd8 0x00000030 Code RO 3079 i.HAL_SYSTICK_Config stm32f0xx_hal_cortex.o
0x08000e08 0x08000e08 0x00000008 Code RO 3080 i.HAL_SYSTICK_IRQHandler stm32f0xx_hal_cortex.o
0x08000e10 0x08000e10 0x00000048 Code RO 1504 i.HAL_TIMEx_MasterConfigSynchronization stm32f0xx_hal_tim_ex.o
0x08000e58 0x08000e58 0x00000034 Code RO 848 i.HAL_TIM_Base_Init stm32f0xx_hal_tim.o
0x08000e8c 0x08000e8c 0x00000024 Code RO 437 i.HAL_TIM_Base_MspInit stm32f0xx_hal_msp.o
0x08000eb0 0x08000eb0 0x00000018 Code RO 851 i.HAL_TIM_Base_Start stm32f0xx_hal_tim.o
0x08000ec8 0x08000ec8 0x000000ee Code RO 857 i.HAL_TIM_ConfigClockSource stm32f0xx_hal_tim.o
0x08000dd8 0x08000dd8 0x00000030 Code RO 3112 i.HAL_SYSTICK_Config stm32f0xx_hal_cortex.o
0x08000e08 0x08000e08 0x00000008 Code RO 3113 i.HAL_SYSTICK_IRQHandler stm32f0xx_hal_cortex.o
0x08000e10 0x08000e10 0x00000048 Code RO 1537 i.HAL_TIMEx_MasterConfigSynchronization stm32f0xx_hal_tim_ex.o
0x08000e58 0x08000e58 0x00000034 Code RO 881 i.HAL_TIM_Base_Init stm32f0xx_hal_tim.o
0x08000e8c 0x08000e8c 0x00000024 Code RO 484 i.HAL_TIM_Base_MspInit stm32f0xx_hal_msp.o
0x08000eb0 0x08000eb0 0x00000018 Code RO 884 i.HAL_TIM_Base_Start stm32f0xx_hal_tim.o
0x08000ec8 0x08000ec8 0x000000ee Code RO 890 i.HAL_TIM_ConfigClockSource stm32f0xx_hal_tim.o
0x08000fb6 0x08000fb6 0x00000002 PAD
0x08000fb8 0x08000fb8 0x00000048 Code RO 439 i.HAL_UART_MspInit stm32f0xx_hal_msp.o
0x08001000 0x08001000 0x000000c8 Code RO 1754 i.HAL_UART_Transmit stm32f0xx_hal_uart.o
0x080010c8 0x080010c8 0x00000002 Code RO 379 i.HardFault_Handler stm32f0xx_it.o
0x08000fb8 0x08000fb8 0x00000048 Code RO 486 i.HAL_UART_MspInit stm32f0xx_hal_msp.o
0x08001000 0x08001000 0x000000c8 Code RO 1787 i.HAL_UART_Transmit stm32f0xx_hal_uart.o
0x080010c8 0x080010c8 0x00000002 Code RO 426 i.HardFault_Handler stm32f0xx_it.o
0x080010ca 0x080010ca 0x00000002 PAD
0x080010cc 0x080010cc 0x00000074 Code RO 258 i.MX_GPIO_Init main.o
0x08001140 0x08001140 0x0000003c Code RO 259 i.MX_SPI1_Init main.o
0x0800117c 0x0800117c 0x00000054 Code RO 260 i.MX_TIM2_Init main.o
0x080011d0 0x080011d0 0x00000038 Code RO 261 i.MX_USART2_UART_Init main.o
0x08001208 0x08001208 0x00000002 Code RO 380 i.NMI_Handler stm32f0xx_it.o
0x0800120a 0x0800120a 0x00000002 PAD
0x0800120c 0x0800120c 0x00000044 Code RO 3081 i.NVIC_SetPriority stm32f0xx_hal_cortex.o
0x08001250 0x08001250 0x00000002 Code RO 381 i.PendSV_Handler stm32f0xx_it.o
0x08001252 0x08001252 0x00000002 PAD
0x08001254 0x08001254 0x00000010 Code RO 382 i.SPI1_IRQHandler stm32f0xx_it.o
0x08001264 0x08001264 0x00000036 Code RO 532 i.SPI_2linesRxISR_16BIT stm32f0xx_hal_spi.o
0x0800129a 0x0800129a 0x0000005e Code RO 533 i.SPI_2linesRxISR_8BIT stm32f0xx_hal_spi.o
0x080012f8 0x080012f8 0x00000034 Code RO 534 i.SPI_2linesTxISR_16BIT stm32f0xx_hal_spi.o
0x0800132c 0x0800132c 0x00000048 Code RO 535 i.SPI_2linesTxISR_8BIT stm32f0xx_hal_spi.o
0x08001374 0x08001374 0x00000052 Code RO 538 i.SPI_CloseRxTx_ISR stm32f0xx_hal_spi.o
0x080013c6 0x080013c6 0x00000012 Code RO 541 i.SPI_DMAAbortOnError stm32f0xx_hal_spi.o
0x080013d8 0x080013d8 0x0000004c Code RO 552 i.SPI_EndRxTxTransaction stm32f0xx_hal_spi.o
0x08001424 0x08001424 0x00000096 Code RO 557 i.SPI_WaitFifoStateUntilTimeout stm32f0xx_hal_spi.o
0x080014ba 0x080014ba 0x0000008c Code RO 558 i.SPI_WaitFlagStateUntilTimeout stm32f0xx_hal_spi.o
0x08001546 0x08001546 0x00000002 Code RO 383 i.SVC_Handler stm32f0xx_it.o
0x08001548 0x08001548 0x0000000c Code RO 384 i.SysTick_Handler stm32f0xx_it.o
0x08001554 0x08001554 0x0000005a Code RO 262 i.SystemClock_Config main.o
0x080015ae 0x080015ae 0x00000002 PAD
0x080015b0 0x080015b0 0x0000005c Code RO 3488 i.SystemInit system_stm32f0xx.o
0x0800160c 0x0800160c 0x00000084 Code RO 934 i.TIM_Base_SetConfig stm32f0xx_hal_tim.o
0x08001690 0x08001690 0x00000016 Code RO 941 i.TIM_ETR_SetConfig stm32f0xx_hal_tim.o
0x080016a6 0x080016a6 0x00000010 Code RO 942 i.TIM_ITRx_SetConfig stm32f0xx_hal_tim.o
0x080016b6 0x080016b6 0x00000022 Code RO 948 i.TIM_TI1_ConfigInputStage stm32f0xx_hal_tim.o
0x080016d8 0x080016d8 0x00000026 Code RO 950 i.TIM_TI2_ConfigInputStage stm32f0xx_hal_tim.o
0x080016fe 0x080016fe 0x000000ca Code RO 1759 i.UART_AdvFeatureConfig stm32f0xx_hal_uart.o
0x080017c8 0x080017c8 0x00000068 Code RO 1760 i.UART_CheckIdleState stm32f0xx_hal_uart.o
0x08001830 0x08001830 0x00000130 Code RO 1775 i.UART_SetConfig stm32f0xx_hal_uart.o
0x08001960 0x08001960 0x00000062 Code RO 1777 i.UART_WaitOnFlagUntilTimeout stm32f0xx_hal_uart.o
0x080019c2 0x080019c2 0x00000002 PAD
0x080019c4 0x080019c4 0x00000020 Code RO 3621 i.__0printf$3 mc_p.l(printf3.o)
0x080019e4 0x080019e4 0x0000000e Code RO 3863 i.__scatterload_copy mc_p.l(handlers.o)
0x080019f2 0x080019f2 0x00000002 Code RO 3864 i.__scatterload_null mc_p.l(handlers.o)
0x080019f4 0x080019f4 0x0000000e Code RO 3865 i.__scatterload_zeroinit mc_p.l(handlers.o)
0x08001a02 0x08001a02 0x00000002 PAD
0x08001a04 0x08001a04 0x000001cc Code RO 3628 i._printf_core mc_p.l(printf3.o)
0x08001bd0 0x08001bd0 0x00000008 Code RO 264 i.byte_to_int16_t main.o
0x08001bd8 0x08001bd8 0x00000010 Code RO 13 i.delay_us_init delay_us.o
0x08001be8 0x08001be8 0x00000018 Code RO 265 i.fputc main.o
0x08001c00 0x08001c00 0x00000050 Code RO 266 i.handle_protocol_switch main.o
0x08001c50 0x08001c50 0x00000030 Code RO 149 i.kb_buf_add helpers.o
0x08001c80 0x08001c80 0x00000020 Code RO 150 i.kb_buf_init helpers.o
0x08001ca0 0x08001ca0 0x0000001c Code RO 152 i.kb_buf_is_full helpers.o
0x08001cbc 0x08001cbc 0x0000001c Code RO 155 i.kb_buf_reset helpers.o
0x08001cd8 0x08001cd8 0x00000090 Code RO 269 i.main main.o
0x08001d68 0x08001d68 0x0000006c Code RO 3794 i.malloc mc_p.l(malloc.o)
0x08001dd4 0x08001dd4 0x00000032 Code RO 156 i.mouse_buf_add helpers.o
0x08001e06 0x08001e06 0x00000018 Code RO 157 i.mouse_buf_init helpers.o
0x08001e1e 0x08001e1e 0x0000001c Code RO 159 i.mouse_buf_is_full helpers.o
0x08001e3a 0x08001e3a 0x00000016 Code RO 162 i.mouse_buf_reset helpers.o
0x08001e50 0x08001e50 0x000000d8 Code RO 270 i.parse_spi_buf main.o
0x08001f28 0x08001f28 0x0000001c Code RO 271 i.protocol_status_lookup_init main.o
0x08001f44 0x08001f44 0x0000007c Code RO 272 i.spi_error_dump_reboot main.o
0x08001fc0 0x08001fc0 0x00000037 Data RO 278 .constdata main.o
0x08001ff7 0x08001ff7 0x00000010 Data RO 3489 .constdata system_stm32f0xx.o
0x08002007 0x08002007 0x00000008 Data RO 3490 .constdata system_stm32f0xx.o
0x0800200f 0x0800200f 0x00000001 PAD
0x08002010 0x08002010 0x00000020 Data RO 3861 Region$$Table anon$$obj.o
0x080010cc 0x080010cc 0x000000a4 Code RO 308 i.MX_GPIO_Init main.o
0x08001170 0x08001170 0x0000003c Code RO 309 i.MX_SPI1_Init main.o
0x080011ac 0x080011ac 0x00000054 Code RO 310 i.MX_TIM2_Init main.o
0x08001200 0x08001200 0x00000038 Code RO 311 i.MX_USART2_UART_Init main.o
0x08001238 0x08001238 0x00000002 Code RO 427 i.NMI_Handler stm32f0xx_it.o
0x0800123a 0x0800123a 0x00000002 PAD
0x0800123c 0x0800123c 0x00000044 Code RO 3114 i.NVIC_SetPriority stm32f0xx_hal_cortex.o
0x08001280 0x08001280 0x00000002 Code RO 428 i.PendSV_Handler stm32f0xx_it.o
0x08001282 0x08001282 0x00000002 PAD
0x08001284 0x08001284 0x00000010 Code RO 429 i.SPI1_IRQHandler stm32f0xx_it.o
0x08001294 0x08001294 0x00000036 Code RO 565 i.SPI_2linesRxISR_16BIT stm32f0xx_hal_spi.o
0x080012ca 0x080012ca 0x0000005e Code RO 566 i.SPI_2linesRxISR_8BIT stm32f0xx_hal_spi.o
0x08001328 0x08001328 0x00000034 Code RO 567 i.SPI_2linesTxISR_16BIT stm32f0xx_hal_spi.o
0x0800135c 0x0800135c 0x00000048 Code RO 568 i.SPI_2linesTxISR_8BIT stm32f0xx_hal_spi.o
0x080013a4 0x080013a4 0x00000052 Code RO 571 i.SPI_CloseRxTx_ISR stm32f0xx_hal_spi.o
0x080013f6 0x080013f6 0x00000012 Code RO 574 i.SPI_DMAAbortOnError stm32f0xx_hal_spi.o
0x08001408 0x08001408 0x0000004c Code RO 585 i.SPI_EndRxTxTransaction stm32f0xx_hal_spi.o
0x08001454 0x08001454 0x00000096 Code RO 590 i.SPI_WaitFifoStateUntilTimeout stm32f0xx_hal_spi.o
0x080014ea 0x080014ea 0x0000008c Code RO 591 i.SPI_WaitFlagStateUntilTimeout stm32f0xx_hal_spi.o
0x08001576 0x08001576 0x00000002 Code RO 430 i.SVC_Handler stm32f0xx_it.o
0x08001578 0x08001578 0x0000000c Code RO 431 i.SysTick_Handler stm32f0xx_it.o
0x08001584 0x08001584 0x0000005a Code RO 312 i.SystemClock_Config main.o
0x080015de 0x080015de 0x00000002 PAD
0x080015e0 0x080015e0 0x0000005c Code RO 3521 i.SystemInit system_stm32f0xx.o
0x0800163c 0x0800163c 0x00000084 Code RO 967 i.TIM_Base_SetConfig stm32f0xx_hal_tim.o
0x080016c0 0x080016c0 0x00000016 Code RO 974 i.TIM_ETR_SetConfig stm32f0xx_hal_tim.o
0x080016d6 0x080016d6 0x00000010 Code RO 975 i.TIM_ITRx_SetConfig stm32f0xx_hal_tim.o
0x080016e6 0x080016e6 0x00000022 Code RO 981 i.TIM_TI1_ConfigInputStage stm32f0xx_hal_tim.o
0x08001708 0x08001708 0x00000026 Code RO 983 i.TIM_TI2_ConfigInputStage stm32f0xx_hal_tim.o
0x0800172e 0x0800172e 0x000000ca Code RO 1792 i.UART_AdvFeatureConfig stm32f0xx_hal_uart.o
0x080017f8 0x080017f8 0x00000068 Code RO 1793 i.UART_CheckIdleState stm32f0xx_hal_uart.o
0x08001860 0x08001860 0x00000130 Code RO 1808 i.UART_SetConfig stm32f0xx_hal_uart.o
0x08001990 0x08001990 0x00000062 Code RO 1810 i.UART_WaitOnFlagUntilTimeout stm32f0xx_hal_uart.o
0x080019f2 0x080019f2 0x00000002 PAD
0x080019f4 0x080019f4 0x00000020 Code RO 3654 i.__0printf$3 mc_p.l(printf3.o)
0x08001a14 0x08001a14 0x0000000e Code RO 3896 i.__scatterload_copy mc_p.l(handlers.o)
0x08001a22 0x08001a22 0x00000002 Code RO 3897 i.__scatterload_null mc_p.l(handlers.o)
0x08001a24 0x08001a24 0x0000000e Code RO 3898 i.__scatterload_zeroinit mc_p.l(handlers.o)
0x08001a32 0x08001a32 0x00000002 PAD
0x08001a34 0x08001a34 0x000001cc Code RO 3661 i._printf_core mc_p.l(printf3.o)
0x08001c00 0x08001c00 0x00000008 Code RO 314 i.byte_to_int16_t main.o
0x08001c08 0x08001c08 0x00000010 Code RO 13 i.delay_us_init delay_us.o
0x08001c18 0x08001c18 0x00000018 Code RO 315 i.fputc main.o
0x08001c30 0x08001c30 0x00000050 Code RO 316 i.handle_protocol_switch main.o
0x08001c80 0x08001c80 0x00000030 Code RO 149 i.kb_buf_add helpers.o
0x08001cb0 0x08001cb0 0x00000020 Code RO 150 i.kb_buf_init helpers.o
0x08001cd0 0x08001cd0 0x0000001c Code RO 152 i.kb_buf_is_full helpers.o
0x08001cec 0x08001cec 0x0000001c Code RO 155 i.kb_buf_reset helpers.o
0x08001d08 0x08001d08 0x000000b4 Code RO 319 i.main main.o
0x08001dbc 0x08001dbc 0x0000006c Code RO 3827 i.malloc mc_p.l(malloc.o)
0x08001e28 0x08001e28 0x00000032 Code RO 156 i.mouse_buf_add helpers.o
0x08001e5a 0x08001e5a 0x00000018 Code RO 157 i.mouse_buf_init helpers.o
0x08001e72 0x08001e72 0x0000001c Code RO 159 i.mouse_buf_is_full helpers.o
0x08001e8e 0x08001e8e 0x00000016 Code RO 162 i.mouse_buf_reset helpers.o
0x08001ea4 0x08001ea4 0x000000d8 Code RO 320 i.parse_spi_buf main.o
0x08001f7c 0x08001f7c 0x0000001c Code RO 321 i.protocol_status_lookup_init main.o
0x08001f98 0x08001f98 0x00000012 Code RO 257 i.quad_decrement quad_encoder.o
0x08001faa 0x08001faa 0x00000012 Code RO 259 i.quad_init quad_encoder.o
0x08001fbc 0x08001fbc 0x0000000c Code RO 260 i.quad_reset quad_encoder.o
0x08001fc8 0x08001fc8 0x00000058 Code RO 261 i.quad_write quad_encoder.o
0x08002020 0x08002020 0x0000007c Code RO 322 i.spi_error_dump_reboot main.o
0x0800209c 0x0800209c 0x00000004 Data RO 262 .constdata quad_encoder.o
0x080020a0 0x080020a0 0x00000037 Data RO 328 .constdata main.o
0x080020d7 0x080020d7 0x00000010 Data RO 3522 .constdata system_stm32f0xx.o
0x080020e7 0x080020e7 0x00000008 Data RO 3523 .constdata system_stm32f0xx.o
0x080020ef 0x080020ef 0x00000001 PAD
0x080020f0 0x080020f0 0x00000020 Data RO 3894 Region$$Table anon$$obj.o
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08002030, Size: 0x000007a0, Max: 0x00001800, ABSOLUTE)
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08002110, Size: 0x000007b0, Max: 0x00001800, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 0x08002030 0x00000004 Data RW 15 .data delay_us.o
0x20000004 0x08002034 0x0000000c Data RW 279 .data main.o
0x20000010 0x08002040 0x00000004 Data RW 2320 .data stm32f0xx_hal.o
0x20000014 0x08002044 0x00000004 Data RW 3491 .data system_stm32f0xx.o
0x20000018 0x08002048 0x00000004 Data RW 3835 .data mc_p.l(stdout.o)
0x2000001c 0x0800204c 0x00000004 Data RW 3838 .data mc_p.l(mvars.o)
0x20000020 0x08002050 0x00000004 Data RW 3839 .data mc_p.l(mvars.o)
0x20000024 - 0x0000017c Zero RW 273 .bss main.o
0x200001a0 - 0x00000200 Zero RW 2 HEAP startup_stm32f042x6.o
0x200003a0 - 0x00000400 Zero RW 1 STACK startup_stm32f042x6.o
0x20000000 0x08002110 0x00000004 Data RW 15 .data delay_us.o
0x20000004 0x08002114 0x0000000c Data RW 329 .data main.o
0x20000010 0x08002120 0x00000004 Data RW 2353 .data stm32f0xx_hal.o
0x20000014 0x08002124 0x00000004 Data RW 3524 .data system_stm32f0xx.o
0x20000018 0x08002128 0x00000004 Data RW 3868 .data mc_p.l(stdout.o)
0x2000001c 0x0800212c 0x00000004 Data RW 3871 .data mc_p.l(mvars.o)
0x20000020 0x08002130 0x00000004 Data RW 3872 .data mc_p.l(mvars.o)
0x20000024 - 0x0000018c Zero RW 323 .bss main.o
0x200001b0 - 0x00000200 Zero RW 2 HEAP startup_stm32f042x6.o
0x200003b0 - 0x00000400 Zero RW 1 STACK startup_stm32f042x6.o
==============================================================================
@@ -2134,7 +2160,8 @@ Image component sizes
16 4 0 4 0 448436 delay_us.o
260 0 0 0 0 6288 helpers.o
1126 162 55 12 380 15455 main.o
1210 172 55 12 396 15570 main.o
136 6 4 0 0 3230 quad_encoder.o
88 38 192 0 1536 648 startup_stm32f042x6.o
122 18 0 4 0 3631 stm32f0xx_hal.o
178 28 0 0 0 10531 stm32f0xx_hal_cortex.o
@@ -2150,7 +2177,7 @@ Image component sizes
92 14 24 4 0 1147 system_stm32f0xx.o
----------------------------------------------------------------------
7132 500 304 24 1916 524703 Object Totals
7352 516 308 24 1932 528048 Object Totals
0 0 32 0 0 0 (incl. Generated)
22 0 1 0 0 0 (incl. Padding)
@@ -2196,15 +2223,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug
7936 544 304 36 1916 521747 Grand Totals
7936 544 304 36 1916 521747 ELF Image Totals
7936 544 304 36 0 0 ROM Totals
8156 560 308 36 1932 524916 Grand Totals
8156 560 308 36 1932 524916 ELF Image Totals
8156 560 308 36 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 8240 ( 8.05kB)
Total RW Size (RW Data + ZI Data) 1952 ( 1.91kB)
Total ROM Size (Code + RO Data + RW Data) 8276 ( 8.08kB)
Total RO Size (Code + RO Data) 8464 ( 8.27kB)
Total RW Size (RW Data + ZI Data) 1968 ( 1.92kB)
Total ROM Size (Code + RO Data + RW Data) 8500 ( 8.30kB)
==============================================================================

View File

@@ -1,10 +1,10 @@
Dependencies for Project 'my_adb', Target 'my_adb': (DO NOT MODIFY !)
CompilerVersion: 5060750::V5.06 update 6 (build 750)::ARMCC
F (startup_stm32f042x6.s)(0x620EB6AE)(--cpu Cortex-M0 -g --apcs=interwork --pd "__MICROLIB SETA 1"
F (startup_stm32f042x6.s)(0x620EBB6B)(--cpu Cortex-M0 -g --apcs=interwork --pd "__MICROLIB SETA 1"
-I.\RTE\_my_adb
-IC:\Users\allen\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include
-IC:\Users\allen\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include
-IC:\Users\allen\AppData\Local\Arm\Packs\Keil\STM32F0xx_DFP\2.0.0\Drivers\CMSIS\Device\ST\STM32F0xx\Include
@@ -41,8 +41,8 @@ I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x5D9B4298)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h)(0x5DFA0893)
@@ -74,10 +74,48 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h)(0x5DFA0893)
I (../Inc/stm32f0xx_hal_conf.h)(0x620EBB6A)
I (../Inc/main.h)(0x620EBB6A)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h)(0x5DFA0893)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h)(0x5DFA0880)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h)(0x5DFA0893)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h)(0x5DFA0880)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h)(0x5DFA0880)
I (../Drivers/CMSIS/Include/core_cm0.h)(0x5DFA0892)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5D9B4298)
I (../Drivers/CMSIS/Include/core_cmInstr.h)(0x5DFA0892)
I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x5DFA0892)
I (../Drivers/CMSIS/Include/core_cm0.h)(0x5DFA0892)
I (../Drivers/CMSIS/Include/core_cmFunc.h)(0x5DFA0892)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h)(0x5DFA0880)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h)(0x5DFA0893)
I (../Inc/shared.h)(0x617487BD)
F (..\Inc\delay_us.h)(0x617487C7)()
F (..\Inc\helpers.h)(0x61E0BF7F)()
F (..\Inc\quad_encoder.h)(0x620EC234)()
F (..\Src\quad_encoder.c)(0x620EC243)(--c99 -c --cpu Cortex-M0 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Inc -I ../Drivers/STM32F0xx_HAL_Driver/Inc -I ../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I ../Drivers/CMSIS/Include
-I.\RTE\_my_adb
-IC:\Users\allen\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include
-IC:\Users\allen\AppData\Local\Arm\Packs\Keil\STM32F0xx_DFP\2.0.0\Drivers\CMSIS\Device\ST\STM32F0xx\Include
-D__UVISION_VERSION="529" -D_RTE_ -DSTM32F042x6 -DUSE_HAL_DRIVER -DSTM32F042x6
-o my_adb\quad_encoder.o --omf_browse my_adb\quad_encoder.crf --depend my_adb\quad_encoder.d)
I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5D9B429A)
I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x5D9B4298)
I (C:\Keil_v5\ARM\ARMCC\include\stdlib.h)(0x5D9B429A)
@@ -112,11 +150,11 @@ I (C:\Keil_v5\ARM\ARMCC\include\stdlib.h)(0x5D9B429A)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
-D__UVISION_VERSION="529" -D_RTE_ -DSTM32F042x6 -DUSE_HAL_DRIVER -DSTM32F042x6
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h)(0x5DFA0893)
I (../Inc/shared.h)(0x617487BD)
F (../Src/main.c)(0x620EC230)(--c99 -c --cpu Cortex-M0 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Inc -I ../Drivers/STM32F0xx_HAL_Driver/Inc -I ../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I ../Drivers/CMSIS/Include
I (../Inc/main.h)(0x620EB6AD)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h)(0x5DFA0893)
-I.\RTE\_my_adb
-IC:\Users\allen\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include
@@ -146,11 +184,11 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h)(0x5DFA0893)
I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x5D9B4298)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h)(0x5DFA0893)
I (../Inc/delay_us.h)(0x617487C7)
I (../Inc/shared.h)(0x617487BD)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h)(0x5DFA0893)
@@ -180,48 +218,10 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h)(0x5DFA0893)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h)(0x5DFA0880)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h)(0x5DFA0893)
I (../Inc/stm32f0xx_it.h)(0x620EB6AC)
F (../Src/stm32f0xx_hal_msp.c)(0x620EB6AD)(--c99 -c --cpu Cortex-M0 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Inc -I ../Drivers/STM32F0xx_HAL_Driver/Inc -I ../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I ../Drivers/CMSIS/Include
-I.\RTE\_my_adb
-IC:\Users\allen\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include
-IC:\Users\allen\AppData\Local\Arm\Packs\Keil\STM32F0xx_DFP\2.0.0\Drivers\CMSIS\Device\ST\STM32F0xx\Include
-D__UVISION_VERSION="529" -D_RTE_ -DSTM32F042x6 -DUSE_HAL_DRIVER -DSTM32F042x6
-o my_adb\stm32f0xx_hal_msp.o --omf_browse my_adb\stm32f0xx_hal_msp.crf --depend my_adb\stm32f0xx_hal_msp.d)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h)(0x5DFA0893)
I (../Inc/stm32f0xx_hal_conf.h)(0x620EB6AD)
I (../Inc/main.h)(0x620EB6AD)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h)(0x5DFA0893)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h)(0x5DFA0880)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h)(0x5DFA0880)
I (../Drivers/CMSIS/Include/core_cm0.h)(0x5DFA0892)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5D9B4298)
I (../Drivers/CMSIS/Include/core_cmInstr.h)(0x5DFA0892)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h)(0x5DFA0880)
I (../Drivers/CMSIS/Include/core_cm0.h)(0x5DFA0892)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h)(0x5DFA0880)
I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5D9B429A)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5D9B4298)
I (../Drivers/CMSIS/Include/core_cmInstr.h)(0x5DFA0892)
I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x5DFA0892)
I (../Drivers/CMSIS/Include/core_cmFunc.h)(0x5DFA0892)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h)(0x5DFA0880)
@@ -253,8 +253,8 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
-IC:\Users\allen\AppData\Local\Arm\Packs\Keil\STM32F0xx_DFP\2.0.0\Drivers\CMSIS\Device\ST\STM32F0xx\Include
I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x5D9B4298)
I (C:\Keil_v5\ARM\ARMCC\include\stdlib.h)(0x5D9B429A)
-D__UVISION_VERSION="529" -D_RTE_ -DSTM32F042x6 -DUSE_HAL_DRIVER -DSTM32F042x6
-o my_adb\stm32f0xx_hal_msp.o --omf_browse my_adb\stm32f0xx_hal_msp.crf --depend my_adb\stm32f0xx_hal_msp.d)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h)(0x5DFA0893)
I (../Inc/stm32f0xx_hal_conf.h)(0x620EBB6A)
@@ -286,8 +286,8 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h)(0x5DFA0893)
I (../Inc/shared.h)(0x617487BD)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h)(0x5DFA0893)
F (../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_spi.c)(0x5DFA0893)(--c99 -c --cpu Cortex-M0 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Inc -I ../Drivers/STM32F0xx_HAL_Driver/Inc -I ../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I ../Drivers/CMSIS/Include
-I.\RTE\_my_adb
@@ -319,8 +319,8 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h)(0x5DFA0893)
@@ -352,8 +352,8 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
I (../Drivers/CMSIS/Include/core_cm0.h)(0x5DFA0892)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5D9B4298)
I (../Drivers/CMSIS/Include/core_cmInstr.h)(0x5DFA0892)
I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x5DFA0892)
I (../Drivers/CMSIS/Include/core_cmFunc.h)(0x5DFA0892)
I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x5DFA0892)
I (../Drivers/CMSIS/Include/core_cmFunc.h)(0x5DFA0892)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h)(0x5DFA0880)
I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5D9B429A)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h)(0x5DFA0893)
@@ -385,8 +385,8 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
-D__UVISION_VERSION="529" -D_RTE_ -DSTM32F042x6 -DUSE_HAL_DRIVER -DSTM32F042x6
-o my_adb\stm32f0xx_hal_tim.o --omf_browse my_adb\stm32f0xx_hal_tim.crf --depend my_adb\stm32f0xx_hal_tim.d)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h)(0x5DFA0893)
I (../Inc/stm32f0xx_hal_conf.h)(0x620EB6AD)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h)(0x5DFA0893)
I (../Inc/stm32f0xx_hal_conf.h)(0x620EBB6A)
I (../Inc/main.h)(0x620EBB6A)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h)(0x5DFA0893)
@@ -418,8 +418,8 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h)(0x5DFA0893)
F (../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c)(0x5DFA0893)(--c99 -c --cpu Cortex-M0 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Inc -I ../Drivers/STM32F0xx_HAL_Driver/Inc -I ../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I ../Drivers/CMSIS/Include
-I.\RTE\_my_adb
-I.\RTE\_my_adb
-IC:\Users\allen\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include
@@ -451,8 +451,8 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi_ex.h)(0x5DFA0893)
@@ -484,8 +484,8 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x5DFA0892)
I (../Drivers/CMSIS/Include/core_cmFunc.h)(0x5DFA0892)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h)(0x5DFA0880)
I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5D9B429A)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h)(0x5DFA0893)
I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5D9B429A)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h)(0x5DFA0893)
@@ -517,8 +517,8 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h)(0x5DFA0893)
I (../Inc/stm32f0xx_hal_conf.h)(0x620EBB6A)
I (../Inc/main.h)(0x620EBB6A)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h)(0x5DFA0893)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h)(0x5DFA0880)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h)(0x5DFA0880)
I (../Drivers/CMSIS/Include/core_cm0.h)(0x5DFA0892)
@@ -550,8 +550,8 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
-I.\RTE\_my_adb
-IC:\Users\allen\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include
-IC:\Users\allen\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include
-IC:\Users\allen\AppData\Local\Arm\Packs\Keil\STM32F0xx_DFP\2.0.0\Drivers\CMSIS\Device\ST\STM32F0xx\Include
-D__UVISION_VERSION="529" -D_RTE_ -DSTM32F042x6 -DUSE_HAL_DRIVER -DSTM32F042x6
@@ -583,8 +583,8 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
@@ -616,8 +616,8 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5D9B429A)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h)(0x5DFA0893)
@@ -649,8 +649,8 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h)(0x5DFA0893)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h)(0x5DFA0880)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h)(0x5DFA0880)
I (../Drivers/CMSIS/Include/core_cm0.h)(0x5DFA0892)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h)(0x5DFA0880)
I (../Drivers/CMSIS/Include/core_cm0.h)(0x5DFA0892)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5D9B4298)
I (../Drivers/CMSIS/Include/core_cmInstr.h)(0x5DFA0892)
I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x5DFA0892)
@@ -682,8 +682,8 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
-IC:\Users\allen\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include
-IC:\Users\allen\AppData\Local\Arm\Packs\Keil\STM32F0xx_DFP\2.0.0\Drivers\CMSIS\Device\ST\STM32F0xx\Include
-D__UVISION_VERSION="529" -D_RTE_ -DSTM32F042x6 -DUSE_HAL_DRIVER -DSTM32F042x6
-D__UVISION_VERSION="529" -D_RTE_ -DSTM32F042x6 -DUSE_HAL_DRIVER -DSTM32F042x6
-o my_adb\stm32f0xx_hal_i2c.o --omf_browse my_adb\stm32f0xx_hal_i2c.crf --depend my_adb\stm32f0xx_hal_i2c.d)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h)(0x5DFA0893)
@@ -715,8 +715,8 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h)(0x5DFA0893)
F (../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c)(0x5DFA0893)(--c99 -c --cpu Cortex-M0 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Inc -I ../Drivers/STM32F0xx_HAL_Driver/Inc -I ../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I ../Drivers/CMSIS/Include
@@ -748,8 +748,8 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h)(0x5DFA0893)
@@ -781,8 +781,8 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h)(0x5DFA0893)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h)(0x5DFA0880)
I (../Drivers/CMSIS/Include/core_cm0.h)(0x5DFA0892)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5D9B4298)
I (../Drivers/CMSIS/Include/core_cmInstr.h)(0x5DFA0892)
I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x5DFA0892)
I (../Drivers/CMSIS/Include/core_cmInstr.h)(0x5DFA0892)
I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x5DFA0892)
I (../Drivers/CMSIS/Include/core_cmFunc.h)(0x5DFA0892)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h)(0x5DFA0880)
I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5D9B429A)
@@ -822,8 +822,8 @@ I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x5DFA0892)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h)(0x5DFA0893)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h)(0x5DFA0880)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h)(0x5DFA0880)
I (../Drivers/CMSIS/Include/core_cm0.h)(0x5DFA0892)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5D9B4298)
I (../Drivers/CMSIS/Include/core_cm0.h)(0x5DFA0892)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5D9B4298)
I (../Drivers/CMSIS/Include/core_cmInstr.h)(0x5DFA0892)
I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x5DFA0892)
I (../Drivers/CMSIS/Include/core_cmFunc.h)(0x5DFA0892)

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -248,6 +248,7 @@ uint8_t int16_to_uint6(int16_t value)
return (uint8_t)value;
}
quad_output quad_x;
/* USER CODE END 0 */
@@ -295,12 +296,15 @@ int main(void)
/* Infinite loop */
/* USER CODE BEGIN WHILE */
// GPIOF, GPIO_PIN_0
quad_init(&quad_x, GPIOF, GPIO_PIN_0, GPIOF, GPIO_PIN_1);
while (1)
{
if(spi_error_occured)
spi_error_dump_reboot();
quad_decrement(&quad_x);
HAL_Delay(1);
/* USER CODE END WHILE */
@@ -449,11 +453,15 @@ static void MX_GPIO_Init(void)
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOB_CLK_ENABLE();
__HAL_RCC_GPIOF_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(USER_LED_GPIO_Port, USER_LED_Pin, GPIO_PIN_RESET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOF, GPIO_PIN_0|GPIO_PIN_1, GPIO_PIN_RESET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(SLAVE_REQ_GPIO_Port, SLAVE_REQ_Pin, GPIO_PIN_RESET);
@@ -464,6 +472,13 @@ static void MX_GPIO_Init(void)
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(USER_LED_GPIO_Port, &GPIO_InitStruct);
/*Configure GPIO pins : PF0 PF1 */
GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
/*Configure GPIO pin : SLAVE_REQ_Pin */
GPIO_InitStruct.Pin = SLAVE_REQ_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;

View File

@@ -4,3 +4,58 @@
#include "quad_encoder.h"
#include "shared.h"
const uint8_t grey_code_lookup[4] = {0, 1, 3, 2};
void quad_write(quad_output *qo)
{
// printf("%d\n", qo->current_index);
uint8_t current_code = grey_code_lookup[qo->current_index];
switch(current_code)
{
case 0:
HAL_GPIO_WritePin(qo->A_port, qo->A_pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(qo->B_port, qo->B_pin, GPIO_PIN_RESET);
break;
case 1:
HAL_GPIO_WritePin(qo->A_port, qo->A_pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(qo->B_port, qo->B_pin, GPIO_PIN_SET);
break;
case 2:
HAL_GPIO_WritePin(qo->A_port, qo->A_pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(qo->B_port, qo->B_pin, GPIO_PIN_RESET);
break;
case 3:
HAL_GPIO_WritePin(qo->A_port, qo->A_pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(qo->B_port, qo->B_pin, GPIO_PIN_SET);
break;
default:
break;
}
}
void quad_reset(quad_output *qo)
{
qo->current_index = 0;
quad_write(qo);
}
void quad_init(quad_output *qo, GPIO_TypeDef* this_A_port, uint16_t this_A_pin, GPIO_TypeDef* this_B_port, uint16_t this_B_pin)
{
qo->A_port = this_A_port;
qo->A_pin = this_A_pin;
qo->B_port = this_B_port;
qo->B_pin = this_B_pin;
quad_reset(qo);
}
void quad_increment(quad_output *qo)
{
qo->current_index = (uint8_t)(qo->current_index + 1) % 4;
quad_write(qo);
}
void quad_decrement(quad_output *qo)
{
qo->current_index = (uint8_t)(qo->current_index - 1) % 4;
quad_write(qo);
}

View File

@@ -12,18 +12,20 @@ Mcu.IPNb=6
Mcu.Name=STM32F042F6Px
Mcu.Package=TSSOP20
Mcu.Pin0=PB8
Mcu.Pin1=PA1
Mcu.Pin10=VP_SYS_VS_Systick
Mcu.Pin11=VP_TIM2_VS_ClockSourceINT
Mcu.Pin2=PA2
Mcu.Pin3=PA4
Mcu.Pin4=PA5
Mcu.Pin5=PA6
Mcu.Pin6=PA7
Mcu.Pin7=PA13
Mcu.Pin8=PA14
Mcu.Pin9=VP_SYS_VS_PINREMAP
Mcu.PinsNb=12
Mcu.Pin1=PF0-OSC_IN
Mcu.Pin10=PA14
Mcu.Pin11=VP_SYS_VS_PINREMAP
Mcu.Pin12=VP_SYS_VS_Systick
Mcu.Pin13=VP_TIM2_VS_ClockSourceINT
Mcu.Pin2=PF1-OSC_OUT
Mcu.Pin3=PA1
Mcu.Pin4=PA2
Mcu.Pin5=PA4
Mcu.Pin6=PA5
Mcu.Pin7=PA6
Mcu.Pin8=PA7
Mcu.Pin9=PA13
Mcu.PinsNb=14
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32F042F6Px
@@ -66,6 +68,10 @@ PCC.Seq0=0
PCC.Series=STM32F0
PCC.Temperature=25
PCC.Vdd=3.6
PF0-OSC_IN.Locked=true
PF0-OSC_IN.Signal=GPIO_Output
PF1-OSC_OUT.Locked=true
PF1-OSC_OUT.Signal=GPIO_Output
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false

View File

@@ -1,307 +1 @@
for (int i = 0; i < SPI_BUF_SIZE; ++i)
printf("%d ", backup_spi1_recv_buf[i]);
printf("\n");
printf("%d %d %x\n", buffered_code, adb_code, response);
while (1)
{
DEBUG0_HI();
process_spi_data();
DEBUG0_LOW();
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
if(IS_ADB_DEVICE_PRESENT() == 0)
continue;
adb_status = adb_recv_cmd(&adb_data, 0);
if(adb_status == ADB_LINE_STATUS_RESET)
adb_reset();
else if(adb_status != ADB_OK)
continue;
uint8_t this_addr = adb_data >> 4;
mouse_event* this_mouse_event = mouse_buf_peek(&my_mouse_buf);
if(this_mouse_event != NULL)
{
}
adb_status = parse_adb_cmd(adb_data);
if(adb_status == ADB_MOUSE_POLL)
adb_mouse_update();
}
/* USER CODE END 3 */
}
// printf("%d %d\n", this_mouse_event->movement_x, this_mouse_event->movement_y);
// mouse_buf_pop(&my_mouse_buf);
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
adb_status = adb_recv_cmd(&adb_data, 0);
// printf("%d\n", adb_status);
if(adb_status == ADB_LINE_STATUS_RESET)
adb_reset();
else if(adb_status != ADB_OK)
continue;
// printf("%d\n", adb_data);
adb_status = parse_adb_cmd(adb_data);
if(adb_status == ADB_MOUSE_POLL)
{
adb_mouse_update();
}
// if(adb_status == ADB_KB_POLL)
// {
// DEBUG0_HI();
// DEBUG0_LOW();
// }
}
adb_status = adb_recv_cmd(&adb_data, 0);
// if(cmd == ADB_CMD_TYPE_TALK && reg == 0 && addr == adb_mouse_current_addr && HAL_GetTick() - last_send > 500)
// {
// uint16_t response = 0x8082;
// if(HAL_GetTick() % 2)
// response = 0x80fc;
// adb_send_response_16b(response);
// last_send = HAL_GetTick();
// }
uint32_t last_send;
void adb_mouse_update(void)
{
mouse_event* this_mouse_event = mouse_buf_peek(&my_mouse_buf);
if(this_mouse_event == NULL)
return;
// uint16_t response = 0;
// if(this_mouse_event->button_left == 0)
// response |= 0x8000;
// if(this_mouse_event->button_right == 0)
// response |= 0x80;
response |= ((uint8_t)(this_mouse_event->movement_x)) & 0x7f;
response |= (((uint8_t)(this_mouse_event->movement_y)) & 0x7f) << 8;
adb_send_response_16b(response);
printf("0x%x\n", response);
if(HAL_GetTick() - last_send > 100)
{
// uint16_t response = 0x8080;
// if(HAL_GetTick() % 2)
// response = 0x80fc;
DEBUG1_HI();
adb_send_response_16b(response);
DEBUG1_LOW();
last_send = HAL_GetTick();
}
mouse_buf_reset(&my_mouse_buf);
}
if(adb_status == ADB_LINE_STATUS_RESET)
adb_reset();
else if(adb_status != ADB_OK)
continue;
adb_status = parse_adb_cmd(adb_data);
if(adb_status == ADB_MOUSE_POLL)
{
// DEBUG0_HI();
adb_mouse_update();
// DEBUG0_LOW();
}
if(cmd == ADB_CMD_TYPE_TALK && reg == 0 && addr == adb_mouse_current_addr && HAL_GetTick() - last_send > 500)
{
uint16_t response = 0x80fc;
DEBUG1_HI();
adb_send_response_16b(response);
last_send = HAL_GetTick();
printf("sending...\n");
DEBUG1_LOW();
}
if(cmd == ADB_CMD_TYPE_TALK && reg == 0 && addr == adb_kb_current_addr && HAL_GetTick() - last_send > 500)
{
uint16_t response = 0x580;
DEBUG1_HI();
adb_send_response_16b(response);
last_send = HAL_GetTick();
printf("sending...\n");
DEBUG1_LOW();
}
if(micros() - atten_start < 700)
printf("%d\n", micros() - atten_start);
void adb_recv_cmd(void)
{
HAL_GPIO_WritePin(DEBUG0_GPIO_Port, DEBUG0_Pin, GPIO_PIN_SET);
uint8_t result = look_for_atten(1);
HAL_GPIO_WritePin(DEBUG0_GPIO_Port, DEBUG0_Pin, GPIO_PIN_RESET);
// printf("%d\n", result);
uint8_t atten_result = look_for_atten(1);
if(atten_result != )
}
// if ADB data line is high
while(ADB_READ_DATA_PIN() == GPIO_PIN_SET)
{
if(blocking == 0)
return ADB_LINE_STATUS_IDLE;
}
printf("%d %d\n", lo_time, hi_time);
HAL_GPIO_WritePin(DEBUG0_GPIO_Port, DEBUG0_Pin, GPIO_PIN_SET);
// parse_adb_cmd(adb_data);
printf("%d 0x%x\n", adb_status, adb_data);
HAL_GPIO_WritePin(DEBUG0_GPIO_Port, DEBUG0_Pin, GPIO_PIN_RESET);
// HAL_Delay(4);
if(adb_status != 0)
HAL_GPIO_WritePin(DEBUG0_GPIO_Port, DEBUG0_Pin, GPIO_PIN_SET);
else
HAL_GPIO_WritePin(DEBUG0_GPIO_Port, DEBUG0_Pin, GPIO_PIN_RESET);
if((adb_data & 0xf) == 0x4)
HAL_GPIO_WritePin(DEBUG1_GPIO_Port, DEBUG1_Pin, GPIO_PIN_SET);
else
HAL_GPIO_WritePin(DEBUG1_GPIO_Port, DEBUG1_Pin, GPIO_PIN_RESET);
// printf("%d 0x%x %x\n", adb_status, adb_data, adb_data & 0xf);
if(adb_status != 0)
HAL_GPIO_WritePin(DEBUG0_GPIO_Port, DEBUG0_Pin, GPIO_PIN_SET);
else
HAL_GPIO_WritePin(DEBUG0_GPIO_Port, DEBUG0_Pin, GPIO_PIN_RESET);
printf("%d 0x%x\n", adb_status, adb_data);
uint16_t adb_mouse_reg[ADB_REG_SIZE];
uint16_t adb_kb_reg[ADB_REG_SIZE];
#define ADB_REG_SIZE 4
default addr:
2 = keyboard
3 = mouse
host: 0000 1111 = 0x0f addr 0 talk reg 3
no response
host: 0001 1111 = 0x1f addr 1 talk reg 3
no response
host: 0010 1111 = 0x2f addr 2 talk reg 3
device: 0110 0000 0000 0101
keyboard
host: 0011 1111 = 0x3f addr 3 talk reg 3
device: 0110 1010 0000 0001
mouse
host: 0100 1111 = 0x4f addr 4 talk reg 3
no response
...
host: 1111 1111 = 0xff addr 15 talk reg 3
no response
----------
host: 0010 1011 addr 2 listen reg 3
0000 1111 1111 1110 change addr to 0xf
host: 00101111 addr 2 talk reg 3
no response
host: 1111 1011 addr 0xf listen reg 3
0000 0010 1111 1110 change addr to 0x2
host: 1111 1111 addr 0xf talk reg 3
no response
-----------
host: 0011 1011 addr 3 listen reg 3
0000 1111 1111 1110 change addr to 0xf
host: 0011 1111 addr 3 talk reg 3
no response
host: 1111 1011 addr 0xf listen reg 3
0000 0011 1111 1110 change addr to 0x3
host: 1111 1111 addr 0xf talk reg 3
no response
-----
host: 0010 1011
if(cmd == ADB_CMD_TYPE_LISTEN && reg == 3 && addr == adb_mouse_current_addr)
{
uint16_t host_cmd;
DEBUG0_HI();
adb_listen_16b(&host_cmd);
DEBUG0_LOW();
if((host_cmd & ADB_CHANGE_ADDR) == ADB_CHANGE_ADDR)
{
adb_mouse_current_addr = (host_cmd & 0xf00) >> 8;
printf("m %x\n", adb_mouse_current_addr);
}
}
if(cmd == ADB_CMD_TYPE_LISTEN && reg == 3 && addr == adb_kb_current_addr)
{
uint16_t host_cmd;
DEBUG0_HI();
adb_listen_16b(&host_cmd);
DEBUG0_LOW();
if((host_cmd & ADB_CHANGE_ADDR) == ADB_CHANGE_ADDR)
{
adb_kb_current_addr = (host_cmd & 0xf00) >> 8;
printf("kb %x\n", adb_kb_current_addr);
}
}
// printf("%x %x\n", host_cmd, adb_mouse_current_addr);
printf("!\n");
printf("%x %x\n", host_cmd, host_cmd & ADB_CHANGE_ADDR);
// if(cmd == ADB_CMD_TYPE_TALK && reg == 3)
// printf("0x%x %d %d %d\n", data, addr, cmd, reg);
void write_test(void)
{
// adb_mouse_reg[3] = 0x6001;
// uint16_t rand_id = (rand() % 0xf) << 8;
// adb_mouse_reg[3] |= rand_id;
// delay_us(200); // stop-to-start time
// TEST_ADB_DATA_LOW();
// delay_us(35);
// TEST_ADB_DATA_HI();
// delay_us(65);
// adb_write_16(adb_mouse_reg[3]);
// TEST_ADB_DATA_LOW();
// delay_us(65);
// TEST_ADB_DATA_HI();
}
printf("%d %d %d\n", (uint8_t)qo->current_index, (uint8_t)(qo->current_index - 1), (uint8_t)(qo->current_index - 1)%4);