updating SPI protocols

This commit is contained in:
dekunukem
2021-12-13 21:10:45 +00:00
parent 28cfbe79e6
commit fe50ca5d59
18 changed files with 972 additions and 967 deletions

View File

@@ -16,11 +16,12 @@
#define SPI_BUF_INDEX_SEQNUM 1
#define SPI_BUF_INDEX_MSG_TYPE 2
#define SPI_MOSI_MSG_INFO_REQUEST 0
#define SPI_MOSI_MSG_KB_EVENT 1
#define SPI_MOSI_MSG_MOUSE_EVENT 2
#define SPI_MOSI_MSG_GAMEPAD_EVENT 3
#define SPI_MOSI_MSG_REQ_ACK 4
#define SPI_MOSI_MSG_TYPE_NOP 0
#define SPI_MOSI_MSG_TYPE_INFO_REQUEST 1
#define SPI_MOSI_MSG_TYPE_KEYBOARD_EVENT 2
#define SPI_MOSI_MSG_TYPE_MOUSE_EVENT 3
#define SPI_MOSI_MSG_TYPE_GAMEPAD_EVENT_MAPPED 4
#define SPI_MOSI_MSG_TYPE_REQ_ACK 255
#define SPI_MISO_MSG_INFO_REPLY 0
#define SPI_MISO_MSG_KB_LED_REQ 1

View File

File diff suppressed because one or more lines are too long

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -27,10 +27,6 @@ Project File Date: 12/12/2021
<h2>Output:</h2>
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Build target 'ibmpc'
compiling main.c...
linking...
Program Size: Code=12252 RO-data=372 RW-data=96 ZI-data=2136
FromELF: creating hex file...
"ibmpc\ibmpc.axf" - 0 Error(s), 0 Warning(s).
<h2>Software Packages used:</h2>
@@ -54,7 +50,7 @@ Package Vendor: Keil
<h2>Collection of Component Files used:</h2>
* Component: ARM::CMSIS:CORE:5.3.0
Build Time Elapsed: 00:00:01
Build Time Elapsed: 00:00:00
</pre>
</body>
</html>

View File

File diff suppressed because it is too large Load Diff

View File

@@ -3,7 +3,7 @@
<title>Static Call Graph - [ibmpc\ibmpc.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image ibmpc\ibmpc.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Sun Dec 12 21:45:17 2021
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Mon Dec 13 21:01:31 2021
<BR><P>
<H3>Maximum Stack Usage = 196 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
@@ -510,7 +510,7 @@ Global Symbols
<LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TxRxCpltCallback
</UL>
<P><STRONG><a name="[4f]"></a>HAL_SPI_TxRxCpltCallback</STRONG> (Thumb, 200 bytes, Stack size 24 bytes, main.o(i.HAL_SPI_TxRxCpltCallback))
<P><STRONG><a name="[4f]"></a>HAL_SPI_TxRxCpltCallback</STRONG> (Thumb, 202 bytes, Stack size 24 bytes, main.o(i.HAL_SPI_TxRxCpltCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = HAL_SPI_TxRxCpltCallback &rArr; ps2mouse_buf_add &rArr; ps2mouse_buf_is_full &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TransmitReceive_IT

View File

@@ -1793,138 +1793,138 @@ Image Symbol Table
i.HAL_SPI_RxCpltCallback 0x08000eec Section 0 stm32f0xx_hal_spi.o(i.HAL_SPI_RxCpltCallback)
i.HAL_SPI_TransmitReceive_IT 0x08000ef0 Section 0 stm32f0xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT)
i.HAL_SPI_TxRxCpltCallback 0x08000fc4 Section 0 main.o(i.HAL_SPI_TxRxCpltCallback)
i.HAL_SYSTICK_CLKSourceConfig 0x080010a0 Section 0 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_CLKSourceConfig)
i.HAL_SYSTICK_Callback 0x080010b8 Section 0 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Callback)
i.HAL_SYSTICK_Config 0x080010bc Section 0 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Config)
i.HAL_SYSTICK_IRQHandler 0x080010ec Section 0 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler)
i.HAL_TIMEx_MasterConfigSynchronization 0x080010f4 Section 0 stm32f0xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization)
i.HAL_TIM_Base_Init 0x0800113c Section 0 stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Init)
i.HAL_TIM_Base_MspInit 0x08001170 Section 0 stm32f0xx_hal_msp.o(i.HAL_TIM_Base_MspInit)
i.HAL_TIM_Base_Start 0x08001194 Section 0 stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Start)
i.HAL_TIM_ConfigClockSource 0x080011ac Section 0 stm32f0xx_hal_tim.o(i.HAL_TIM_ConfigClockSource)
i.HAL_UARTEx_WakeupCallback 0x0800129a Section 0 stm32f0xx_hal_uart_ex.o(i.HAL_UARTEx_WakeupCallback)
i.HAL_UART_ErrorCallback 0x0800129c Section 0 stm32f0xx_hal_uart.o(i.HAL_UART_ErrorCallback)
i.HAL_UART_IRQHandler 0x080012a0 Section 0 stm32f0xx_hal_uart.o(i.HAL_UART_IRQHandler)
i.HAL_UART_Init 0x080013d4 Section 0 stm32f0xx_hal_uart.o(i.HAL_UART_Init)
i.HAL_UART_MspInit 0x08001440 Section 0 stm32f0xx_hal_msp.o(i.HAL_UART_MspInit)
i.HAL_UART_RxCpltCallback 0x080014d0 Section 0 stm32f0xx_hal_uart.o(i.HAL_UART_RxCpltCallback)
i.HAL_UART_Transmit 0x080014d2 Section 0 stm32f0xx_hal_uart.o(i.HAL_UART_Transmit)
i.HAL_UART_TxCpltCallback 0x0800159a Section 0 main.o(i.HAL_UART_TxCpltCallback)
i.HardFault_Handler 0x0800159c Section 0 stm32f0xx_it.o(i.HardFault_Handler)
i.MX_GPIO_Init 0x080015a0 Section 0 main.o(i.MX_GPIO_Init)
MX_GPIO_Init 0x080015a1 Thumb Code 286 main.o(i.MX_GPIO_Init)
i.MX_I2C2_Init 0x080016d4 Section 0 main.o(i.MX_I2C2_Init)
MX_I2C2_Init 0x080016d5 Thumb Code 70 main.o(i.MX_I2C2_Init)
i.MX_SPI1_Init 0x08001728 Section 0 main.o(i.MX_SPI1_Init)
MX_SPI1_Init 0x08001729 Thumb Code 52 main.o(i.MX_SPI1_Init)
i.MX_TIM2_Init 0x08001764 Section 0 main.o(i.MX_TIM2_Init)
MX_TIM2_Init 0x08001765 Thumb Code 80 main.o(i.MX_TIM2_Init)
i.MX_USART1_UART_Init 0x080017b8 Section 0 main.o(i.MX_USART1_UART_Init)
MX_USART1_UART_Init 0x080017b9 Thumb Code 46 main.o(i.MX_USART1_UART_Init)
i.MX_USART3_UART_Init 0x080017f0 Section 0 main.o(i.MX_USART3_UART_Init)
MX_USART3_UART_Init 0x080017f1 Thumb Code 62 main.o(i.MX_USART3_UART_Init)
i.NMI_Handler 0x08001838 Section 0 stm32f0xx_it.o(i.NMI_Handler)
i.NVIC_SetPriority 0x0800183c Section 0 stm32f0xx_hal_cortex.o(i.NVIC_SetPriority)
NVIC_SetPriority 0x0800183d Thumb Code 60 stm32f0xx_hal_cortex.o(i.NVIC_SetPriority)
i.PendSV_Handler 0x08001880 Section 0 stm32f0xx_it.o(i.PendSV_Handler)
i.SPI1_IRQHandler 0x08001884 Section 0 stm32f0xx_it.o(i.SPI1_IRQHandler)
i.SPI_2linesRxISR_16BIT 0x08001894 Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_16BIT)
SPI_2linesRxISR_16BIT 0x08001895 Thumb Code 54 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_16BIT)
i.SPI_2linesRxISR_8BIT 0x080018ca Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_8BIT)
SPI_2linesRxISR_8BIT 0x080018cb Thumb Code 94 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_8BIT)
i.SPI_2linesTxISR_16BIT 0x08001928 Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_16BIT)
SPI_2linesTxISR_16BIT 0x08001929 Thumb Code 52 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_16BIT)
i.SPI_2linesTxISR_8BIT 0x0800195c Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_8BIT)
SPI_2linesTxISR_8BIT 0x0800195d Thumb Code 72 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_8BIT)
i.SPI_CloseRxTx_ISR 0x080019a4 Section 0 stm32f0xx_hal_spi.o(i.SPI_CloseRxTx_ISR)
SPI_CloseRxTx_ISR 0x080019a5 Thumb Code 82 stm32f0xx_hal_spi.o(i.SPI_CloseRxTx_ISR)
i.SPI_DMAAbortOnError 0x080019f6 Section 0 stm32f0xx_hal_spi.o(i.SPI_DMAAbortOnError)
SPI_DMAAbortOnError 0x080019f7 Thumb Code 18 stm32f0xx_hal_spi.o(i.SPI_DMAAbortOnError)
i.SPI_EndRxTxTransaction 0x08001a08 Section 0 stm32f0xx_hal_spi.o(i.SPI_EndRxTxTransaction)
SPI_EndRxTxTransaction 0x08001a09 Thumb Code 76 stm32f0xx_hal_spi.o(i.SPI_EndRxTxTransaction)
i.SPI_WaitFifoStateUntilTimeout 0x08001a54 Section 0 stm32f0xx_hal_spi.o(i.SPI_WaitFifoStateUntilTimeout)
SPI_WaitFifoStateUntilTimeout 0x08001a55 Thumb Code 150 stm32f0xx_hal_spi.o(i.SPI_WaitFifoStateUntilTimeout)
i.SPI_WaitFlagStateUntilTimeout 0x08001aea Section 0 stm32f0xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout)
SPI_WaitFlagStateUntilTimeout 0x08001aeb Thumb Code 140 stm32f0xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout)
i.SVC_Handler 0x08001b76 Section 0 stm32f0xx_it.o(i.SVC_Handler)
i.SysTick_Handler 0x08001b78 Section 0 stm32f0xx_it.o(i.SysTick_Handler)
i.SystemClock_Config 0x08001b84 Section 0 main.o(i.SystemClock_Config)
i.SystemInit 0x08001bf0 Section 0 system_stm32f0xx.o(i.SystemInit)
i.TIM_Base_SetConfig 0x08001c4c Section 0 stm32f0xx_hal_tim.o(i.TIM_Base_SetConfig)
i.TIM_ETR_SetConfig 0x08001ce0 Section 0 stm32f0xx_hal_tim.o(i.TIM_ETR_SetConfig)
i.TIM_ITRx_SetConfig 0x08001cf6 Section 0 stm32f0xx_hal_tim.o(i.TIM_ITRx_SetConfig)
TIM_ITRx_SetConfig 0x08001cf7 Thumb Code 16 stm32f0xx_hal_tim.o(i.TIM_ITRx_SetConfig)
i.TIM_TI1_ConfigInputStage 0x08001d06 Section 0 stm32f0xx_hal_tim.o(i.TIM_TI1_ConfigInputStage)
TIM_TI1_ConfigInputStage 0x08001d07 Thumb Code 34 stm32f0xx_hal_tim.o(i.TIM_TI1_ConfigInputStage)
i.TIM_TI2_ConfigInputStage 0x08001d28 Section 0 stm32f0xx_hal_tim.o(i.TIM_TI2_ConfigInputStage)
TIM_TI2_ConfigInputStage 0x08001d29 Thumb Code 38 stm32f0xx_hal_tim.o(i.TIM_TI2_ConfigInputStage)
i.UART_AdvFeatureConfig 0x08001d4e Section 0 stm32f0xx_hal_uart.o(i.UART_AdvFeatureConfig)
i.UART_CheckIdleState 0x08001e18 Section 0 stm32f0xx_hal_uart.o(i.UART_CheckIdleState)
i.UART_DMAAbortOnError 0x08001e8c Section 0 stm32f0xx_hal_uart.o(i.UART_DMAAbortOnError)
UART_DMAAbortOnError 0x08001e8d Thumb Code 20 stm32f0xx_hal_uart.o(i.UART_DMAAbortOnError)
i.UART_EndRxTransfer 0x08001ea0 Section 0 stm32f0xx_hal_uart.o(i.UART_EndRxTransfer)
UART_EndRxTransfer 0x08001ea1 Thumb Code 30 stm32f0xx_hal_uart.o(i.UART_EndRxTransfer)
i.UART_EndTransmit_IT 0x08001ebe Section 0 stm32f0xx_hal_uart.o(i.UART_EndTransmit_IT)
i.UART_Receive_IT 0x08001ed8 Section 0 stm32f0xx_hal_uart.o(i.UART_Receive_IT)
i.UART_SetConfig 0x08001f54 Section 0 stm32f0xx_hal_uart.o(i.UART_SetConfig)
i.UART_Transmit_IT 0x080020b0 Section 0 stm32f0xx_hal_uart.o(i.UART_Transmit_IT)
i.UART_WaitOnFlagUntilTimeout 0x08002116 Section 0 stm32f0xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout)
i.USART3_4_IRQHandler 0x08002178 Section 0 stm32f0xx_it.o(i.USART3_4_IRQHandler)
i.__0printf$bare 0x08002188 Section 0 printfb.o(i.__0printf$bare)
i.__ARM_common_switch8 0x0800219c Section 0 ps2kb.o(i.__ARM_common_switch8)
i.__scatterload_copy 0x080021b6 Section 14 handlers.o(i.__scatterload_copy)
i.__scatterload_null 0x080021c4 Section 2 handlers.o(i.__scatterload_null)
i.__scatterload_zeroinit 0x080021c6 Section 14 handlers.o(i.__scatterload_zeroinit)
i._printf_core 0x080021d4 Section 0 printfb.o(i._printf_core)
_printf_core 0x080021d5 Thumb Code 30 printfb.o(i._printf_core)
i.byte_to_int16_t 0x080021f2 Section 0 main.o(i.byte_to_int16_t)
i.delay_us 0x080021fa Section 0 delay_us.o(i.delay_us)
i.delay_us_init 0x08002210 Section 0 delay_us.o(i.delay_us_init)
i.fputc 0x08002220 Section 0 main.o(i.fputc)
i.keyboard_reply 0x08002238 Section 0 ps2kb.o(i.keyboard_reply)
i.main 0x080022ec Section 0 main.o(i.main)
i.malloc 0x08002390 Section 0 malloc.o(i.malloc)
i.mcp4451_reset 0x080023fc Section 0 mcp4451.o(i.mcp4451_reset)
i.micros 0x08002428 Section 0 delay_us.o(i.micros)
i.ps2kb_buf_add 0x08002438 Section 0 helpers.o(i.ps2kb_buf_add)
i.ps2kb_buf_init 0x08002468 Section 0 helpers.o(i.ps2kb_buf_init)
i.ps2kb_buf_is_full 0x08002488 Section 0 helpers.o(i.ps2kb_buf_is_full)
i.ps2kb_buf_peek 0x080024a4 Section 0 helpers.o(i.ps2kb_buf_peek)
i.ps2kb_buf_pop 0x080024c4 Section 0 helpers.o(i.ps2kb_buf_pop)
i.ps2kb_buf_reset 0x080024dc Section 0 helpers.o(i.ps2kb_buf_reset)
i.ps2kb_get_bus_status 0x080024f8 Section 0 ps2kb.o(i.ps2kb_get_bus_status)
i.ps2kb_init 0x0800253c Section 0 ps2kb.o(i.ps2kb_init)
i.ps2kb_press_key 0x08002558 Section 0 ps2kb.o(i.ps2kb_press_key)
i.ps2kb_read 0x0800269c Section 0 ps2kb.o(i.ps2kb_read)
i.ps2kb_release_lines 0x08002798 Section 0 ps2kb.o(i.ps2kb_release_lines)
i.ps2kb_reset 0x080027b8 Section 0 ps2kb.o(i.ps2kb_reset)
i.ps2kb_update 0x080027c8 Section 0 main.o(i.ps2kb_update)
i.ps2kb_write 0x08002858 Section 0 ps2kb.o(i.ps2kb_write)
i.ps2kb_write_nowait 0x0800289c Section 0 ps2kb.o(i.ps2kb_write_nowait)
i.ps2mouse_buf_add 0x080029bc Section 0 helpers.o(i.ps2mouse_buf_add)
i.ps2mouse_buf_init 0x080029ee Section 0 helpers.o(i.ps2mouse_buf_init)
i.ps2mouse_buf_is_full 0x08002a06 Section 0 helpers.o(i.ps2mouse_buf_is_full)
i.ps2mouse_buf_peek 0x08002a22 Section 0 helpers.o(i.ps2mouse_buf_peek)
i.ps2mouse_buf_pop 0x08002a38 Section 0 helpers.o(i.ps2mouse_buf_pop)
i.ps2mouse_buf_reset 0x08002a50 Section 0 helpers.o(i.ps2mouse_buf_reset)
i.ps2mouse_get_bus_status 0x08002a68 Section 0 ps2mouse.o(i.ps2mouse_get_bus_status)
i.ps2mouse_get_outgoing_data 0x08002ac8 Section 0 ps2mouse.o(i.ps2mouse_get_outgoing_data)
i.ps2mouse_host_req_reply 0x08002b74 Section 0 ps2mouse.o(i.ps2mouse_host_req_reply)
i.ps2mouse_init 0x08002d0c Section 0 ps2mouse.o(i.ps2mouse_init)
i.ps2mouse_read 0x08002d28 Section 0 ps2mouse.o(i.ps2mouse_read)
i.ps2mouse_release_lines 0x08002e20 Section 0 ps2mouse.o(i.ps2mouse_release_lines)
i.ps2mouse_reset 0x08002e40 Section 0 ps2mouse.o(i.ps2mouse_reset)
i.ps2mouse_restore_defaults 0x08002e58 Section 0 ps2mouse.o(i.ps2mouse_restore_defaults)
i.ps2mouse_send_update 0x08002e7c Section 0 ps2mouse.o(i.ps2mouse_send_update)
i.ps2mouse_update 0x08002ea4 Section 0 main.o(i.ps2mouse_update)
i.ps2mouse_wait_for_idle 0x08002f08 Section 0 ps2mouse.o(i.ps2mouse_wait_for_idle)
i.ps2mouse_write 0x08002f2e Section 0 ps2mouse.o(i.ps2mouse_write)
i.ps2mouse_write_delay_start 0x08002f48 Section 0 ps2mouse.o(i.ps2mouse_write_delay_start)
i.ps2mouse_write_nowait 0x08002f6c Section 0 ps2mouse.o(i.ps2mouse_write_nowait)
i.reset_accumulators 0x0800308c Section 0 ps2mouse.o(i.reset_accumulators)
.constdata 0x0800309c Section 121 ps2kb.o(.constdata)
.constdata 0x08003115 Section 16 system_stm32f0xx.o(.constdata)
.constdata 0x08003125 Section 8 system_stm32f0xx.o(.constdata)
i.HAL_SYSTICK_CLKSourceConfig 0x080010a4 Section 0 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_CLKSourceConfig)
i.HAL_SYSTICK_Callback 0x080010bc Section 0 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Callback)
i.HAL_SYSTICK_Config 0x080010c0 Section 0 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Config)
i.HAL_SYSTICK_IRQHandler 0x080010f0 Section 0 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler)
i.HAL_TIMEx_MasterConfigSynchronization 0x080010f8 Section 0 stm32f0xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization)
i.HAL_TIM_Base_Init 0x08001140 Section 0 stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Init)
i.HAL_TIM_Base_MspInit 0x08001174 Section 0 stm32f0xx_hal_msp.o(i.HAL_TIM_Base_MspInit)
i.HAL_TIM_Base_Start 0x08001198 Section 0 stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Start)
i.HAL_TIM_ConfigClockSource 0x080011b0 Section 0 stm32f0xx_hal_tim.o(i.HAL_TIM_ConfigClockSource)
i.HAL_UARTEx_WakeupCallback 0x0800129e Section 0 stm32f0xx_hal_uart_ex.o(i.HAL_UARTEx_WakeupCallback)
i.HAL_UART_ErrorCallback 0x080012a0 Section 0 stm32f0xx_hal_uart.o(i.HAL_UART_ErrorCallback)
i.HAL_UART_IRQHandler 0x080012a4 Section 0 stm32f0xx_hal_uart.o(i.HAL_UART_IRQHandler)
i.HAL_UART_Init 0x080013d8 Section 0 stm32f0xx_hal_uart.o(i.HAL_UART_Init)
i.HAL_UART_MspInit 0x08001444 Section 0 stm32f0xx_hal_msp.o(i.HAL_UART_MspInit)
i.HAL_UART_RxCpltCallback 0x080014d4 Section 0 stm32f0xx_hal_uart.o(i.HAL_UART_RxCpltCallback)
i.HAL_UART_Transmit 0x080014d6 Section 0 stm32f0xx_hal_uart.o(i.HAL_UART_Transmit)
i.HAL_UART_TxCpltCallback 0x0800159e Section 0 main.o(i.HAL_UART_TxCpltCallback)
i.HardFault_Handler 0x080015a0 Section 0 stm32f0xx_it.o(i.HardFault_Handler)
i.MX_GPIO_Init 0x080015a4 Section 0 main.o(i.MX_GPIO_Init)
MX_GPIO_Init 0x080015a5 Thumb Code 286 main.o(i.MX_GPIO_Init)
i.MX_I2C2_Init 0x080016d8 Section 0 main.o(i.MX_I2C2_Init)
MX_I2C2_Init 0x080016d9 Thumb Code 70 main.o(i.MX_I2C2_Init)
i.MX_SPI1_Init 0x0800172c Section 0 main.o(i.MX_SPI1_Init)
MX_SPI1_Init 0x0800172d Thumb Code 52 main.o(i.MX_SPI1_Init)
i.MX_TIM2_Init 0x08001768 Section 0 main.o(i.MX_TIM2_Init)
MX_TIM2_Init 0x08001769 Thumb Code 80 main.o(i.MX_TIM2_Init)
i.MX_USART1_UART_Init 0x080017bc Section 0 main.o(i.MX_USART1_UART_Init)
MX_USART1_UART_Init 0x080017bd Thumb Code 46 main.o(i.MX_USART1_UART_Init)
i.MX_USART3_UART_Init 0x080017f4 Section 0 main.o(i.MX_USART3_UART_Init)
MX_USART3_UART_Init 0x080017f5 Thumb Code 62 main.o(i.MX_USART3_UART_Init)
i.NMI_Handler 0x0800183c Section 0 stm32f0xx_it.o(i.NMI_Handler)
i.NVIC_SetPriority 0x08001840 Section 0 stm32f0xx_hal_cortex.o(i.NVIC_SetPriority)
NVIC_SetPriority 0x08001841 Thumb Code 60 stm32f0xx_hal_cortex.o(i.NVIC_SetPriority)
i.PendSV_Handler 0x08001884 Section 0 stm32f0xx_it.o(i.PendSV_Handler)
i.SPI1_IRQHandler 0x08001888 Section 0 stm32f0xx_it.o(i.SPI1_IRQHandler)
i.SPI_2linesRxISR_16BIT 0x08001898 Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_16BIT)
SPI_2linesRxISR_16BIT 0x08001899 Thumb Code 54 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_16BIT)
i.SPI_2linesRxISR_8BIT 0x080018ce Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_8BIT)
SPI_2linesRxISR_8BIT 0x080018cf Thumb Code 94 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_8BIT)
i.SPI_2linesTxISR_16BIT 0x0800192c Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_16BIT)
SPI_2linesTxISR_16BIT 0x0800192d Thumb Code 52 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_16BIT)
i.SPI_2linesTxISR_8BIT 0x08001960 Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_8BIT)
SPI_2linesTxISR_8BIT 0x08001961 Thumb Code 72 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_8BIT)
i.SPI_CloseRxTx_ISR 0x080019a8 Section 0 stm32f0xx_hal_spi.o(i.SPI_CloseRxTx_ISR)
SPI_CloseRxTx_ISR 0x080019a9 Thumb Code 82 stm32f0xx_hal_spi.o(i.SPI_CloseRxTx_ISR)
i.SPI_DMAAbortOnError 0x080019fa Section 0 stm32f0xx_hal_spi.o(i.SPI_DMAAbortOnError)
SPI_DMAAbortOnError 0x080019fb Thumb Code 18 stm32f0xx_hal_spi.o(i.SPI_DMAAbortOnError)
i.SPI_EndRxTxTransaction 0x08001a0c Section 0 stm32f0xx_hal_spi.o(i.SPI_EndRxTxTransaction)
SPI_EndRxTxTransaction 0x08001a0d Thumb Code 76 stm32f0xx_hal_spi.o(i.SPI_EndRxTxTransaction)
i.SPI_WaitFifoStateUntilTimeout 0x08001a58 Section 0 stm32f0xx_hal_spi.o(i.SPI_WaitFifoStateUntilTimeout)
SPI_WaitFifoStateUntilTimeout 0x08001a59 Thumb Code 150 stm32f0xx_hal_spi.o(i.SPI_WaitFifoStateUntilTimeout)
i.SPI_WaitFlagStateUntilTimeout 0x08001aee Section 0 stm32f0xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout)
SPI_WaitFlagStateUntilTimeout 0x08001aef Thumb Code 140 stm32f0xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout)
i.SVC_Handler 0x08001b7a Section 0 stm32f0xx_it.o(i.SVC_Handler)
i.SysTick_Handler 0x08001b7c Section 0 stm32f0xx_it.o(i.SysTick_Handler)
i.SystemClock_Config 0x08001b88 Section 0 main.o(i.SystemClock_Config)
i.SystemInit 0x08001bf4 Section 0 system_stm32f0xx.o(i.SystemInit)
i.TIM_Base_SetConfig 0x08001c50 Section 0 stm32f0xx_hal_tim.o(i.TIM_Base_SetConfig)
i.TIM_ETR_SetConfig 0x08001ce4 Section 0 stm32f0xx_hal_tim.o(i.TIM_ETR_SetConfig)
i.TIM_ITRx_SetConfig 0x08001cfa Section 0 stm32f0xx_hal_tim.o(i.TIM_ITRx_SetConfig)
TIM_ITRx_SetConfig 0x08001cfb Thumb Code 16 stm32f0xx_hal_tim.o(i.TIM_ITRx_SetConfig)
i.TIM_TI1_ConfigInputStage 0x08001d0a Section 0 stm32f0xx_hal_tim.o(i.TIM_TI1_ConfigInputStage)
TIM_TI1_ConfigInputStage 0x08001d0b Thumb Code 34 stm32f0xx_hal_tim.o(i.TIM_TI1_ConfigInputStage)
i.TIM_TI2_ConfigInputStage 0x08001d2c Section 0 stm32f0xx_hal_tim.o(i.TIM_TI2_ConfigInputStage)
TIM_TI2_ConfigInputStage 0x08001d2d Thumb Code 38 stm32f0xx_hal_tim.o(i.TIM_TI2_ConfigInputStage)
i.UART_AdvFeatureConfig 0x08001d52 Section 0 stm32f0xx_hal_uart.o(i.UART_AdvFeatureConfig)
i.UART_CheckIdleState 0x08001e1c Section 0 stm32f0xx_hal_uart.o(i.UART_CheckIdleState)
i.UART_DMAAbortOnError 0x08001e90 Section 0 stm32f0xx_hal_uart.o(i.UART_DMAAbortOnError)
UART_DMAAbortOnError 0x08001e91 Thumb Code 20 stm32f0xx_hal_uart.o(i.UART_DMAAbortOnError)
i.UART_EndRxTransfer 0x08001ea4 Section 0 stm32f0xx_hal_uart.o(i.UART_EndRxTransfer)
UART_EndRxTransfer 0x08001ea5 Thumb Code 30 stm32f0xx_hal_uart.o(i.UART_EndRxTransfer)
i.UART_EndTransmit_IT 0x08001ec2 Section 0 stm32f0xx_hal_uart.o(i.UART_EndTransmit_IT)
i.UART_Receive_IT 0x08001edc Section 0 stm32f0xx_hal_uart.o(i.UART_Receive_IT)
i.UART_SetConfig 0x08001f58 Section 0 stm32f0xx_hal_uart.o(i.UART_SetConfig)
i.UART_Transmit_IT 0x080020b4 Section 0 stm32f0xx_hal_uart.o(i.UART_Transmit_IT)
i.UART_WaitOnFlagUntilTimeout 0x0800211a Section 0 stm32f0xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout)
i.USART3_4_IRQHandler 0x0800217c Section 0 stm32f0xx_it.o(i.USART3_4_IRQHandler)
i.__0printf$bare 0x0800218c Section 0 printfb.o(i.__0printf$bare)
i.__ARM_common_switch8 0x080021a0 Section 0 ps2kb.o(i.__ARM_common_switch8)
i.__scatterload_copy 0x080021ba Section 14 handlers.o(i.__scatterload_copy)
i.__scatterload_null 0x080021c8 Section 2 handlers.o(i.__scatterload_null)
i.__scatterload_zeroinit 0x080021ca Section 14 handlers.o(i.__scatterload_zeroinit)
i._printf_core 0x080021d8 Section 0 printfb.o(i._printf_core)
_printf_core 0x080021d9 Thumb Code 30 printfb.o(i._printf_core)
i.byte_to_int16_t 0x080021f6 Section 0 main.o(i.byte_to_int16_t)
i.delay_us 0x080021fe Section 0 delay_us.o(i.delay_us)
i.delay_us_init 0x08002214 Section 0 delay_us.o(i.delay_us_init)
i.fputc 0x08002224 Section 0 main.o(i.fputc)
i.keyboard_reply 0x0800223c Section 0 ps2kb.o(i.keyboard_reply)
i.main 0x080022f0 Section 0 main.o(i.main)
i.malloc 0x08002394 Section 0 malloc.o(i.malloc)
i.mcp4451_reset 0x08002400 Section 0 mcp4451.o(i.mcp4451_reset)
i.micros 0x0800242c Section 0 delay_us.o(i.micros)
i.ps2kb_buf_add 0x0800243c Section 0 helpers.o(i.ps2kb_buf_add)
i.ps2kb_buf_init 0x0800246c Section 0 helpers.o(i.ps2kb_buf_init)
i.ps2kb_buf_is_full 0x0800248c Section 0 helpers.o(i.ps2kb_buf_is_full)
i.ps2kb_buf_peek 0x080024a8 Section 0 helpers.o(i.ps2kb_buf_peek)
i.ps2kb_buf_pop 0x080024c8 Section 0 helpers.o(i.ps2kb_buf_pop)
i.ps2kb_buf_reset 0x080024e0 Section 0 helpers.o(i.ps2kb_buf_reset)
i.ps2kb_get_bus_status 0x080024fc Section 0 ps2kb.o(i.ps2kb_get_bus_status)
i.ps2kb_init 0x08002540 Section 0 ps2kb.o(i.ps2kb_init)
i.ps2kb_press_key 0x0800255c Section 0 ps2kb.o(i.ps2kb_press_key)
i.ps2kb_read 0x080026a0 Section 0 ps2kb.o(i.ps2kb_read)
i.ps2kb_release_lines 0x0800279c Section 0 ps2kb.o(i.ps2kb_release_lines)
i.ps2kb_reset 0x080027bc Section 0 ps2kb.o(i.ps2kb_reset)
i.ps2kb_update 0x080027cc Section 0 main.o(i.ps2kb_update)
i.ps2kb_write 0x0800285c Section 0 ps2kb.o(i.ps2kb_write)
i.ps2kb_write_nowait 0x080028a0 Section 0 ps2kb.o(i.ps2kb_write_nowait)
i.ps2mouse_buf_add 0x080029c0 Section 0 helpers.o(i.ps2mouse_buf_add)
i.ps2mouse_buf_init 0x080029f2 Section 0 helpers.o(i.ps2mouse_buf_init)
i.ps2mouse_buf_is_full 0x08002a0a Section 0 helpers.o(i.ps2mouse_buf_is_full)
i.ps2mouse_buf_peek 0x08002a26 Section 0 helpers.o(i.ps2mouse_buf_peek)
i.ps2mouse_buf_pop 0x08002a3c Section 0 helpers.o(i.ps2mouse_buf_pop)
i.ps2mouse_buf_reset 0x08002a54 Section 0 helpers.o(i.ps2mouse_buf_reset)
i.ps2mouse_get_bus_status 0x08002a6c Section 0 ps2mouse.o(i.ps2mouse_get_bus_status)
i.ps2mouse_get_outgoing_data 0x08002acc Section 0 ps2mouse.o(i.ps2mouse_get_outgoing_data)
i.ps2mouse_host_req_reply 0x08002b78 Section 0 ps2mouse.o(i.ps2mouse_host_req_reply)
i.ps2mouse_init 0x08002d10 Section 0 ps2mouse.o(i.ps2mouse_init)
i.ps2mouse_read 0x08002d2c Section 0 ps2mouse.o(i.ps2mouse_read)
i.ps2mouse_release_lines 0x08002e24 Section 0 ps2mouse.o(i.ps2mouse_release_lines)
i.ps2mouse_reset 0x08002e44 Section 0 ps2mouse.o(i.ps2mouse_reset)
i.ps2mouse_restore_defaults 0x08002e5c Section 0 ps2mouse.o(i.ps2mouse_restore_defaults)
i.ps2mouse_send_update 0x08002e80 Section 0 ps2mouse.o(i.ps2mouse_send_update)
i.ps2mouse_update 0x08002ea8 Section 0 main.o(i.ps2mouse_update)
i.ps2mouse_wait_for_idle 0x08002f0c Section 0 ps2mouse.o(i.ps2mouse_wait_for_idle)
i.ps2mouse_write 0x08002f32 Section 0 ps2mouse.o(i.ps2mouse_write)
i.ps2mouse_write_delay_start 0x08002f4c Section 0 ps2mouse.o(i.ps2mouse_write_delay_start)
i.ps2mouse_write_nowait 0x08002f70 Section 0 ps2mouse.o(i.ps2mouse_write_nowait)
i.reset_accumulators 0x08003090 Section 0 ps2mouse.o(i.reset_accumulators)
.constdata 0x080030a0 Section 121 ps2kb.o(.constdata)
.constdata 0x08003119 Section 16 system_stm32f0xx.o(.constdata)
.constdata 0x08003129 Section 8 system_stm32f0xx.o(.constdata)
.data 0x20000000 Section 4 delay_us.o(.data)
.data 0x20000004 Section 20 ps2kb.o(.data)
.data 0x20000018 Section 32 ps2mouse.o(.data)
@@ -2038,100 +2038,100 @@ Image Symbol Table
HAL_SPI_MspInit 0x08000e99 Thumb Code 76 stm32f0xx_hal_msp.o(i.HAL_SPI_MspInit)
HAL_SPI_RxCpltCallback 0x08000eed Thumb Code 2 stm32f0xx_hal_spi.o(i.HAL_SPI_RxCpltCallback)
HAL_SPI_TransmitReceive_IT 0x08000ef1 Thumb Code 196 stm32f0xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT)
HAL_SPI_TxRxCpltCallback 0x08000fc5 Thumb Code 200 main.o(i.HAL_SPI_TxRxCpltCallback)
HAL_SYSTICK_CLKSourceConfig 0x080010a1 Thumb Code 20 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_CLKSourceConfig)
HAL_SYSTICK_Callback 0x080010b9 Thumb Code 2 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Callback)
HAL_SYSTICK_Config 0x080010bd Thumb Code 38 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Config)
HAL_SYSTICK_IRQHandler 0x080010ed Thumb Code 8 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler)
HAL_TIMEx_MasterConfigSynchronization 0x080010f5 Thumb Code 72 stm32f0xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization)
HAL_TIM_Base_Init 0x0800113d Thumb Code 52 stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Init)
HAL_TIM_Base_MspInit 0x08001171 Thumb Code 30 stm32f0xx_hal_msp.o(i.HAL_TIM_Base_MspInit)
HAL_TIM_Base_Start 0x08001195 Thumb Code 24 stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Start)
HAL_TIM_ConfigClockSource 0x080011ad Thumb Code 238 stm32f0xx_hal_tim.o(i.HAL_TIM_ConfigClockSource)
HAL_UARTEx_WakeupCallback 0x0800129b Thumb Code 2 stm32f0xx_hal_uart_ex.o(i.HAL_UARTEx_WakeupCallback)
HAL_UART_ErrorCallback 0x0800129d Thumb Code 2 stm32f0xx_hal_uart.o(i.HAL_UART_ErrorCallback)
HAL_UART_IRQHandler 0x080012a1 Thumb Code 304 stm32f0xx_hal_uart.o(i.HAL_UART_IRQHandler)
HAL_UART_Init 0x080013d5 Thumb Code 108 stm32f0xx_hal_uart.o(i.HAL_UART_Init)
HAL_UART_MspInit 0x08001441 Thumb Code 126 stm32f0xx_hal_msp.o(i.HAL_UART_MspInit)
HAL_UART_RxCpltCallback 0x080014d1 Thumb Code 2 stm32f0xx_hal_uart.o(i.HAL_UART_RxCpltCallback)
HAL_UART_Transmit 0x080014d3 Thumb Code 200 stm32f0xx_hal_uart.o(i.HAL_UART_Transmit)
HAL_UART_TxCpltCallback 0x0800159b Thumb Code 2 main.o(i.HAL_UART_TxCpltCallback)
HardFault_Handler 0x0800159d Thumb Code 2 stm32f0xx_it.o(i.HardFault_Handler)
NMI_Handler 0x08001839 Thumb Code 2 stm32f0xx_it.o(i.NMI_Handler)
PendSV_Handler 0x08001881 Thumb Code 2 stm32f0xx_it.o(i.PendSV_Handler)
SPI1_IRQHandler 0x08001885 Thumb Code 10 stm32f0xx_it.o(i.SPI1_IRQHandler)
SVC_Handler 0x08001b77 Thumb Code 2 stm32f0xx_it.o(i.SVC_Handler)
SysTick_Handler 0x08001b79 Thumb Code 12 stm32f0xx_it.o(i.SysTick_Handler)
SystemClock_Config 0x08001b85 Thumb Code 106 main.o(i.SystemClock_Config)
SystemInit 0x08001bf1 Thumb Code 76 system_stm32f0xx.o(i.SystemInit)
TIM_Base_SetConfig 0x08001c4d Thumb Code 124 stm32f0xx_hal_tim.o(i.TIM_Base_SetConfig)
TIM_ETR_SetConfig 0x08001ce1 Thumb Code 22 stm32f0xx_hal_tim.o(i.TIM_ETR_SetConfig)
UART_AdvFeatureConfig 0x08001d4f Thumb Code 202 stm32f0xx_hal_uart.o(i.UART_AdvFeatureConfig)
UART_CheckIdleState 0x08001e19 Thumb Code 102 stm32f0xx_hal_uart.o(i.UART_CheckIdleState)
UART_EndTransmit_IT 0x08001ebf Thumb Code 26 stm32f0xx_hal_uart.o(i.UART_EndTransmit_IT)
UART_Receive_IT 0x08001ed9 Thumb Code 122 stm32f0xx_hal_uart.o(i.UART_Receive_IT)
UART_SetConfig 0x08001f55 Thumb Code 316 stm32f0xx_hal_uart.o(i.UART_SetConfig)
UART_Transmit_IT 0x080020b1 Thumb Code 102 stm32f0xx_hal_uart.o(i.UART_Transmit_IT)
UART_WaitOnFlagUntilTimeout 0x08002117 Thumb Code 98 stm32f0xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout)
USART3_4_IRQHandler 0x08002179 Thumb Code 10 stm32f0xx_it.o(i.USART3_4_IRQHandler)
__0printf$bare 0x08002189 Thumb Code 12 printfb.o(i.__0printf$bare)
__1printf$bare 0x08002189 Thumb Code 0 printfb.o(i.__0printf$bare)
__2printf 0x08002189 Thumb Code 0 printfb.o(i.__0printf$bare)
__ARM_common_switch8 0x0800219d Thumb Code 26 ps2kb.o(i.__ARM_common_switch8)
__scatterload_copy 0x080021b7 Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x080021c5 Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x080021c7 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
byte_to_int16_t 0x080021f3 Thumb Code 8 main.o(i.byte_to_int16_t)
delay_us 0x080021fb Thumb Code 20 delay_us.o(i.delay_us)
delay_us_init 0x08002211 Thumb Code 12 delay_us.o(i.delay_us_init)
fputc 0x08002221 Thumb Code 18 main.o(i.fputc)
keyboard_reply 0x08002239 Thumb Code 174 ps2kb.o(i.keyboard_reply)
main 0x080022ed Thumb Code 130 main.o(i.main)
malloc 0x08002391 Thumb Code 92 malloc.o(i.malloc)
mcp4451_reset 0x080023fd Thumb Code 38 mcp4451.o(i.mcp4451_reset)
micros 0x08002429 Thumb Code 10 delay_us.o(i.micros)
ps2kb_buf_add 0x08002439 Thumb Code 48 helpers.o(i.ps2kb_buf_add)
ps2kb_buf_init 0x08002469 Thumb Code 32 helpers.o(i.ps2kb_buf_init)
ps2kb_buf_is_full 0x08002489 Thumb Code 28 helpers.o(i.ps2kb_buf_is_full)
ps2kb_buf_peek 0x080024a5 Thumb Code 32 helpers.o(i.ps2kb_buf_peek)
ps2kb_buf_pop 0x080024c5 Thumb Code 24 helpers.o(i.ps2kb_buf_pop)
ps2kb_buf_reset 0x080024dd Thumb Code 28 helpers.o(i.ps2kb_buf_reset)
ps2kb_get_bus_status 0x080024f9 Thumb Code 62 ps2kb.o(i.ps2kb_get_bus_status)
ps2kb_init 0x0800253d Thumb Code 22 ps2kb.o(i.ps2kb_init)
ps2kb_press_key 0x08002559 Thumb Code 314 ps2kb.o(i.ps2kb_press_key)
ps2kb_read 0x0800269d Thumb Code 246 ps2kb.o(i.ps2kb_read)
ps2kb_release_lines 0x08002799 Thumb Code 26 ps2kb.o(i.ps2kb_release_lines)
ps2kb_reset 0x080027b9 Thumb Code 12 ps2kb.o(i.ps2kb_reset)
ps2kb_update 0x080027c9 Thumb Code 130 main.o(i.ps2kb_update)
ps2kb_write 0x08002859 Thumb Code 62 ps2kb.o(i.ps2kb_write)
ps2kb_write_nowait 0x0800289d Thumb Code 282 ps2kb.o(i.ps2kb_write_nowait)
ps2mouse_buf_add 0x080029bd Thumb Code 50 helpers.o(i.ps2mouse_buf_add)
ps2mouse_buf_init 0x080029ef Thumb Code 24 helpers.o(i.ps2mouse_buf_init)
ps2mouse_buf_is_full 0x08002a07 Thumb Code 28 helpers.o(i.ps2mouse_buf_is_full)
ps2mouse_buf_peek 0x08002a23 Thumb Code 22 helpers.o(i.ps2mouse_buf_peek)
ps2mouse_buf_pop 0x08002a39 Thumb Code 24 helpers.o(i.ps2mouse_buf_pop)
ps2mouse_buf_reset 0x08002a51 Thumb Code 22 helpers.o(i.ps2mouse_buf_reset)
ps2mouse_get_bus_status 0x08002a69 Thumb Code 92 ps2mouse.o(i.ps2mouse_get_bus_status)
ps2mouse_get_outgoing_data 0x08002ac9 Thumb Code 166 ps2mouse.o(i.ps2mouse_get_outgoing_data)
ps2mouse_host_req_reply 0x08002b75 Thumb Code 402 ps2mouse.o(i.ps2mouse_host_req_reply)
ps2mouse_init 0x08002d0d Thumb Code 22 ps2mouse.o(i.ps2mouse_init)
ps2mouse_read 0x08002d29 Thumb Code 244 ps2mouse.o(i.ps2mouse_read)
ps2mouse_release_lines 0x08002e21 Thumb Code 26 ps2mouse.o(i.ps2mouse_release_lines)
ps2mouse_reset 0x08002e41 Thumb Code 20 ps2mouse.o(i.ps2mouse_reset)
ps2mouse_restore_defaults 0x08002e59 Thumb Code 30 ps2mouse.o(i.ps2mouse_restore_defaults)
ps2mouse_send_update 0x08002e7d Thumb Code 38 ps2mouse.o(i.ps2mouse_send_update)
ps2mouse_update 0x08002ea5 Thumb Code 90 main.o(i.ps2mouse_update)
ps2mouse_wait_for_idle 0x08002f09 Thumb Code 38 ps2mouse.o(i.ps2mouse_wait_for_idle)
ps2mouse_write 0x08002f2f Thumb Code 26 ps2mouse.o(i.ps2mouse_write)
ps2mouse_write_delay_start 0x08002f49 Thumb Code 34 ps2mouse.o(i.ps2mouse_write_delay_start)
ps2mouse_write_nowait 0x08002f6d Thumb Code 282 ps2mouse.o(i.ps2mouse_write_nowait)
reset_accumulators 0x0800308d Thumb Code 12 ps2mouse.o(i.reset_accumulators)
linux_keycode_to_ps2_scancode_lookup_single_byte_codeset2 0x0800309c Data 89 ps2kb.o(.constdata)
linux_keycode_to_ps2_scancode_lookup_special_codeset2 0x080030f5 Data 32 ps2kb.o(.constdata)
AHBPrescTable 0x08003115 Data 16 system_stm32f0xx.o(.constdata)
APBPrescTable 0x08003125 Data 8 system_stm32f0xx.o(.constdata)
Region$$Table$$Base 0x08003130 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x08003150 Number 0 anon$$obj.o(Region$$Table)
HAL_SPI_TxRxCpltCallback 0x08000fc5 Thumb Code 202 main.o(i.HAL_SPI_TxRxCpltCallback)
HAL_SYSTICK_CLKSourceConfig 0x080010a5 Thumb Code 20 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_CLKSourceConfig)
HAL_SYSTICK_Callback 0x080010bd Thumb Code 2 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Callback)
HAL_SYSTICK_Config 0x080010c1 Thumb Code 38 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Config)
HAL_SYSTICK_IRQHandler 0x080010f1 Thumb Code 8 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler)
HAL_TIMEx_MasterConfigSynchronization 0x080010f9 Thumb Code 72 stm32f0xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization)
HAL_TIM_Base_Init 0x08001141 Thumb Code 52 stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Init)
HAL_TIM_Base_MspInit 0x08001175 Thumb Code 30 stm32f0xx_hal_msp.o(i.HAL_TIM_Base_MspInit)
HAL_TIM_Base_Start 0x08001199 Thumb Code 24 stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Start)
HAL_TIM_ConfigClockSource 0x080011b1 Thumb Code 238 stm32f0xx_hal_tim.o(i.HAL_TIM_ConfigClockSource)
HAL_UARTEx_WakeupCallback 0x0800129f Thumb Code 2 stm32f0xx_hal_uart_ex.o(i.HAL_UARTEx_WakeupCallback)
HAL_UART_ErrorCallback 0x080012a1 Thumb Code 2 stm32f0xx_hal_uart.o(i.HAL_UART_ErrorCallback)
HAL_UART_IRQHandler 0x080012a5 Thumb Code 304 stm32f0xx_hal_uart.o(i.HAL_UART_IRQHandler)
HAL_UART_Init 0x080013d9 Thumb Code 108 stm32f0xx_hal_uart.o(i.HAL_UART_Init)
HAL_UART_MspInit 0x08001445 Thumb Code 126 stm32f0xx_hal_msp.o(i.HAL_UART_MspInit)
HAL_UART_RxCpltCallback 0x080014d5 Thumb Code 2 stm32f0xx_hal_uart.o(i.HAL_UART_RxCpltCallback)
HAL_UART_Transmit 0x080014d7 Thumb Code 200 stm32f0xx_hal_uart.o(i.HAL_UART_Transmit)
HAL_UART_TxCpltCallback 0x0800159f Thumb Code 2 main.o(i.HAL_UART_TxCpltCallback)
HardFault_Handler 0x080015a1 Thumb Code 2 stm32f0xx_it.o(i.HardFault_Handler)
NMI_Handler 0x0800183d Thumb Code 2 stm32f0xx_it.o(i.NMI_Handler)
PendSV_Handler 0x08001885 Thumb Code 2 stm32f0xx_it.o(i.PendSV_Handler)
SPI1_IRQHandler 0x08001889 Thumb Code 10 stm32f0xx_it.o(i.SPI1_IRQHandler)
SVC_Handler 0x08001b7b Thumb Code 2 stm32f0xx_it.o(i.SVC_Handler)
SysTick_Handler 0x08001b7d Thumb Code 12 stm32f0xx_it.o(i.SysTick_Handler)
SystemClock_Config 0x08001b89 Thumb Code 106 main.o(i.SystemClock_Config)
SystemInit 0x08001bf5 Thumb Code 76 system_stm32f0xx.o(i.SystemInit)
TIM_Base_SetConfig 0x08001c51 Thumb Code 124 stm32f0xx_hal_tim.o(i.TIM_Base_SetConfig)
TIM_ETR_SetConfig 0x08001ce5 Thumb Code 22 stm32f0xx_hal_tim.o(i.TIM_ETR_SetConfig)
UART_AdvFeatureConfig 0x08001d53 Thumb Code 202 stm32f0xx_hal_uart.o(i.UART_AdvFeatureConfig)
UART_CheckIdleState 0x08001e1d Thumb Code 102 stm32f0xx_hal_uart.o(i.UART_CheckIdleState)
UART_EndTransmit_IT 0x08001ec3 Thumb Code 26 stm32f0xx_hal_uart.o(i.UART_EndTransmit_IT)
UART_Receive_IT 0x08001edd Thumb Code 122 stm32f0xx_hal_uart.o(i.UART_Receive_IT)
UART_SetConfig 0x08001f59 Thumb Code 316 stm32f0xx_hal_uart.o(i.UART_SetConfig)
UART_Transmit_IT 0x080020b5 Thumb Code 102 stm32f0xx_hal_uart.o(i.UART_Transmit_IT)
UART_WaitOnFlagUntilTimeout 0x0800211b Thumb Code 98 stm32f0xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout)
USART3_4_IRQHandler 0x0800217d Thumb Code 10 stm32f0xx_it.o(i.USART3_4_IRQHandler)
__0printf$bare 0x0800218d Thumb Code 12 printfb.o(i.__0printf$bare)
__1printf$bare 0x0800218d Thumb Code 0 printfb.o(i.__0printf$bare)
__2printf 0x0800218d Thumb Code 0 printfb.o(i.__0printf$bare)
__ARM_common_switch8 0x080021a1 Thumb Code 26 ps2kb.o(i.__ARM_common_switch8)
__scatterload_copy 0x080021bb Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x080021c9 Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x080021cb Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
byte_to_int16_t 0x080021f7 Thumb Code 8 main.o(i.byte_to_int16_t)
delay_us 0x080021ff Thumb Code 20 delay_us.o(i.delay_us)
delay_us_init 0x08002215 Thumb Code 12 delay_us.o(i.delay_us_init)
fputc 0x08002225 Thumb Code 18 main.o(i.fputc)
keyboard_reply 0x0800223d Thumb Code 174 ps2kb.o(i.keyboard_reply)
main 0x080022f1 Thumb Code 130 main.o(i.main)
malloc 0x08002395 Thumb Code 92 malloc.o(i.malloc)
mcp4451_reset 0x08002401 Thumb Code 38 mcp4451.o(i.mcp4451_reset)
micros 0x0800242d Thumb Code 10 delay_us.o(i.micros)
ps2kb_buf_add 0x0800243d Thumb Code 48 helpers.o(i.ps2kb_buf_add)
ps2kb_buf_init 0x0800246d Thumb Code 32 helpers.o(i.ps2kb_buf_init)
ps2kb_buf_is_full 0x0800248d Thumb Code 28 helpers.o(i.ps2kb_buf_is_full)
ps2kb_buf_peek 0x080024a9 Thumb Code 32 helpers.o(i.ps2kb_buf_peek)
ps2kb_buf_pop 0x080024c9 Thumb Code 24 helpers.o(i.ps2kb_buf_pop)
ps2kb_buf_reset 0x080024e1 Thumb Code 28 helpers.o(i.ps2kb_buf_reset)
ps2kb_get_bus_status 0x080024fd Thumb Code 62 ps2kb.o(i.ps2kb_get_bus_status)
ps2kb_init 0x08002541 Thumb Code 22 ps2kb.o(i.ps2kb_init)
ps2kb_press_key 0x0800255d Thumb Code 314 ps2kb.o(i.ps2kb_press_key)
ps2kb_read 0x080026a1 Thumb Code 246 ps2kb.o(i.ps2kb_read)
ps2kb_release_lines 0x0800279d Thumb Code 26 ps2kb.o(i.ps2kb_release_lines)
ps2kb_reset 0x080027bd Thumb Code 12 ps2kb.o(i.ps2kb_reset)
ps2kb_update 0x080027cd Thumb Code 130 main.o(i.ps2kb_update)
ps2kb_write 0x0800285d Thumb Code 62 ps2kb.o(i.ps2kb_write)
ps2kb_write_nowait 0x080028a1 Thumb Code 282 ps2kb.o(i.ps2kb_write_nowait)
ps2mouse_buf_add 0x080029c1 Thumb Code 50 helpers.o(i.ps2mouse_buf_add)
ps2mouse_buf_init 0x080029f3 Thumb Code 24 helpers.o(i.ps2mouse_buf_init)
ps2mouse_buf_is_full 0x08002a0b Thumb Code 28 helpers.o(i.ps2mouse_buf_is_full)
ps2mouse_buf_peek 0x08002a27 Thumb Code 22 helpers.o(i.ps2mouse_buf_peek)
ps2mouse_buf_pop 0x08002a3d Thumb Code 24 helpers.o(i.ps2mouse_buf_pop)
ps2mouse_buf_reset 0x08002a55 Thumb Code 22 helpers.o(i.ps2mouse_buf_reset)
ps2mouse_get_bus_status 0x08002a6d Thumb Code 92 ps2mouse.o(i.ps2mouse_get_bus_status)
ps2mouse_get_outgoing_data 0x08002acd Thumb Code 166 ps2mouse.o(i.ps2mouse_get_outgoing_data)
ps2mouse_host_req_reply 0x08002b79 Thumb Code 402 ps2mouse.o(i.ps2mouse_host_req_reply)
ps2mouse_init 0x08002d11 Thumb Code 22 ps2mouse.o(i.ps2mouse_init)
ps2mouse_read 0x08002d2d Thumb Code 244 ps2mouse.o(i.ps2mouse_read)
ps2mouse_release_lines 0x08002e25 Thumb Code 26 ps2mouse.o(i.ps2mouse_release_lines)
ps2mouse_reset 0x08002e45 Thumb Code 20 ps2mouse.o(i.ps2mouse_reset)
ps2mouse_restore_defaults 0x08002e5d Thumb Code 30 ps2mouse.o(i.ps2mouse_restore_defaults)
ps2mouse_send_update 0x08002e81 Thumb Code 38 ps2mouse.o(i.ps2mouse_send_update)
ps2mouse_update 0x08002ea9 Thumb Code 90 main.o(i.ps2mouse_update)
ps2mouse_wait_for_idle 0x08002f0d Thumb Code 38 ps2mouse.o(i.ps2mouse_wait_for_idle)
ps2mouse_write 0x08002f33 Thumb Code 26 ps2mouse.o(i.ps2mouse_write)
ps2mouse_write_delay_start 0x08002f4d Thumb Code 34 ps2mouse.o(i.ps2mouse_write_delay_start)
ps2mouse_write_nowait 0x08002f71 Thumb Code 282 ps2mouse.o(i.ps2mouse_write_nowait)
reset_accumulators 0x08003091 Thumb Code 12 ps2mouse.o(i.reset_accumulators)
linux_keycode_to_ps2_scancode_lookup_single_byte_codeset2 0x080030a0 Data 89 ps2kb.o(.constdata)
linux_keycode_to_ps2_scancode_lookup_special_codeset2 0x080030f9 Data 32 ps2kb.o(.constdata)
AHBPrescTable 0x08003119 Data 16 system_stm32f0xx.o(.constdata)
APBPrescTable 0x08003129 Data 8 system_stm32f0xx.o(.constdata)
Region$$Table$$Base 0x08003134 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x08003154 Number 0 anon$$obj.o(Region$$Table)
us_timer 0x20000000 Data 4 delay_us.o(.data)
ps2kb_current_scancode_set 0x20000004 Data 1 ps2kb.o(.data)
ps2kb_data_reporting_enabled 0x20000005 Data 1 ps2kb.o(.data)
@@ -2194,9 +2194,9 @@ Memory Map of the image
Image Entry point : 0x080000c1
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000031b0, Max: 0x00010000, ABSOLUTE)
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000031b4, Max: 0x00010000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00003150, Max: 0x00010000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00003154, Max: 0x00010000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
@@ -2254,147 +2254,147 @@ Memory Map of the image
0x08000eec 0x08000eec 0x00000002 Code RO 1220 i.HAL_SPI_RxCpltCallback stm32f0xx_hal_spi.o
0x08000eee 0x08000eee 0x00000002 PAD
0x08000ef0 0x08000ef0 0x000000d4 Code RO 1225 i.HAL_SPI_TransmitReceive_IT stm32f0xx_hal_spi.o
0x08000fc4 0x08000fc4 0x000000dc Code RO 438 i.HAL_SPI_TxRxCpltCallback main.o
0x080010a0 0x080010a0 0x00000018 Code RO 3307 i.HAL_SYSTICK_CLKSourceConfig stm32f0xx_hal_cortex.o
0x080010b8 0x080010b8 0x00000002 Code RO 3308 i.HAL_SYSTICK_Callback stm32f0xx_hal_cortex.o
0x080010ba 0x080010ba 0x00000002 PAD
0x080010bc 0x080010bc 0x00000030 Code RO 3309 i.HAL_SYSTICK_Config stm32f0xx_hal_cortex.o
0x080010ec 0x080010ec 0x00000008 Code RO 3310 i.HAL_SYSTICK_IRQHandler stm32f0xx_hal_cortex.o
0x080010f4 0x080010f4 0x00000048 Code RO 2202 i.HAL_TIMEx_MasterConfigSynchronization stm32f0xx_hal_tim_ex.o
0x0800113c 0x0800113c 0x00000034 Code RO 1548 i.HAL_TIM_Base_Init stm32f0xx_hal_tim.o
0x08001170 0x08001170 0x00000024 Code RO 632 i.HAL_TIM_Base_MspInit stm32f0xx_hal_msp.o
0x08001194 0x08001194 0x00000018 Code RO 1551 i.HAL_TIM_Base_Start stm32f0xx_hal_tim.o
0x080011ac 0x080011ac 0x000000ee Code RO 1557 i.HAL_TIM_ConfigClockSource stm32f0xx_hal_tim.o
0x0800129a 0x0800129a 0x00000002 Code RO 2771 i.HAL_UARTEx_WakeupCallback stm32f0xx_hal_uart_ex.o
0x0800129c 0x0800129c 0x00000002 Code RO 2446 i.HAL_UART_ErrorCallback stm32f0xx_hal_uart.o
0x0800129e 0x0800129e 0x00000002 PAD
0x080012a0 0x080012a0 0x00000134 Code RO 2449 i.HAL_UART_IRQHandler stm32f0xx_hal_uart.o
0x080013d4 0x080013d4 0x0000006c Code RO 2450 i.HAL_UART_Init stm32f0xx_hal_uart.o
0x08001440 0x08001440 0x00000090 Code RO 634 i.HAL_UART_MspInit stm32f0xx_hal_msp.o
0x080014d0 0x080014d0 0x00000002 Code RO 2456 i.HAL_UART_RxCpltCallback stm32f0xx_hal_uart.o
0x080014d2 0x080014d2 0x000000c8 Code RO 2458 i.HAL_UART_Transmit stm32f0xx_hal_uart.o
0x0800159a 0x0800159a 0x00000002 Code RO 439 i.HAL_UART_TxCpltCallback main.o
0x0800159c 0x0800159c 0x00000002 Code RO 561 i.HardFault_Handler stm32f0xx_it.o
0x0800159e 0x0800159e 0x00000002 PAD
0x080015a0 0x080015a0 0x00000134 Code RO 440 i.MX_GPIO_Init main.o
0x080016d4 0x080016d4 0x00000054 Code RO 441 i.MX_I2C2_Init main.o
0x08001728 0x08001728 0x0000003c Code RO 442 i.MX_SPI1_Init main.o
0x08001764 0x08001764 0x00000054 Code RO 443 i.MX_TIM2_Init main.o
0x080017b8 0x080017b8 0x00000038 Code RO 444 i.MX_USART1_UART_Init main.o
0x080017f0 0x080017f0 0x00000048 Code RO 445 i.MX_USART3_UART_Init main.o
0x08001838 0x08001838 0x00000002 Code RO 562 i.NMI_Handler stm32f0xx_it.o
0x0800183a 0x0800183a 0x00000002 PAD
0x0800183c 0x0800183c 0x00000044 Code RO 3311 i.NVIC_SetPriority stm32f0xx_hal_cortex.o
0x08001880 0x08001880 0x00000002 Code RO 563 i.PendSV_Handler stm32f0xx_it.o
0x08001882 0x08001882 0x00000002 PAD
0x08001884 0x08001884 0x00000010 Code RO 564 i.SPI1_IRQHandler stm32f0xx_it.o
0x08001894 0x08001894 0x00000036 Code RO 1232 i.SPI_2linesRxISR_16BIT stm32f0xx_hal_spi.o
0x080018ca 0x080018ca 0x0000005e Code RO 1233 i.SPI_2linesRxISR_8BIT stm32f0xx_hal_spi.o
0x08001928 0x08001928 0x00000034 Code RO 1234 i.SPI_2linesTxISR_16BIT stm32f0xx_hal_spi.o
0x0800195c 0x0800195c 0x00000048 Code RO 1235 i.SPI_2linesTxISR_8BIT stm32f0xx_hal_spi.o
0x080019a4 0x080019a4 0x00000052 Code RO 1238 i.SPI_CloseRxTx_ISR stm32f0xx_hal_spi.o
0x080019f6 0x080019f6 0x00000012 Code RO 1241 i.SPI_DMAAbortOnError stm32f0xx_hal_spi.o
0x08001a08 0x08001a08 0x0000004c Code RO 1252 i.SPI_EndRxTxTransaction stm32f0xx_hal_spi.o
0x08001a54 0x08001a54 0x00000096 Code RO 1257 i.SPI_WaitFifoStateUntilTimeout stm32f0xx_hal_spi.o
0x08001aea 0x08001aea 0x0000008c Code RO 1258 i.SPI_WaitFlagStateUntilTimeout stm32f0xx_hal_spi.o
0x08001b76 0x08001b76 0x00000002 Code RO 565 i.SVC_Handler stm32f0xx_it.o
0x08001b78 0x08001b78 0x0000000c Code RO 566 i.SysTick_Handler stm32f0xx_it.o
0x08001b84 0x08001b84 0x0000006a Code RO 446 i.SystemClock_Config main.o
0x08001bee 0x08001bee 0x00000002 PAD
0x08001bf0 0x08001bf0 0x0000005c Code RO 3728 i.SystemInit system_stm32f0xx.o
0x08001c4c 0x08001c4c 0x00000094 Code RO 1634 i.TIM_Base_SetConfig stm32f0xx_hal_tim.o
0x08001ce0 0x08001ce0 0x00000016 Code RO 1641 i.TIM_ETR_SetConfig stm32f0xx_hal_tim.o
0x08001cf6 0x08001cf6 0x00000010 Code RO 1642 i.TIM_ITRx_SetConfig stm32f0xx_hal_tim.o
0x08001d06 0x08001d06 0x00000022 Code RO 1648 i.TIM_TI1_ConfigInputStage stm32f0xx_hal_tim.o
0x08001d28 0x08001d28 0x00000026 Code RO 1650 i.TIM_TI2_ConfigInputStage stm32f0xx_hal_tim.o
0x08001d4e 0x08001d4e 0x000000ca Code RO 2463 i.UART_AdvFeatureConfig stm32f0xx_hal_uart.o
0x08001e18 0x08001e18 0x00000074 Code RO 2464 i.UART_CheckIdleState stm32f0xx_hal_uart.o
0x08001e8c 0x08001e8c 0x00000014 Code RO 2465 i.UART_DMAAbortOnError stm32f0xx_hal_uart.o
0x08001ea0 0x08001ea0 0x0000001e Code RO 2475 i.UART_EndRxTransfer stm32f0xx_hal_uart.o
0x08001ebe 0x08001ebe 0x0000001a Code RO 2476 i.UART_EndTransmit_IT stm32f0xx_hal_uart.o
0x08001ed8 0x08001ed8 0x0000007a Code RO 2478 i.UART_Receive_IT stm32f0xx_hal_uart.o
0x08001f52 0x08001f52 0x00000002 PAD
0x08001f54 0x08001f54 0x0000015c Code RO 2479 i.UART_SetConfig stm32f0xx_hal_uart.o
0x080020b0 0x080020b0 0x00000066 Code RO 2480 i.UART_Transmit_IT stm32f0xx_hal_uart.o
0x08002116 0x08002116 0x00000062 Code RO 2481 i.UART_WaitOnFlagUntilTimeout stm32f0xx_hal_uart.o
0x08002178 0x08002178 0x00000010 Code RO 567 i.USART3_4_IRQHandler stm32f0xx_it.o
0x08002188 0x08002188 0x00000014 Code RO 3773 i.__0printf$bare mc_p.l(printfb.o)
0x0800219c 0x0800219c 0x0000001a Code RO 327 i.__ARM_common_switch8 ps2kb.o
0x080021b6 0x080021b6 0x0000000e Code RO 4102 i.__scatterload_copy mc_p.l(handlers.o)
0x080021c4 0x080021c4 0x00000002 Code RO 4103 i.__scatterload_null mc_p.l(handlers.o)
0x080021c6 0x080021c6 0x0000000e Code RO 4104 i.__scatterload_zeroinit mc_p.l(handlers.o)
0x080021d4 0x080021d4 0x0000001e Code RO 3780 i._printf_core mc_p.l(printfb.o)
0x080021f2 0x080021f2 0x00000008 Code RO 448 i.byte_to_int16_t main.o
0x080021fa 0x080021fa 0x00000014 Code RO 12 i.delay_us delay_us.o
0x0800220e 0x0800220e 0x00000002 PAD
0x08002210 0x08002210 0x00000010 Code RO 13 i.delay_us_init delay_us.o
0x08002220 0x08002220 0x00000018 Code RO 449 i.fputc main.o
0x08002238 0x08002238 0x000000b4 Code RO 257 i.keyboard_reply ps2kb.o
0x080022ec 0x080022ec 0x000000a4 Code RO 450 i.main main.o
0x08002390 0x08002390 0x0000006c Code RO 4033 i.malloc mc_p.l(malloc.o)
0x080023fc 0x080023fc 0x0000002c Code RO 695 i.mcp4451_reset mcp4451.o
0x08002428 0x08002428 0x00000010 Code RO 14 i.micros delay_us.o
0x08002438 0x08002438 0x00000030 Code RO 149 i.ps2kb_buf_add helpers.o
0x08002468 0x08002468 0x00000020 Code RO 150 i.ps2kb_buf_init helpers.o
0x08002488 0x08002488 0x0000001c Code RO 152 i.ps2kb_buf_is_full helpers.o
0x080024a4 0x080024a4 0x00000020 Code RO 153 i.ps2kb_buf_peek helpers.o
0x080024c4 0x080024c4 0x00000018 Code RO 154 i.ps2kb_buf_pop helpers.o
0x080024dc 0x080024dc 0x0000001c Code RO 155 i.ps2kb_buf_reset helpers.o
0x080024f8 0x080024f8 0x00000044 Code RO 259 i.ps2kb_get_bus_status ps2kb.o
0x0800253c 0x0800253c 0x0000001c Code RO 260 i.ps2kb_init ps2kb.o
0x08002558 0x08002558 0x00000144 Code RO 261 i.ps2kb_press_key ps2kb.o
0x0800269c 0x0800269c 0x000000fc Code RO 262 i.ps2kb_read ps2kb.o
0x08002798 0x08002798 0x00000020 Code RO 263 i.ps2kb_release_lines ps2kb.o
0x080027b8 0x080027b8 0x00000010 Code RO 264 i.ps2kb_reset ps2kb.o
0x080027c8 0x080027c8 0x00000090 Code RO 451 i.ps2kb_update main.o
0x08002858 0x08002858 0x00000044 Code RO 265 i.ps2kb_write ps2kb.o
0x0800289c 0x0800289c 0x00000120 Code RO 266 i.ps2kb_write_nowait ps2kb.o
0x080029bc 0x080029bc 0x00000032 Code RO 156 i.ps2mouse_buf_add helpers.o
0x080029ee 0x080029ee 0x00000018 Code RO 157 i.ps2mouse_buf_init helpers.o
0x08002a06 0x08002a06 0x0000001c Code RO 159 i.ps2mouse_buf_is_full helpers.o
0x08002a22 0x08002a22 0x00000016 Code RO 160 i.ps2mouse_buf_peek helpers.o
0x08002a38 0x08002a38 0x00000018 Code RO 161 i.ps2mouse_buf_pop helpers.o
0x08002a50 0x08002a50 0x00000016 Code RO 162 i.ps2mouse_buf_reset helpers.o
0x08002a66 0x08002a66 0x00000002 PAD
0x08002a68 0x08002a68 0x00000060 Code RO 338 i.ps2mouse_get_bus_status ps2mouse.o
0x08002ac8 0x08002ac8 0x000000ac Code RO 339 i.ps2mouse_get_outgoing_data ps2mouse.o
0x08002b74 0x08002b74 0x00000198 Code RO 340 i.ps2mouse_host_req_reply ps2mouse.o
0x08002d0c 0x08002d0c 0x0000001c Code RO 341 i.ps2mouse_init ps2mouse.o
0x08002d28 0x08002d28 0x000000f8 Code RO 342 i.ps2mouse_read ps2mouse.o
0x08002e20 0x08002e20 0x00000020 Code RO 343 i.ps2mouse_release_lines ps2mouse.o
0x08002e40 0x08002e40 0x00000018 Code RO 344 i.ps2mouse_reset ps2mouse.o
0x08002e58 0x08002e58 0x00000024 Code RO 345 i.ps2mouse_restore_defaults ps2mouse.o
0x08002e7c 0x08002e7c 0x00000026 Code RO 346 i.ps2mouse_send_update ps2mouse.o
0x08002ea2 0x08002ea2 0x00000002 PAD
0x08002ea4 0x08002ea4 0x00000064 Code RO 452 i.ps2mouse_update main.o
0x08002f08 0x08002f08 0x00000026 Code RO 347 i.ps2mouse_wait_for_idle ps2mouse.o
0x08002f2e 0x08002f2e 0x0000001a Code RO 348 i.ps2mouse_write ps2mouse.o
0x08002f48 0x08002f48 0x00000022 Code RO 349 i.ps2mouse_write_delay_start ps2mouse.o
0x08002f6a 0x08002f6a 0x00000002 PAD
0x08002f6c 0x08002f6c 0x00000120 Code RO 350 i.ps2mouse_write_nowait ps2mouse.o
0x0800308c 0x0800308c 0x00000010 Code RO 351 i.reset_accumulators ps2mouse.o
0x0800309c 0x0800309c 0x00000079 Data RO 267 .constdata ps2kb.o
0x08003115 0x08003115 0x00000010 Data RO 3729 .constdata system_stm32f0xx.o
0x08003125 0x08003125 0x00000008 Data RO 3730 .constdata system_stm32f0xx.o
0x0800312d 0x0800312d 0x00000003 PAD
0x08003130 0x08003130 0x00000020 Data RO 4100 Region$$Table anon$$obj.o
0x08000fc4 0x08000fc4 0x000000e0 Code RO 438 i.HAL_SPI_TxRxCpltCallback main.o
0x080010a4 0x080010a4 0x00000018 Code RO 3307 i.HAL_SYSTICK_CLKSourceConfig stm32f0xx_hal_cortex.o
0x080010bc 0x080010bc 0x00000002 Code RO 3308 i.HAL_SYSTICK_Callback stm32f0xx_hal_cortex.o
0x080010be 0x080010be 0x00000002 PAD
0x080010c0 0x080010c0 0x00000030 Code RO 3309 i.HAL_SYSTICK_Config stm32f0xx_hal_cortex.o
0x080010f0 0x080010f0 0x00000008 Code RO 3310 i.HAL_SYSTICK_IRQHandler stm32f0xx_hal_cortex.o
0x080010f8 0x080010f8 0x00000048 Code RO 2202 i.HAL_TIMEx_MasterConfigSynchronization stm32f0xx_hal_tim_ex.o
0x08001140 0x08001140 0x00000034 Code RO 1548 i.HAL_TIM_Base_Init stm32f0xx_hal_tim.o
0x08001174 0x08001174 0x00000024 Code RO 632 i.HAL_TIM_Base_MspInit stm32f0xx_hal_msp.o
0x08001198 0x08001198 0x00000018 Code RO 1551 i.HAL_TIM_Base_Start stm32f0xx_hal_tim.o
0x080011b0 0x080011b0 0x000000ee Code RO 1557 i.HAL_TIM_ConfigClockSource stm32f0xx_hal_tim.o
0x0800129e 0x0800129e 0x00000002 Code RO 2771 i.HAL_UARTEx_WakeupCallback stm32f0xx_hal_uart_ex.o
0x080012a0 0x080012a0 0x00000002 Code RO 2446 i.HAL_UART_ErrorCallback stm32f0xx_hal_uart.o
0x080012a2 0x080012a2 0x00000002 PAD
0x080012a4 0x080012a4 0x00000134 Code RO 2449 i.HAL_UART_IRQHandler stm32f0xx_hal_uart.o
0x080013d8 0x080013d8 0x0000006c Code RO 2450 i.HAL_UART_Init stm32f0xx_hal_uart.o
0x08001444 0x08001444 0x00000090 Code RO 634 i.HAL_UART_MspInit stm32f0xx_hal_msp.o
0x080014d4 0x080014d4 0x00000002 Code RO 2456 i.HAL_UART_RxCpltCallback stm32f0xx_hal_uart.o
0x080014d6 0x080014d6 0x000000c8 Code RO 2458 i.HAL_UART_Transmit stm32f0xx_hal_uart.o
0x0800159e 0x0800159e 0x00000002 Code RO 439 i.HAL_UART_TxCpltCallback main.o
0x080015a0 0x080015a0 0x00000002 Code RO 561 i.HardFault_Handler stm32f0xx_it.o
0x080015a2 0x080015a2 0x00000002 PAD
0x080015a4 0x080015a4 0x00000134 Code RO 440 i.MX_GPIO_Init main.o
0x080016d8 0x080016d8 0x00000054 Code RO 441 i.MX_I2C2_Init main.o
0x0800172c 0x0800172c 0x0000003c Code RO 442 i.MX_SPI1_Init main.o
0x08001768 0x08001768 0x00000054 Code RO 443 i.MX_TIM2_Init main.o
0x080017bc 0x080017bc 0x00000038 Code RO 444 i.MX_USART1_UART_Init main.o
0x080017f4 0x080017f4 0x00000048 Code RO 445 i.MX_USART3_UART_Init main.o
0x0800183c 0x0800183c 0x00000002 Code RO 562 i.NMI_Handler stm32f0xx_it.o
0x0800183e 0x0800183e 0x00000002 PAD
0x08001840 0x08001840 0x00000044 Code RO 3311 i.NVIC_SetPriority stm32f0xx_hal_cortex.o
0x08001884 0x08001884 0x00000002 Code RO 563 i.PendSV_Handler stm32f0xx_it.o
0x08001886 0x08001886 0x00000002 PAD
0x08001888 0x08001888 0x00000010 Code RO 564 i.SPI1_IRQHandler stm32f0xx_it.o
0x08001898 0x08001898 0x00000036 Code RO 1232 i.SPI_2linesRxISR_16BIT stm32f0xx_hal_spi.o
0x080018ce 0x080018ce 0x0000005e Code RO 1233 i.SPI_2linesRxISR_8BIT stm32f0xx_hal_spi.o
0x0800192c 0x0800192c 0x00000034 Code RO 1234 i.SPI_2linesTxISR_16BIT stm32f0xx_hal_spi.o
0x08001960 0x08001960 0x00000048 Code RO 1235 i.SPI_2linesTxISR_8BIT stm32f0xx_hal_spi.o
0x080019a8 0x080019a8 0x00000052 Code RO 1238 i.SPI_CloseRxTx_ISR stm32f0xx_hal_spi.o
0x080019fa 0x080019fa 0x00000012 Code RO 1241 i.SPI_DMAAbortOnError stm32f0xx_hal_spi.o
0x08001a0c 0x08001a0c 0x0000004c Code RO 1252 i.SPI_EndRxTxTransaction stm32f0xx_hal_spi.o
0x08001a58 0x08001a58 0x00000096 Code RO 1257 i.SPI_WaitFifoStateUntilTimeout stm32f0xx_hal_spi.o
0x08001aee 0x08001aee 0x0000008c Code RO 1258 i.SPI_WaitFlagStateUntilTimeout stm32f0xx_hal_spi.o
0x08001b7a 0x08001b7a 0x00000002 Code RO 565 i.SVC_Handler stm32f0xx_it.o
0x08001b7c 0x08001b7c 0x0000000c Code RO 566 i.SysTick_Handler stm32f0xx_it.o
0x08001b88 0x08001b88 0x0000006a Code RO 446 i.SystemClock_Config main.o
0x08001bf2 0x08001bf2 0x00000002 PAD
0x08001bf4 0x08001bf4 0x0000005c Code RO 3728 i.SystemInit system_stm32f0xx.o
0x08001c50 0x08001c50 0x00000094 Code RO 1634 i.TIM_Base_SetConfig stm32f0xx_hal_tim.o
0x08001ce4 0x08001ce4 0x00000016 Code RO 1641 i.TIM_ETR_SetConfig stm32f0xx_hal_tim.o
0x08001cfa 0x08001cfa 0x00000010 Code RO 1642 i.TIM_ITRx_SetConfig stm32f0xx_hal_tim.o
0x08001d0a 0x08001d0a 0x00000022 Code RO 1648 i.TIM_TI1_ConfigInputStage stm32f0xx_hal_tim.o
0x08001d2c 0x08001d2c 0x00000026 Code RO 1650 i.TIM_TI2_ConfigInputStage stm32f0xx_hal_tim.o
0x08001d52 0x08001d52 0x000000ca Code RO 2463 i.UART_AdvFeatureConfig stm32f0xx_hal_uart.o
0x08001e1c 0x08001e1c 0x00000074 Code RO 2464 i.UART_CheckIdleState stm32f0xx_hal_uart.o
0x08001e90 0x08001e90 0x00000014 Code RO 2465 i.UART_DMAAbortOnError stm32f0xx_hal_uart.o
0x08001ea4 0x08001ea4 0x0000001e Code RO 2475 i.UART_EndRxTransfer stm32f0xx_hal_uart.o
0x08001ec2 0x08001ec2 0x0000001a Code RO 2476 i.UART_EndTransmit_IT stm32f0xx_hal_uart.o
0x08001edc 0x08001edc 0x0000007a Code RO 2478 i.UART_Receive_IT stm32f0xx_hal_uart.o
0x08001f56 0x08001f56 0x00000002 PAD
0x08001f58 0x08001f58 0x0000015c Code RO 2479 i.UART_SetConfig stm32f0xx_hal_uart.o
0x080020b4 0x080020b4 0x00000066 Code RO 2480 i.UART_Transmit_IT stm32f0xx_hal_uart.o
0x0800211a 0x0800211a 0x00000062 Code RO 2481 i.UART_WaitOnFlagUntilTimeout stm32f0xx_hal_uart.o
0x0800217c 0x0800217c 0x00000010 Code RO 567 i.USART3_4_IRQHandler stm32f0xx_it.o
0x0800218c 0x0800218c 0x00000014 Code RO 3773 i.__0printf$bare mc_p.l(printfb.o)
0x080021a0 0x080021a0 0x0000001a Code RO 327 i.__ARM_common_switch8 ps2kb.o
0x080021ba 0x080021ba 0x0000000e Code RO 4102 i.__scatterload_copy mc_p.l(handlers.o)
0x080021c8 0x080021c8 0x00000002 Code RO 4103 i.__scatterload_null mc_p.l(handlers.o)
0x080021ca 0x080021ca 0x0000000e Code RO 4104 i.__scatterload_zeroinit mc_p.l(handlers.o)
0x080021d8 0x080021d8 0x0000001e Code RO 3780 i._printf_core mc_p.l(printfb.o)
0x080021f6 0x080021f6 0x00000008 Code RO 448 i.byte_to_int16_t main.o
0x080021fe 0x080021fe 0x00000014 Code RO 12 i.delay_us delay_us.o
0x08002212 0x08002212 0x00000002 PAD
0x08002214 0x08002214 0x00000010 Code RO 13 i.delay_us_init delay_us.o
0x08002224 0x08002224 0x00000018 Code RO 449 i.fputc main.o
0x0800223c 0x0800223c 0x000000b4 Code RO 257 i.keyboard_reply ps2kb.o
0x080022f0 0x080022f0 0x000000a4 Code RO 450 i.main main.o
0x08002394 0x08002394 0x0000006c Code RO 4033 i.malloc mc_p.l(malloc.o)
0x08002400 0x08002400 0x0000002c Code RO 695 i.mcp4451_reset mcp4451.o
0x0800242c 0x0800242c 0x00000010 Code RO 14 i.micros delay_us.o
0x0800243c 0x0800243c 0x00000030 Code RO 149 i.ps2kb_buf_add helpers.o
0x0800246c 0x0800246c 0x00000020 Code RO 150 i.ps2kb_buf_init helpers.o
0x0800248c 0x0800248c 0x0000001c Code RO 152 i.ps2kb_buf_is_full helpers.o
0x080024a8 0x080024a8 0x00000020 Code RO 153 i.ps2kb_buf_peek helpers.o
0x080024c8 0x080024c8 0x00000018 Code RO 154 i.ps2kb_buf_pop helpers.o
0x080024e0 0x080024e0 0x0000001c Code RO 155 i.ps2kb_buf_reset helpers.o
0x080024fc 0x080024fc 0x00000044 Code RO 259 i.ps2kb_get_bus_status ps2kb.o
0x08002540 0x08002540 0x0000001c Code RO 260 i.ps2kb_init ps2kb.o
0x0800255c 0x0800255c 0x00000144 Code RO 261 i.ps2kb_press_key ps2kb.o
0x080026a0 0x080026a0 0x000000fc Code RO 262 i.ps2kb_read ps2kb.o
0x0800279c 0x0800279c 0x00000020 Code RO 263 i.ps2kb_release_lines ps2kb.o
0x080027bc 0x080027bc 0x00000010 Code RO 264 i.ps2kb_reset ps2kb.o
0x080027cc 0x080027cc 0x00000090 Code RO 451 i.ps2kb_update main.o
0x0800285c 0x0800285c 0x00000044 Code RO 265 i.ps2kb_write ps2kb.o
0x080028a0 0x080028a0 0x00000120 Code RO 266 i.ps2kb_write_nowait ps2kb.o
0x080029c0 0x080029c0 0x00000032 Code RO 156 i.ps2mouse_buf_add helpers.o
0x080029f2 0x080029f2 0x00000018 Code RO 157 i.ps2mouse_buf_init helpers.o
0x08002a0a 0x08002a0a 0x0000001c Code RO 159 i.ps2mouse_buf_is_full helpers.o
0x08002a26 0x08002a26 0x00000016 Code RO 160 i.ps2mouse_buf_peek helpers.o
0x08002a3c 0x08002a3c 0x00000018 Code RO 161 i.ps2mouse_buf_pop helpers.o
0x08002a54 0x08002a54 0x00000016 Code RO 162 i.ps2mouse_buf_reset helpers.o
0x08002a6a 0x08002a6a 0x00000002 PAD
0x08002a6c 0x08002a6c 0x00000060 Code RO 338 i.ps2mouse_get_bus_status ps2mouse.o
0x08002acc 0x08002acc 0x000000ac Code RO 339 i.ps2mouse_get_outgoing_data ps2mouse.o
0x08002b78 0x08002b78 0x00000198 Code RO 340 i.ps2mouse_host_req_reply ps2mouse.o
0x08002d10 0x08002d10 0x0000001c Code RO 341 i.ps2mouse_init ps2mouse.o
0x08002d2c 0x08002d2c 0x000000f8 Code RO 342 i.ps2mouse_read ps2mouse.o
0x08002e24 0x08002e24 0x00000020 Code RO 343 i.ps2mouse_release_lines ps2mouse.o
0x08002e44 0x08002e44 0x00000018 Code RO 344 i.ps2mouse_reset ps2mouse.o
0x08002e5c 0x08002e5c 0x00000024 Code RO 345 i.ps2mouse_restore_defaults ps2mouse.o
0x08002e80 0x08002e80 0x00000026 Code RO 346 i.ps2mouse_send_update ps2mouse.o
0x08002ea6 0x08002ea6 0x00000002 PAD
0x08002ea8 0x08002ea8 0x00000064 Code RO 452 i.ps2mouse_update main.o
0x08002f0c 0x08002f0c 0x00000026 Code RO 347 i.ps2mouse_wait_for_idle ps2mouse.o
0x08002f32 0x08002f32 0x0000001a Code RO 348 i.ps2mouse_write ps2mouse.o
0x08002f4c 0x08002f4c 0x00000022 Code RO 349 i.ps2mouse_write_delay_start ps2mouse.o
0x08002f6e 0x08002f6e 0x00000002 PAD
0x08002f70 0x08002f70 0x00000120 Code RO 350 i.ps2mouse_write_nowait ps2mouse.o
0x08003090 0x08003090 0x00000010 Code RO 351 i.reset_accumulators ps2mouse.o
0x080030a0 0x080030a0 0x00000079 Data RO 267 .constdata ps2kb.o
0x08003119 0x08003119 0x00000010 Data RO 3729 .constdata system_stm32f0xx.o
0x08003129 0x08003129 0x00000008 Data RO 3730 .constdata system_stm32f0xx.o
0x08003131 0x08003131 0x00000003 PAD
0x08003134 0x08003134 0x00000020 Data RO 4100 Region$$Table anon$$obj.o
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08003150, Size: 0x000008b8, Max: 0x00004000, ABSOLUTE)
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08003154, Size: 0x000008b8, Max: 0x00004000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 0x08003150 0x00000004 Data RW 15 .data delay_us.o
0x20000004 0x08003154 0x00000014 Data RW 268 .data ps2kb.o
0x20000018 0x08003168 0x00000020 Data RW 352 .data ps2mouse.o
0x20000038 0x08003188 0x00000014 Data RW 455 .data main.o
0x2000004c 0x0800319c 0x00000004 Data RW 3024 .data stm32f0xx_hal.o
0x20000050 0x080031a0 0x00000004 Data RW 3731 .data system_stm32f0xx.o
0x20000054 0x080031a4 0x00000004 Data RW 4074 .data mc_p.l(stdout.o)
0x20000058 0x080031a8 0x00000004 Data RW 4077 .data mc_p.l(mvars.o)
0x2000005c 0x080031ac 0x00000004 Data RW 4078 .data mc_p.l(mvars.o)
0x20000000 0x08003154 0x00000004 Data RW 15 .data delay_us.o
0x20000004 0x08003158 0x00000014 Data RW 268 .data ps2kb.o
0x20000018 0x0800316c 0x00000020 Data RW 352 .data ps2mouse.o
0x20000038 0x0800318c 0x00000014 Data RW 455 .data main.o
0x2000004c 0x080031a0 0x00000004 Data RW 3024 .data stm32f0xx_hal.o
0x20000050 0x080031a4 0x00000004 Data RW 3731 .data system_stm32f0xx.o
0x20000054 0x080031a8 0x00000004 Data RW 4074 .data mc_p.l(stdout.o)
0x20000058 0x080031ac 0x00000004 Data RW 4077 .data mc_p.l(mvars.o)
0x2000005c 0x080031b0 0x00000004 Data RW 4078 .data mc_p.l(mvars.o)
0x20000060 - 0x00000251 Zero RW 454 .bss main.o
0x200002b1 0x080031b0 0x00000007 PAD
0x200002b1 0x080031b4 0x00000007 PAD
0x200002b8 - 0x00000200 Zero RW 2 HEAP startup_stm32f072xb.o
0x200004b8 - 0x00000400 Zero RW 1 STACK startup_stm32f072xb.o
@@ -2407,8 +2407,8 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
52 10 0 4 0 505155 delay_us.o
362 0 0 0 0 8040 helpers.o
1448 156 0 20 593 9891 main.o
362 0 0 0 0 8108 helpers.o
1452 158 0 20 593 9891 main.o
44 6 0 0 0 444 mcp4451.o
1282 78 121 20 0 8086 ps2kb.o
1484 72 0 32 0 11410 ps2mouse.o
@@ -2431,7 +2431,7 @@ Image component sizes
92 16 24 4 0 1131 system_stm32f0xx.o
----------------------------------------------------------------------
11892 712 372 84 2136 613118 Object Totals
11896 714 372 84 2136 613186 Object Totals
0 0 32 0 0 0 (incl. Generated)
34 0 3 0 7 0 (incl. Padding)
@@ -2477,15 +2477,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug
12252 752 372 96 2136 607894 Grand Totals
12252 752 372 96 2136 607894 ELF Image Totals
12252 752 372 96 0 0 ROM Totals
12256 754 372 96 2136 607962 Grand Totals
12256 754 372 96 2136 607962 ELF Image Totals
12256 754 372 96 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 12624 ( 12.33kB)
Total RO Size (Code + RO Data) 12628 ( 12.33kB)
Total RW Size (RW Data + ZI Data) 2232 ( 2.18kB)
Total ROM Size (Code + RO Data + RW Data) 12720 ( 12.42kB)
Total ROM Size (Code + RO Data + RW Data) 12724 ( 12.43kB)
==============================================================================

View File

@@ -39,7 +39,7 @@ F (..\Src\helpers.c)(0x61B618EA)(--c99 -c --cpu Cortex-M0 -D__MICROLIB -g -O3 --
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.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)
@@ -76,7 +76,7 @@ F (..\Src\ps2kb.c)(0x61B5C78E)(--c99 -c --cpu Cortex-M0 -D__MICROLIB -g -O3 --ap
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/stm32f072xb.h)(0x5DFA0880)
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.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)
@@ -115,7 +115,7 @@ F (..\Src\ps2mouse.c)(0x61B5F6A1)(--c99 -c --cpu Cortex-M0 -D__MICROLIB -g -O3 -
-o ibmpc\ps2kb.o --omf_browse ibmpc\ps2kb.crf --depend ibmpc\ps2kb.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)
I (C:\Keil_v5\ARM\ARMCC\include\stdlib.h)(0x5D9B429A)
I (../Inc/helpers.h)(0x61B7B4A1)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h)(0x5DFA0893)
I (../Inc/stm32f0xx_hal_conf.h)(0x61B5F65A)
@@ -151,11 +151,11 @@ I (../Inc/shared.h)(0x61B61A00)
I (../Inc/shared.h)(0x61B61A00)
I (../Inc/ps2kb.h)(0x617D9759)
I (../Inc/delay_us.h)(0x617487C7)
F (..\Src\ps2mouse.c)(0x61B5F6A1)(--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
F (..\Src\ps2mouse.c)(0x61B5F6A1)(--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\_ibmpc
-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
@@ -190,7 +190,7 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.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_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)

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

@@ -124,10 +124,10 @@ void HAL_SPI_TxRxCpltCallback(SPI_HandleTypeDef *hspi)
HAL_NVIC_SystemReset();
}
if(backup_spi1_recv_buf[SPI_BUF_INDEX_MSG_TYPE] == SPI_MOSI_MSG_KB_EVENT)
if(backup_spi1_recv_buf[SPI_BUF_INDEX_MSG_TYPE] == SPI_MOSI_MSG_TYPE_KEYBOARD_EVENT)
ps2kb_buf_add(&my_ps2kb_buf, backup_spi1_recv_buf[4], backup_spi1_recv_buf[6]);
if(backup_spi1_recv_buf[SPI_BUF_INDEX_MSG_TYPE] == SPI_MOSI_MSG_MOUSE_EVENT)
if(backup_spi1_recv_buf[SPI_BUF_INDEX_MSG_TYPE] == SPI_MOSI_MSG_TYPE_MOUSE_EVENT)
{
latest_mouse_event.movement_x = byte_to_int16_t(backup_spi1_recv_buf[4], backup_spi1_recv_buf[5]);
latest_mouse_event.movement_y = -1 * byte_to_int16_t(backup_spi1_recv_buf[6], backup_spi1_recv_buf[7]);
@@ -140,7 +140,7 @@ void HAL_SPI_TxRxCpltCallback(SPI_HandleTypeDef *hspi)
ps2mouse_buf_add(&my_ps2mouse_buf, &latest_mouse_event);
}
if(backup_spi1_recv_buf[SPI_BUF_INDEX_MSG_TYPE] == SPI_MOSI_MSG_REQ_ACK)
if(backup_spi1_recv_buf[SPI_BUF_INDEX_MSG_TYPE] == SPI_MOSI_MSG_TYPE_REQ_ACK)
HAL_GPIO_WritePin(SLAVE_REQ_GPIO_Port, SLAVE_REQ_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(ACT_LED_GPIO_Port, ACT_LED_Pin, GPIO_PIN_RESET);
}

View File

@@ -61,10 +61,13 @@ SPI_BUF_INDEX_MAGIC = 0
SPI_BUF_INDEX_SEQNUM = 1
SPI_BUF_INDEX_MSG_TYPE = 2
SPI_MOSI_MSG_KEYBOARD_EVENT = 1
SPI_MOSI_MSG_MOUSE_EVENT = 2
SPI_MOSI_MSG_GAMEPAD_EVENT = 3
SPI_MOSI_MSG_REQ_ACK = 4
SPI_MOSI_MSG_TYPE_NOP = 0
SPI_MOSI_MSG_TYPE_INFO_REQUEST = 1
SPI_MOSI_MSG_TYPE_KEYBOARD_EVENT = 2
SPI_MOSI_MSG_TYPE_MOUSE_EVENT = 3
SPI_MOSI_MSG_TYPE_GAMEPAD_EVENT_MAPPED = 4
SPI_MOSI_MSG_TYPE_REQ_ACK = 255
SPI_MISO_MSG_INFO_REPLY = 0
SPI_MISO_MSG_KB_LED_REQ = 1
@@ -72,12 +75,12 @@ SPI_MISO_MSG_KB_LED_REQ = 1
SPI_MOSI_MAGIC = 0xde
SPI_MISO_MAGIC = 0xcd
keyboard_spi_msg_header = [SPI_MOSI_MAGIC, 0, SPI_MOSI_MSG_KEYBOARD_EVENT] + [0]*29
mouse_spi_msg_template = [SPI_MOSI_MAGIC, 0, SPI_MOSI_MSG_MOUSE_EVENT] + [0]*29
gamepad_spi_msg_header = [SPI_MOSI_MAGIC, 0, SPI_MOSI_MSG_GAMEPAD_EVENT] + [0]*29
keyboard_spi_msg_header = [SPI_MOSI_MAGIC, 0, SPI_MOSI_MSG_TYPE_KEYBOARD_EVENT] + [0]*29
mouse_spi_msg_template = [SPI_MOSI_MAGIC, 0, SPI_MOSI_MSG_TYPE_MOUSE_EVENT] + [0]*29
gamepad_spi_msg_header = [SPI_MOSI_MAGIC, 0, SPI_MOSI_MSG_TYPE_GAMEPAD_EVENT_MAPPED] + [0]*29
def make_spi_msg_ack():
return [SPI_MOSI_MAGIC, 0, SPI_MOSI_MSG_REQ_ACK] + [0]*29
return [SPI_MOSI_MAGIC, 0, SPI_MOSI_MSG_TYPE_REQ_ACK] + [0]*29
def get_01(value):
if value:
@@ -142,9 +145,11 @@ def raw_input_event_worker():
"""
0 - 1 event_type
2 - 3 key code
4 - 8 button status
4 - 8 key status
"""
data = list(data[8:])
# mouse movement and scrolling
# buffer those values until a SYNC event
if data[0] == EV_REL:
if data[2] == REL_X:
mouse_spi_packet_dict["x"] = data[4:6]
@@ -152,10 +157,11 @@ def raw_input_event_worker():
mouse_spi_packet_dict["y"] = data[4:6]
if data[2] == REL_WHEEL:
mouse_spi_packet_dict["scroll"] = data[4:6]
# mouse button pressed, send it out immediately
if data[0] == EV_KEY:
key_code = data[3] * 256 + data[2]
if 0x110 <= key_code <= 0x117:
print(data)
mouse_button_state_list[data[2]-16] = data[4]
to_transfer = list(mouse_spi_msg_template)
to_transfer[10:13] = data[2:5]
@@ -169,6 +175,7 @@ def raw_input_event_worker():
if 0x1 <= key_code <= 127:
pcard_spi.xfer(make_keyboard_spi_packet(data, mouse_opened_device_dict[key][1]))
# SYNC event happened, send out an update
if data[0] == EV_SYN and data[2] == SYN_REPORT and len(mouse_spi_packet_dict) > 0:
to_transfer = list(mouse_spi_msg_template)
if 'x' in mouse_spi_packet_dict:
@@ -193,7 +200,7 @@ def raw_input_event_worker():
if data is None:
continue
data = list(data[8:])
# print(data)
print(data)
# if data[0] == EV_KEY:
# to_transfer = keyboard_spi_msg_header + data + [0]*20
# to_transfer[3] = gamepad_opened_device_dict[key][1]