diff --git a/firmware/stm32/smart_dormitory/.mxproject b/firmware/stm32/smart_dormitory/.mxproject
index 6769f366..731f1f19 100644
--- a/firmware/stm32/smart_dormitory/.mxproject
+++ b/firmware/stm32/smart_dormitory/.mxproject
@@ -2,38 +2,36 @@
LibFiles=Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_i2c.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h;Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_i2c.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h;Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h;Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h;Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h;Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h;Drivers/CMSIS/Device/ST/STM32F1xx/Source/Templates/system_stm32f1xx.c;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/cmsis_version.h;Drivers/CMSIS/Include/core_armv8mbl.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/tz_context.h;
[PreviousUsedKeilFiles]
-SourceFiles=..\Core\Src\main.c;..\Core\Src\gpio.c;..\Core\Src\adc.c;..\Core\Src\dma.c;..\Core\Src\i2c.c;..\Core\Src\spi.c;..\Core\Src\tim.c;..\Core\Src\usart.c;..\Core\Src\stm32f1xx_it.c;..\Core\Src\stm32f1xx_hal_msp.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c;..\Core\Src/system_stm32f1xx.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c;..\Core\Src/system_stm32f1xx.c;..\Drivers/CMSIS/Device/ST/STM32F1xx/Source/Templates/system_stm32f1xx.c;;
+SourceFiles=..\Core\Src\main.c;..\Core\Src\gpio.c;..\Core\Src\adc.c;..\Core\Src\i2c.c;..\Core\Src\spi.c;..\Core\Src\tim.c;..\Core\Src\usart.c;..\Core\Src\stm32f1xx_it.c;..\Core\Src\stm32f1xx_hal_msp.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c;..\Core\Src/system_stm32f1xx.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_i2c.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c;..\Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c;..\Core\Src/system_stm32f1xx.c;..\Drivers/CMSIS/Device/ST/STM32F1xx/Source/Templates/system_stm32f1xx.c;;
HeaderPath=..\Drivers\STM32F1xx_HAL_Driver\Inc;..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy;..\Drivers\CMSIS\Device\ST\STM32F1xx\Include;..\Drivers\CMSIS\Include;..\Core\Inc;
CDefines=USE_HAL_DRIVER;STM32F103xB;USE_HAL_DRIVER;USE_HAL_DRIVER;
[PreviousGenFiles]
AdvancedFolderStructure=true
-HeaderFileListSize=10
-HeaderFiles#0=D:/work/platform/wumei-smart/firmware/stm32/smart_dormitory/Core/Inc/gpio.h
-HeaderFiles#1=D:/work/platform/wumei-smart/firmware/stm32/smart_dormitory/Core/Inc/adc.h
-HeaderFiles#2=D:/work/platform/wumei-smart/firmware/stm32/smart_dormitory/Core/Inc/dma.h
-HeaderFiles#3=D:/work/platform/wumei-smart/firmware/stm32/smart_dormitory/Core/Inc/i2c.h
-HeaderFiles#4=D:/work/platform/wumei-smart/firmware/stm32/smart_dormitory/Core/Inc/spi.h
-HeaderFiles#5=D:/work/platform/wumei-smart/firmware/stm32/smart_dormitory/Core/Inc/tim.h
-HeaderFiles#6=D:/work/platform/wumei-smart/firmware/stm32/smart_dormitory/Core/Inc/usart.h
-HeaderFiles#7=D:/work/platform/wumei-smart/firmware/stm32/smart_dormitory/Core/Inc/stm32f1xx_it.h
-HeaderFiles#8=D:/work/platform/wumei-smart/firmware/stm32/smart_dormitory/Core/Inc/stm32f1xx_hal_conf.h
-HeaderFiles#9=D:/work/platform/wumei-smart/firmware/stm32/smart_dormitory/Core/Inc/main.h
+HeaderFileListSize=9
+HeaderFiles#0=D:/work/projects/XiaoYi_IOTKits/product_iotkits_smart_dormitory/device/01.Project_smart_dormitory/Core/Inc/gpio.h
+HeaderFiles#1=D:/work/projects/XiaoYi_IOTKits/product_iotkits_smart_dormitory/device/01.Project_smart_dormitory/Core/Inc/adc.h
+HeaderFiles#2=D:/work/projects/XiaoYi_IOTKits/product_iotkits_smart_dormitory/device/01.Project_smart_dormitory/Core/Inc/i2c.h
+HeaderFiles#3=D:/work/projects/XiaoYi_IOTKits/product_iotkits_smart_dormitory/device/01.Project_smart_dormitory/Core/Inc/spi.h
+HeaderFiles#4=D:/work/projects/XiaoYi_IOTKits/product_iotkits_smart_dormitory/device/01.Project_smart_dormitory/Core/Inc/tim.h
+HeaderFiles#5=D:/work/projects/XiaoYi_IOTKits/product_iotkits_smart_dormitory/device/01.Project_smart_dormitory/Core/Inc/usart.h
+HeaderFiles#6=D:/work/projects/XiaoYi_IOTKits/product_iotkits_smart_dormitory/device/01.Project_smart_dormitory/Core/Inc/stm32f1xx_it.h
+HeaderFiles#7=D:/work/projects/XiaoYi_IOTKits/product_iotkits_smart_dormitory/device/01.Project_smart_dormitory/Core/Inc/stm32f1xx_hal_conf.h
+HeaderFiles#8=D:/work/projects/XiaoYi_IOTKits/product_iotkits_smart_dormitory/device/01.Project_smart_dormitory/Core/Inc/main.h
HeaderFolderListSize=1
-HeaderPath#0=D:/work/platform/wumei-smart/firmware/stm32/smart_dormitory/Core/Inc
+HeaderPath#0=D:/work/projects/XiaoYi_IOTKits/product_iotkits_smart_dormitory/device/01.Project_smart_dormitory/Core/Inc
HeaderFiles=;
-SourceFileListSize=10
-SourceFiles#0=D:/work/platform/wumei-smart/firmware/stm32/smart_dormitory/Core/Src/gpio.c
-SourceFiles#1=D:/work/platform/wumei-smart/firmware/stm32/smart_dormitory/Core/Src/adc.c
-SourceFiles#2=D:/work/platform/wumei-smart/firmware/stm32/smart_dormitory/Core/Src/dma.c
-SourceFiles#3=D:/work/platform/wumei-smart/firmware/stm32/smart_dormitory/Core/Src/i2c.c
-SourceFiles#4=D:/work/platform/wumei-smart/firmware/stm32/smart_dormitory/Core/Src/spi.c
-SourceFiles#5=D:/work/platform/wumei-smart/firmware/stm32/smart_dormitory/Core/Src/tim.c
-SourceFiles#6=D:/work/platform/wumei-smart/firmware/stm32/smart_dormitory/Core/Src/usart.c
-SourceFiles#7=D:/work/platform/wumei-smart/firmware/stm32/smart_dormitory/Core/Src/stm32f1xx_it.c
-SourceFiles#8=D:/work/platform/wumei-smart/firmware/stm32/smart_dormitory/Core/Src/stm32f1xx_hal_msp.c
-SourceFiles#9=D:/work/platform/wumei-smart/firmware/stm32/smart_dormitory/Core/Src/main.c
+SourceFileListSize=9
+SourceFiles#0=D:/work/projects/XiaoYi_IOTKits/product_iotkits_smart_dormitory/device/01.Project_smart_dormitory/Core/Src/gpio.c
+SourceFiles#1=D:/work/projects/XiaoYi_IOTKits/product_iotkits_smart_dormitory/device/01.Project_smart_dormitory/Core/Src/adc.c
+SourceFiles#2=D:/work/projects/XiaoYi_IOTKits/product_iotkits_smart_dormitory/device/01.Project_smart_dormitory/Core/Src/i2c.c
+SourceFiles#3=D:/work/projects/XiaoYi_IOTKits/product_iotkits_smart_dormitory/device/01.Project_smart_dormitory/Core/Src/spi.c
+SourceFiles#4=D:/work/projects/XiaoYi_IOTKits/product_iotkits_smart_dormitory/device/01.Project_smart_dormitory/Core/Src/tim.c
+SourceFiles#5=D:/work/projects/XiaoYi_IOTKits/product_iotkits_smart_dormitory/device/01.Project_smart_dormitory/Core/Src/usart.c
+SourceFiles#6=D:/work/projects/XiaoYi_IOTKits/product_iotkits_smart_dormitory/device/01.Project_smart_dormitory/Core/Src/stm32f1xx_it.c
+SourceFiles#7=D:/work/projects/XiaoYi_IOTKits/product_iotkits_smart_dormitory/device/01.Project_smart_dormitory/Core/Src/stm32f1xx_hal_msp.c
+SourceFiles#8=D:/work/projects/XiaoYi_IOTKits/product_iotkits_smart_dormitory/device/01.Project_smart_dormitory/Core/Src/main.c
SourceFolderListSize=1
-SourcePath#0=D:/work/platform/wumei-smart/firmware/stm32/smart_dormitory/Core/Src
+SourcePath#0=D:/work/projects/XiaoYi_IOTKits/product_iotkits_smart_dormitory/device/01.Project_smart_dormitory/Core/Src
SourceFiles=;
diff --git a/firmware/stm32/smart_dormitory/Core/Inc/stm32f1xx_hal_conf.h b/firmware/stm32/smart_dormitory/Core/Inc/stm32f1xx_hal_conf.h
index 79f69304..ca23127b 100644
--- a/firmware/stm32/smart_dormitory/Core/Inc/stm32f1xx_hal_conf.h
+++ b/firmware/stm32/smart_dormitory/Core/Inc/stm32f1xx_hal_conf.h
@@ -41,7 +41,7 @@
/*#define HAL_CORTEX_MODULE_ENABLED */
/*#define HAL_CRC_MODULE_ENABLED */
/*#define HAL_DAC_MODULE_ENABLED */
-#define HAL_DMA_MODULE_ENABLED
+/*#define HAL_DMA_MODULE_ENABLED */
/*#define HAL_ETH_MODULE_ENABLED */
/*#define HAL_FLASH_MODULE_ENABLED */
#define HAL_GPIO_MODULE_ENABLED
diff --git a/firmware/stm32/smart_dormitory/Core/Inc/stm32f1xx_it.h b/firmware/stm32/smart_dormitory/Core/Inc/stm32f1xx_it.h
index ca781d3f..cb5dd974 100644
--- a/firmware/stm32/smart_dormitory/Core/Inc/stm32f1xx_it.h
+++ b/firmware/stm32/smart_dormitory/Core/Inc/stm32f1xx_it.h
@@ -56,7 +56,7 @@ void SVC_Handler(void);
void DebugMon_Handler(void);
void PendSV_Handler(void);
void SysTick_Handler(void);
-void DMA1_Channel3_IRQHandler(void);
+void USART3_IRQHandler(void);
/* USER CODE BEGIN EFP */
/* USER CODE END EFP */
diff --git a/firmware/stm32/smart_dormitory/Core/Src/main.c b/firmware/stm32/smart_dormitory/Core/Src/main.c
index a76a61a5..4d6bf1a8 100644
--- a/firmware/stm32/smart_dormitory/Core/Src/main.c
+++ b/firmware/stm32/smart_dormitory/Core/Src/main.c
@@ -20,7 +20,6 @@
/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "adc.h"
-#include "dma.h"
#include "i2c.h"
#include "spi.h"
#include "tim.h"
@@ -29,15 +28,14 @@
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
-#include "esp8266.h"
-#include "mqtt.h"
#include "oled.h"
#include "dht11.h"
#include "flash.h"
+#include "esp8266.h"
#include "sensor_light.h"
#include "rc522.h"
#include "process.h"
-
+#include "mqtt.h"
/* USER CODE END Includes */
@@ -75,24 +73,6 @@ void delay_ms(int ms)
{
HAL_Delay(ms);
}
-
-// ESP8266主动下发给MCU数据
-int wifi_data_recv_fun(type_recv_e type, uint8_t *data, int len)
-{
- switch((int)type)
- {
- case TYPE_RECV_DISCONNECT:
- printf("WIFI DISCONNECT!\r\n");
- break;
- case TYPE_RECV_GOT_IP:
- printf("WIFI GOT IP!\r\n");
- break;
- case TYPE_RECV_SUBSCRIBE:
- printf("recv_fun sucribe data : %s\r\n", data);
- break;
- }
-}
-
/* USER CODE END 0 */
/**
@@ -124,7 +104,6 @@ int main(void)
/* Initialize all configured peripherals */
MX_GPIO_Init();
- MX_DMA_Init();
MX_ADC1_Init();
MX_TIM3_Init();
MX_USART1_UART_Init();
@@ -137,11 +116,11 @@ int main(void)
stop_buzz();
dht11_init();
oled_init();
- macRC522_Reset_Disable();
- macRC522_CS_Disable();
+// macRC522_Reset_Disable();
+// macRC522_CS_Disable();
- PcdReset();//RC522复位
- M500PcdConfigISOType ( 'A' );//设置工作方式
+// PcdReset();//RC522复位
+// M500PcdConfigISOType ( 'A' );//设置工作方式
delay_ms(1000);
oled_fill(0xFF);//全屏点亮
@@ -152,26 +131,21 @@ int main(void)
oled_show_string(70, 3, "Humi:", 1);
MX_TIM4_Init();
- if (HAL_OK == __HAL_UART_ENABLE_IT(&huart3, UART_IT_IDLE)) // 使能空闲中断
+ if (HAL_OK == HAL_UART_Receive_IT(&huart3, &aRxBuffer, 1))
{
printf("enable uart3 isr\r\n");
}
- HAL_UART_Receive_DMA(&huart3, ESP8266_Fram_Record_Struct.Data_RX_BUF, RX_BUF_MAX_LEN); // 启动DMA接收
-
if (HAL_OK == HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_1))
{
- printf("enable time4 pwm output\r\n");
+ printf("enable time4 pwm output\r\n");
}
- set_sg90(50);
- if (HAL_TIM_Base_Start_IT(&htim3))
+ if (HAL_TIM_Base_Start_IT(&htim4))
{
- printf("enable time3 base isr\r\n");
+ printf("enable time3 base isr\r\n");
}
-
- ESP8266_Fram_Record_Struct.wifi_data_recv_cb = wifi_data_recv_fun; // 定义系统回调函数,当有数据下发,会进入这个函数
-
+ ESP8266_STA_MQTTClient_Init();
printf("ready go into while1\r\n");
/* USER CODE END 2 */
diff --git a/firmware/stm32/smart_dormitory/Core/Src/stm32f1xx_it.c b/firmware/stm32/smart_dormitory/Core/Src/stm32f1xx_it.c
index e578ded6..92c20c92 100644
--- a/firmware/stm32/smart_dormitory/Core/Src/stm32f1xx_it.c
+++ b/firmware/stm32/smart_dormitory/Core/Src/stm32f1xx_it.c
@@ -58,7 +58,7 @@
/* USER CODE END 0 */
/* External variables --------------------------------------------------------*/
-extern DMA_HandleTypeDef hdma_usart3_rx;
+extern UART_HandleTypeDef huart3;
/* USER CODE BEGIN EV */
/* USER CODE END EV */
@@ -200,17 +200,29 @@ void SysTick_Handler(void)
/******************************************************************************/
/**
- * @brief This function handles DMA1 channel3 global interrupt.
+ * @brief This function handles USART3 global interrupt.
*/
-void DMA1_Channel3_IRQHandler(void)
+void USART3_IRQHandler(void)
{
- /* USER CODE BEGIN DMA1_Channel3_IRQn 0 */
+ /* USER CODE BEGIN USART3_IRQn 0 */
- /* USER CODE END DMA1_Channel3_IRQn 0 */
- HAL_DMA_IRQHandler(&hdma_usart3_rx);
- /* USER CODE BEGIN DMA1_Channel3_IRQn 1 */
+ /* USER CODE END USART3_IRQn 0 */
+ //空闲中断
+ if(__HAL_UART_GET_FLAG(&huart3,UART_FLAG_IDLE) != RESET)
+ {
+ //一帧数据接收完成
+ ESP8266_Fram_Record_Struct.InfBit.FramFinishFlag = 1;
+ //由软件序列清除中断标志位(先读USART_SR,然后读USART_DR)
+ __HAL_UART_CLEAR_IDLEFLAG(&huart3);
+ printf("..............\r\n");
+ }else
+ {
+ HAL_UART_IRQHandler(&huart3);
+ }
- /* USER CODE END DMA1_Channel3_IRQn 1 */
+ /* USER CODE BEGIN USART3_IRQn 1 */
+
+ /* USER CODE END USART3_IRQn 1 */
}
/* USER CODE BEGIN 1 */
diff --git a/firmware/stm32/smart_dormitory/Core/Src/usart.c b/firmware/stm32/smart_dormitory/Core/Src/usart.c
index aa017004..7414044c 100644
--- a/firmware/stm32/smart_dormitory/Core/Src/usart.c
+++ b/firmware/stm32/smart_dormitory/Core/Src/usart.c
@@ -30,7 +30,6 @@ extern volatile uint8_t TcpClosedFlag;
UART_HandleTypeDef huart1;
UART_HandleTypeDef huart3;
-DMA_HandleTypeDef hdma_usart3_rx;
/* USART1 init function */
@@ -125,25 +124,8 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
- /* USART3 DMA Init */
- /* USART3_RX Init */
- hdma_usart3_rx.Instance = DMA1_Channel3;
- hdma_usart3_rx.Init.Direction = DMA_PERIPH_TO_MEMORY;
- hdma_usart3_rx.Init.PeriphInc = DMA_PINC_DISABLE;
- hdma_usart3_rx.Init.MemInc = DMA_MINC_ENABLE;
- hdma_usart3_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
- hdma_usart3_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
- hdma_usart3_rx.Init.Mode = DMA_NORMAL;
- hdma_usart3_rx.Init.Priority = DMA_PRIORITY_HIGH;
- if (HAL_DMA_Init(&hdma_usart3_rx) != HAL_OK)
- {
- Error_Handler();
- }
-
- __HAL_LINKDMA(uartHandle,hdmarx,hdma_usart3_rx);
-
/* USART3 interrupt Init */
- HAL_NVIC_SetPriority(USART3_IRQn, 0, 0);
+ HAL_NVIC_SetPriority(USART3_IRQn, 2, 0);
HAL_NVIC_EnableIRQ(USART3_IRQn);
/* USER CODE BEGIN USART3_MspInit 1 */
__HAL_UART_ENABLE_IT(&huart3, UART_IT_IDLE);
@@ -186,9 +168,6 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
*/
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10|GPIO_PIN_11);
- /* USART3 DMA DeInit */
- HAL_DMA_DeInit(uartHandle->hdmarx);
-
/* USART3 interrupt Deinit */
HAL_NVIC_DisableIRQ(USART3_IRQn);
/* USER CODE BEGIN USART3_MspDeInit 1 */
@@ -219,44 +198,21 @@ PUTCHAR_PROTOTYPE
/**
* @brief This function handles USART IDLE interrupt.
- * {
- "airHumidity":0.0,
- "airTemperature":0.0,
- "blue":0,
- "brightness":11,
- "createBy":"",
- "createTime":1627381144000,
- "deviceId":3,
- "deviceNum":"E8DB84933089",
- "deviceStatusId":57,
- "deviceTemperature":40.0,
- "fadeTime":259,
- "green":0,
- "isOnline":1,
- "lightInterval":432,
- "lightMode":0,
- "lightStatus":1,
- "params":{},
- "red":255,
- "relayStatus":1,
- "rssi":-54,
- "triggerSource":0,
- "updateBy":"",
- "updateTime":1627381657000}
*/
-void USART3_IRQHandler(void)
+void HAL_UART_RxCpltCallback(UART_HandleTypeDef *UartHandle)
{
- if(__HAL_UART_GET_FLAG(&huart3, UART_FLAG_IDLE) != RESET) // 空闲中断标记被置位
+ uint8_t len = 0;
+
+ if(UartHandle->Instance == USART3)
{
- __HAL_UART_CLEAR_IDLEFLAG(&huart3); // 清除中断标记
- HAL_UART_DMAStop(&huart3); // 停止DMA接收
- ESP8266_Fram_Record_Struct.InfBit.FramLength = RX_BUF_MAX_LEN - __HAL_DMA_GET_COUNTER(huart3.hdmarx); // 总数据量减去未接收到的数据量为已经接收到的数据量
- ESP8266_Fram_Record_Struct.Data_RX_BUF[ESP8266_Fram_Record_Struct.InfBit.FramLength] = 0; // 添加结束符
- ESP8266_Fram_Record_Struct.InfBit.FramFinishFlag = 1; // 标记接收结束
- HAL_UART_Receive_DMA(&huart3, ESP8266_Fram_Record_Struct.Data_RX_BUF, RX_BUF_MAX_LEN); // 重新启动DMA接收
+ if(ESP8266_Fram_Record_Struct.InfBit.FramLength < ( RX_BUF_MAX_LEN - 1 ) )
+ {
+ //留最后一位做结束位
+ ESP8266_Fram_Record_Struct.Data_RX_BUF[ ESP8266_Fram_Record_Struct.InfBit.FramLength ++ ] = aRxBuffer;
+ }
+ HAL_UART_Receive_IT(&huart3,&aRxBuffer,1);
}
}
-
/* USER CODE END 1 */
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project.uvguix.Administrator b/firmware/stm32/smart_dormitory/MDK-ARM/Project.uvguix.Administrator
index 76530a26..838b847a 100644
--- a/firmware/stm32/smart_dormitory/MDK-ARM/Project.uvguix.Administrator
+++ b/firmware/stm32/smart_dormitory/MDK-ARM/Project.uvguix.Administrator
@@ -30,7 +30,7 @@
1506
Symbols
- 64 64 64
+ 80 80 80
1936
@@ -91,17 +91,17 @@
-1
- 0
- -8
- 1002
- 843
+ -7
+ 246
+ 1256
+ 830
0
- 705
- 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000005000000020000000100000056443A5C776F726B5C706C6174666F726D5C77756D65692D736D6172745C6669726D776172655C73746D33325C736D6172745F646F726D69746F72795C557365725C7869616F79695F776966695C657370383236362E630000000009657370383236362E6300000000FFDC7800FFFFFFFF53443A5C776F726B5C706C6174666F726D5C77756D65692D736D6172745C6669726D776172655C73746D33325C736D6172745F646F726D69746F72795C557365725C7869616F79695F776966695C6D7174742E6300000000066D7174742E6300000000BECEA100FFFFFFFF4B443A5C776F726B5C706C6174666F726D5C77756D65692D736D6172745C6669726D776172655C73746D33325C736D6172745F646F726D69746F72795C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000F0A0A100FFFFFFFF4C443A5C776F726B5C706C6174666F726D5C77756D65692D736D6172745C6669726D776172655C73746D33325C736D6172745F646F726D69746F72795C436F72655C5372635C75736172742E63000000000775736172742E6300000000BCA8E100FFFFFFFF56443A5C776F726B5C706C6174666F726D5C77756D65692D736D6172745C6669726D776172655C73746D33325C736D6172745F646F726D69746F72795C557365725C7869616F79695F776966695C657370383236362E680000000009657370383236362E68000000009CC1B600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD50001000000000000000200000034010000660000000006000041020000
+ 1032
+ 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000006000000000000000100000077443A5C776F726B5C70726F6A656374735C5869616F59695F494F544B6974735C70726F647563745F696F746B6974735F736D6172745F646F726D69746F72795C6465766963655C30312E77756D65695F736D6172745F646F726D69746F72795C557365725C7869616F79695F776966695C6D7174742E6300000000066D7174742E6300000000FFDC7800FFFFFFFF6F443A5C776F726B5C70726F6A656374735C5869616F59695F494F544B6974735C70726F647563745F696F746B6974735F736D6172745F646F726D69746F72795C6465766963655C30312E77756D65695F736D6172745F646F726D69746F72795C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000BECEA100FFFFFFFF7A443A5C776F726B5C70726F6A656374735C5869616F59695F494F544B6974735C70726F647563745F696F746B6974735F736D6172745F646F726D69746F72795C6465766963655C30312E77756D65695F736D6172745F646F726D69746F72795C557365725C7869616F79695F776966695C657370383236362E630000000009657370383236362E6300000000F0A0A100FFFFFFFF7A443A5C776F726B5C70726F6A656374735C5869616F59695F494F544B6974735C70726F647563745F696F746B6974735F736D6172745F646F726D69746F72795C6465766963655C30312E77756D65695F736D6172745F646F726D69746F72795C557365725C7869616F79695F776966695C657370383236362E680000000009657370383236362E6800000000BCA8E100FFFFFFFF77443A5C776F726B5C70726F6A656374735C5869616F59695F494F544B6974735C70726F647563745F696F746B6974735F736D6172745F646F726D69746F72795C6465766963655C30312E77756D65695F736D6172745F646F726D69746F72795C557365725C7869616F79695F776966695C6D7174742E6800000000066D7174742E68000000009CC1B600FFFFFFFF76443A5C776F726B5C70726F6A656374735C5869616F59695F494F544B6974735C70726F647563745F696F746B6974735F736D6172745F646F726D69746F72795C6465766963655C30312E77756D65695F736D6172745F646F726D69746F72795C557365725C7869616F79695F776966695C7463702E6300000000057463702E6300000000F7B88600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD50001000000000000000200000034010000660000008007000018030000
@@ -140,7 +140,7 @@
0
16
- 03000000660000002D01000011020000
+ 03000000660000002D010000E8020000
16
@@ -160,7 +160,7 @@
0
16
- 03000000660000002D01000011020000
+ 03000000660000002D010000E8020000
16
@@ -440,7 +440,7 @@
0
16
- 03000000660000002D01000011020000
+ 03000000660000002D010000E8020000
16
@@ -460,7 +460,7 @@
0
16
- 03000000660000002D01000011020000
+ 03000000660000002D010000E8020000
16
@@ -480,7 +480,7 @@
0
16
- 0300000045020000FD050000F5020000
+ 030000001C0300007D070000CD030000
16
@@ -520,7 +520,7 @@
0
16
- 0300000045020000FD050000F5020000
+ 030000001C0300007D070000CD030000
16
@@ -1140,7 +1140,7 @@
0
16
- 03000000660000002D01000011020000
+ 03000000660000002D010000E8020000
16
@@ -1160,7 +1160,7 @@
0
16
- 0300000045020000FD050000F5020000
+ 030000001C0300007D070000CD030000
16
@@ -1180,7 +1180,7 @@
0
16
- 0300000045020000FD050000F5020000
+ 030000001C0300007D070000CD030000
16
@@ -1240,7 +1240,7 @@
0
16
- 0300000045020000FD050000F5020000
+ 030000001C0300007D070000CD030000
16
@@ -1260,7 +1260,7 @@
0
16
- 0300000045020000FD050000F5020000
+ 030000001C0300007D070000CD030000
16
@@ -1720,7 +1720,7 @@
0
16
- 000000000E0300000006000021030000
+ 00000000E603000080070000F9030000
16
@@ -1789,14 +1789,14 @@
3317
- 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000F40000006600000090050000F6000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF300100004F000000340100002A02000001000000020000100400000001000000EAFEFFFFDF040000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000660000003001000041020000000000004F000000300100002A0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000003002000090050000D4020000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000002A020000000600002E02000001000000010000100400000001000000ECFDFFFFA0000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000000000000450200000006000025030000000000002E020000000600000E0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF1346696E6420416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572010000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
+ 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000F40000006600000090050000F6000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF300100004F000000340100000103000001000000020000100400000001000000EAFEFFFFDF040000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000660000003001000018030000000000004F00000030010000010300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000003002000090050000D4020000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000000103000080070000050300000100000001000010040000000100000039FDFFFFC5000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000001C03000080070000FD030000000000000503000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF1346696E6420416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572010000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
59392
File
- 2599
- 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000F41545F4672616D655F5265636F7264960000000000000014000F41545F4672616D655F5265636F72641A455350383236365F4672616D5F5265636F72645F5374727563741541545F4672616D5F5265636F72645F5374727563740B666972655F7374617475730D68616C5F41545F7072696E746609776966695F646174610CCAFDBEDDD6A1BDE1B9B9CCE5096C6576656C5F6C6F770A6C6576656C5F686967681848414C5F4750494F5F455854495F49525148616E646C65721648414C5F4750494F5F455854495F43616C6C6261636B0A43574155544F434F4E4E0E5055424C4953485F464C41475F540D557365725F455350383236365F09434F4E4E4543545F540673656E736F72084B65795F5363616E07666C616754786410636F756E745F696E746572727570743110636F756E745F696E74657272757074300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65B9030000
+ 2562
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000025C5C96000000000000001400025C5C0D557365725F455350383236365F034953500A737463383963353272630F41545F4672616D655F5265636F72641A455350383236365F4672616D5F5265636F72645F5374727563741541545F4672616D5F5265636F72645F5374727563740B666972655F7374617475730D68616C5F41545F7072696E746609776966695F646174610CCAFDBEDDD6A1BDE1B9B9CCE5096C6576656C5F6C6F770A6C6576656C5F686967681848414C5F4750494F5F455854495F49525148616E646C65721648414C5F4750494F5F455854495F43616C6C6261636B0A43574155544F434F4E4E0E5055424C4953485F464C41475F5409434F4E4E4543545F540673656E736F72084B65795F5363616E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65B9030000
1423
@@ -1828,7 +1828,7 @@
Debug
2373
- 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
+ 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
898
@@ -1841,8 +1841,8 @@
0
- 1536
- 864
+ 1920
+ 1080
@@ -1852,48 +1852,57 @@
0
100
- 2
-
- ..\User\xiaoyi_wifi\esp8266.c
- 14
- 1
- 1
- 1
-
- 0
-
+ 0
..\User\xiaoyi_wifi\mqtt.c
- 35
- 32
- 56
+ 66
+ 1
+ 16
1
0
../Core/Src/main.c
- 3
- 176
- 182
- 1
-
- 0
-
-
- ../Core/Src/usart.c
2
- 234
- 240
+ 126
+ 150
1
0
- D:\work\platform\wumei-smart\firmware\stm32\smart_dormitory\User\xiaoyi_wifi\esp8266.h
- 10
- 76
- 85
+ ..\User\xiaoyi_wifi\esp8266.c
+ 0
+ 89
+ 122
+ 1
+
+ 0
+
+
+ D:\work\projects\XiaoYi_IOTKits\product_iotkits_smart_dormitory\device\01.wumei_smart_dormitory\User\xiaoyi_wifi\esp8266.h
+ 17
+ 55
+ 76
+ 1
+
+ 0
+
+
+ D:\work\projects\XiaoYi_IOTKits\product_iotkits_smart_dormitory\device\01.wumei_smart_dormitory\User\xiaoyi_wifi\mqtt.h
+ 43
+ 1
+ 20
+ 1
+
+ 0
+
+
+ ..\User\xiaoyi_wifi\tcp.c
+ 0
+ 4
+ 18
1
0
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project.uvoptx b/firmware/stm32/smart_dormitory/MDK-ARM/Project.uvoptx
index 38d06495..59b7713b 100644
--- a/firmware/stm32/smart_dormitory/MDK-ARM/Project.uvoptx
+++ b/firmware/stm32/smart_dormitory/MDK-ARM/Project.uvoptx
@@ -171,7 +171,7 @@
Application/MDK-ARM
- 1
+ 0
0
0
0
@@ -238,18 +238,6 @@
0
0
0
- ../Core/Src/dma.c
- dma.c
- 0
- 0
-
-
- 2
- 6
- 1
- 0
- 0
- 0
../Core/Src/i2c.c
i2c.c
0
@@ -257,7 +245,7 @@
2
- 7
+ 6
1
0
0
@@ -269,7 +257,7 @@
2
- 8
+ 7
1
0
0
@@ -281,7 +269,7 @@
2
- 9
+ 8
1
0
0
@@ -293,7 +281,7 @@
2
- 10
+ 9
1
0
0
@@ -305,7 +293,7 @@
2
- 11
+ 10
1
0
0
@@ -323,6 +311,18 @@
0
0
0
+
+ 3
+ 11
+ 1
+ 0
+ 0
+ 0
+ ..\User\xiaoyi_wifi\tcp.c
+ tcp.c
+ 0
+ 0
+
3
12
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project.uvprojx b/firmware/stm32/smart_dormitory/MDK-ARM/Project.uvprojx
index 4a66eaa4..c563ad7b 100644
--- a/firmware/stm32/smart_dormitory/MDK-ARM/Project.uvprojx
+++ b/firmware/stm32/smart_dormitory/MDK-ARM/Project.uvprojx
@@ -337,7 +337,7 @@
USE_HAL_DRIVER,STM32F103xB
- ../Core/Inc; ../Drivers/STM32F1xx_HAL_Driver/Inc; ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy; ../Drivers/CMSIS/Device/ST/STM32F1xx/Include; ../Drivers/CMSIS/Include; ..\User\flash; ..\User\dht11; ..\User\light; ..\User\oled; ..\User\key_scan; ..\User\Process; ..\User\xiaoyi_wifi; ..\User\RC522
+ ../Core/Inc; ../Drivers/STM32F1xx_HAL_Driver/Inc; ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy; ../Drivers/CMSIS/Device/ST/STM32F1xx/Include; ../Drivers/CMSIS/Include; ..\User\flash; ..\User\dht11; ..\User\light; ..\User\oled; ..\User\key_scan; ..\User\Process; ..\User\xiaoyi_wifi; ..\User\RC522
@@ -406,11 +406,6 @@
1
../Core/Src/adc.c
-
- dma.c
- 1
- ../Core/Src/dma.c
-
i2c.c
1
@@ -446,6 +441,11 @@
Application/User/Process
+
+ tcp.c
+ 1
+ ..\User\xiaoyi_wifi\tcp.c
+
mqtt.c
1
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/Project.map b/firmware/stm32/smart_dormitory/MDK-ARM/Project/Project.map
index 95db9c02..b5731e1d 100644
--- a/firmware/stm32/smart_dormitory/MDK-ARM/Project/Project.map
+++ b/firmware/stm32/smart_dormitory/MDK-ARM/Project/Project.map
@@ -15,8 +15,7 @@ Section Cross References
startup_stm32f103xb.o(RESET) refers to stm32f1xx_it.o(i.DebugMon_Handler) for DebugMon_Handler
startup_stm32f103xb.o(RESET) refers to stm32f1xx_it.o(i.PendSV_Handler) for PendSV_Handler
startup_stm32f103xb.o(RESET) refers to stm32f1xx_it.o(i.SysTick_Handler) for SysTick_Handler
- startup_stm32f103xb.o(RESET) refers to stm32f1xx_it.o(i.DMA1_Channel3_IRQHandler) for DMA1_Channel3_IRQHandler
- startup_stm32f103xb.o(RESET) refers to usart.o(i.USART3_IRQHandler) for USART3_IRQHandler
+ startup_stm32f103xb.o(RESET) refers to stm32f1xx_it.o(i.USART3_IRQHandler) for USART3_IRQHandler
startup_stm32f103xb.o(.text) refers to system_stm32f1xx.o(i.SystemInit) for SystemInit
startup_stm32f103xb.o(.text) refers to entry.o(.ARM.Collect$$$$00000000) for __main
main.o(i.SystemClock_Config) refers to memseta.o(.text) for __aeabi_memclr4
@@ -27,7 +26,6 @@ Section Cross References
main.o(i.main) refers to stm32f1xx_hal.o(i.HAL_Init) for HAL_Init
main.o(i.main) refers to main.o(i.SystemClock_Config) for SystemClock_Config
main.o(i.main) refers to gpio.o(i.MX_GPIO_Init) for MX_GPIO_Init
- main.o(i.main) refers to dma.o(i.MX_DMA_Init) for MX_DMA_Init
main.o(i.main) refers to adc.o(i.MX_ADC1_Init) for MX_ADC1_Init
main.o(i.main) refers to tim.o(i.MX_TIM3_Init) for MX_TIM3_Init
main.o(i.main) refers to usart.o(i.MX_USART1_UART_Init) for MX_USART1_UART_Init
@@ -39,23 +37,19 @@ Section Cross References
main.o(i.main) refers to process.o(i.stop_buzz) for stop_buzz
main.o(i.main) refers to dht11.o(i.dht11_init) for dht11_init
main.o(i.main) refers to oled.o(i.oled_init) for oled_init
- main.o(i.main) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin
- main.o(i.main) refers to rc522.o(i.PcdReset) for PcdReset
- main.o(i.main) refers to rc522.o(i.M500PcdConfigISOType) for M500PcdConfigISOType
main.o(i.main) refers to stm32f1xx_hal.o(i.HAL_Delay) for HAL_Delay
main.o(i.main) refers to oled.o(i.oled_fill) for oled_fill
main.o(i.main) refers to oled.o(i.oled_show_string) for oled_show_string
- main.o(i.main) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Receive_DMA) for HAL_UART_Receive_DMA
+ main.o(i.main) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Receive_IT) for HAL_UART_Receive_IT
main.o(i.main) refers to stm32f1xx_hal_tim.o(i.HAL_TIM_PWM_Start) for HAL_TIM_PWM_Start
- main.o(i.main) refers to process.o(i.set_sg90) for set_sg90
main.o(i.main) refers to stm32f1xx_hal_tim.o(i.HAL_TIM_Base_Start_IT) for HAL_TIM_Base_Start_IT
+ main.o(i.main) refers to mqtt.o(i.ESP8266_STA_MQTTClient_Init) for ESP8266_STA_MQTTClient_Init
main.o(i.main) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_TogglePin) for HAL_GPIO_TogglePin
+ main.o(i.main) refers to usart.o(.data) for aRxBuffer
main.o(i.main) refers to usart.o(.bss) for huart3
- main.o(i.main) refers to esp8266.o(.bss) for ESP8266_Fram_Record_Struct
main.o(i.main) refers to tim.o(.bss) for htim4
- main.o(i.main) refers to main.o(i.wifi_data_recv_fun) for wifi_data_recv_fun
main.o(i.main) refers to gpio.o(.data) for key_flag
- main.o(i.wifi_data_recv_fun) refers to printf3.o(i.__0printf$3) for __2printf
+ main.o(i.main) refers to esp8266.o(.bss) for ESP8266_Fram_Record_Struct
gpio.o(i.HAL_GPIO_EXTI_Callback) refers to gpio.o(.data) for .data
gpio.o(i.MX_GPIO_Init) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin
gpio.o(i.MX_GPIO_Init) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) for HAL_GPIO_Init
@@ -65,8 +59,6 @@ Section Cross References
adc.o(i.MX_ADC1_Init) refers to main.o(i.Error_Handler) for Error_Handler
adc.o(i.MX_ADC1_Init) refers to stm32f1xx_hal_adc.o(i.HAL_ADC_ConfigChannel) for HAL_ADC_ConfigChannel
adc.o(i.MX_ADC1_Init) refers to adc.o(.bss) for .bss
- dma.o(i.MX_DMA_Init) refers to stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority) for HAL_NVIC_SetPriority
- dma.o(i.MX_DMA_Init) refers to stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ) for HAL_NVIC_EnableIRQ
i2c.o(i.HAL_I2C_MspDeInit) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_DeInit) for HAL_GPIO_DeInit
i2c.o(i.HAL_I2C_MspInit) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) for HAL_GPIO_Init
i2c.o(i.MX_I2C1_Init) refers to stm32f1xx_hal_i2c.o(i.HAL_I2C_Init) for HAL_I2C_Init
@@ -91,69 +83,53 @@ Section Cross References
tim.o(i.MX_TIM4_Init) refers to tim.o(i.HAL_TIM_MspPostInit) for HAL_TIM_MspPostInit
tim.o(i.MX_TIM4_Init) refers to tim.o(.bss) for .bss
usart.o(i.HAL_UART_MspDeInit) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_DeInit) for HAL_GPIO_DeInit
- usart.o(i.HAL_UART_MspDeInit) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_DeInit) for HAL_DMA_DeInit
usart.o(i.HAL_UART_MspDeInit) refers to stm32f1xx_hal_cortex.o(i.HAL_NVIC_DisableIRQ) for HAL_NVIC_DisableIRQ
usart.o(i.HAL_UART_MspInit) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) for HAL_GPIO_Init
- usart.o(i.HAL_UART_MspInit) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Init) for HAL_DMA_Init
- usart.o(i.HAL_UART_MspInit) refers to main.o(i.Error_Handler) for Error_Handler
usart.o(i.HAL_UART_MspInit) refers to stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority) for HAL_NVIC_SetPriority
usart.o(i.HAL_UART_MspInit) refers to stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ) for HAL_NVIC_EnableIRQ
usart.o(i.HAL_UART_MspInit) refers to usart.o(.bss) for .bss
+ usart.o(i.HAL_UART_RxCpltCallback) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Receive_IT) for HAL_UART_Receive_IT
+ usart.o(i.HAL_UART_RxCpltCallback) refers to esp8266.o(.bss) for ESP8266_Fram_Record_Struct
+ usart.o(i.HAL_UART_RxCpltCallback) refers to usart.o(.data) for .data
+ usart.o(i.HAL_UART_RxCpltCallback) refers to usart.o(.bss) for .bss
usart.o(i.MX_USART1_UART_Init) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Init) for HAL_UART_Init
usart.o(i.MX_USART1_UART_Init) refers to main.o(i.Error_Handler) for Error_Handler
usart.o(i.MX_USART1_UART_Init) refers to usart.o(.bss) for .bss
usart.o(i.MX_USART3_UART_Init) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Init) for HAL_UART_Init
usart.o(i.MX_USART3_UART_Init) refers to main.o(i.Error_Handler) for Error_Handler
usart.o(i.MX_USART3_UART_Init) refers to usart.o(.bss) for .bss
- usart.o(i.USART3_IRQHandler) refers to stm32f1xx_hal_uart.o(i.HAL_UART_DMAStop) for HAL_UART_DMAStop
- usart.o(i.USART3_IRQHandler) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Receive_DMA) for HAL_UART_Receive_DMA
- usart.o(i.USART3_IRQHandler) refers to usart.o(.bss) for .bss
- usart.o(i.USART3_IRQHandler) refers to esp8266.o(.bss) for ESP8266_Fram_Record_Struct
usart.o(i.fputc) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) for HAL_UART_Transmit
usart.o(i.fputc) refers to usart.o(.bss) for .bss
- stm32f1xx_it.o(i.DMA1_Channel3_IRQHandler) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_IRQHandler) for HAL_DMA_IRQHandler
- stm32f1xx_it.o(i.DMA1_Channel3_IRQHandler) refers to usart.o(.bss) for hdma_usart3_rx
stm32f1xx_it.o(i.SysTick_Handler) refers to stm32f1xx_hal.o(i.HAL_IncTick) for HAL_IncTick
- mqtt.o(i.mqtt_ack_check) refers to mqtt.o(i.mqtt_recv) for mqtt_recv
- mqtt.o(i.mqtt_beat) refers to mqtt.o(i.mqtt_send) for mqtt_send
- mqtt.o(i.mqtt_beat) refers to mqtt.o(i.mqtt_ack_check) for mqtt_ack_check
- mqtt.o(i.mqtt_beat) refers to mqtt.o(i.mqtt_connect) for mqtt_connect
- mqtt.o(i.mqtt_connect) refers to mqtt.o(i.mqtt_str_fill) for mqtt_str_fill
- mqtt.o(i.mqtt_connect) refers to strlen.o(.text) for strlen
- mqtt.o(i.mqtt_connect) refers to mqtt.o(i.mqtt_send) for mqtt_send
- mqtt.o(i.mqtt_connect) refers to mqtt.o(i.mqtt_ack_check) for mqtt_ack_check
- mqtt.o(i.mqtt_handle) refers to mqtt.o(i.mqtt_recv) for mqtt_recv
- mqtt.o(i.mqtt_handle) refers to mqtt.o(i.mqtt_publish_from_cloud) for mqtt_publish_from_cloud
- mqtt.o(i.mqtt_init) refers to mqtt.o(i.mqtt_connect) for mqtt_connect
- mqtt.o(i.mqtt_init) refers to printf3.o(i.__0printf$3) for __2printf
- mqtt.o(i.mqtt_init) refers to mqtt.o(i.mqtt_subscriber) for mqtt_subscriber
- mqtt.o(i.mqtt_init) refers to mqtt.o(.data) for .data
- mqtt.o(i.mqtt_publish) refers to mqtt.o(i.mqtt_str_fill) for mqtt_str_fill
- mqtt.o(i.mqtt_publish) refers to strlen.o(.text) for strlen
- mqtt.o(i.mqtt_publish) refers to memcpya.o(.text) for __aeabi_memcpy
- mqtt.o(i.mqtt_publish) refers to mqtt.o(i.mqtt_send) for mqtt_send
- mqtt.o(i.mqtt_publish) refers to mqtt.o(i.mqtt_ack_check) for mqtt_ack_check
- mqtt.o(i.mqtt_publish_from_cloud) refers to memseta.o(.text) for __aeabi_memclr4
- mqtt.o(i.mqtt_publish_from_cloud) refers to memcpya.o(.text) for __aeabi_memcpy
- mqtt.o(i.mqtt_publish_from_cloud) refers to strcmp.o(.text) for strcmp
- mqtt.o(i.mqtt_publish_from_cloud) refers to mqtt.o(i.mqtt_send) for mqtt_send
- mqtt.o(i.mqtt_publish_update) refers to mqtt.o(i.mqtt_publish) for mqtt_publish
- mqtt.o(i.mqtt_publish_update) refers to mqtt.o(.data) for .data
- mqtt.o(i.mqtt_recv) refers to memcpya.o(.text) for __aeabi_memcpy
- mqtt.o(i.mqtt_recv) refers to stm32f1xx_hal.o(i.HAL_Delay) for HAL_Delay
- mqtt.o(i.mqtt_recv) refers to esp8266.o(.bss) for ESP8266_Fram_Record_Struct
- mqtt.o(i.mqtt_send) refers to memcpya.o(.text) for __aeabi_memcpy
- mqtt.o(i.mqtt_send) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) for HAL_UART_Transmit
- mqtt.o(i.mqtt_send) refers to esp8266.o(.bss) for ESP8266_Fram_Record_Struct
- mqtt.o(i.mqtt_send) refers to usart.o(.bss) for huart3
- mqtt.o(i.mqtt_str_fill) refers to strlen.o(.text) for strlen
- mqtt.o(i.mqtt_str_fill) refers to strcpy.o(.text) for strcpy
- mqtt.o(i.mqtt_subscriber) refers to mqtt.o(i.mqtt_str_fill) for mqtt_str_fill
- mqtt.o(i.mqtt_subscriber) refers to strlen.o(.text) for strlen
- mqtt.o(i.mqtt_subscriber) refers to mqtt.o(i.mqtt_send) for mqtt_send
- mqtt.o(i.mqtt_subscriber) refers to mqtt.o(i.mqtt_ack_check) for mqtt_ack_check
- mqtt.o(i.mqtt_tcp_connect) refers to printf3.o(i.__0sprintf$3) for __2sprintf
- mqtt.o(i.mqtt_tcp_connect) refers to esp8266.o(i.ESP8266_Send_AT_Cmd) for ESP8266_Send_AT_Cmd
+ stm32f1xx_it.o(i.USART3_IRQHandler) refers to printf3.o(i.__0printf$3) for __2printf
+ stm32f1xx_it.o(i.USART3_IRQHandler) refers to stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler) for HAL_UART_IRQHandler
+ stm32f1xx_it.o(i.USART3_IRQHandler) refers to usart.o(.bss) for huart3
+ stm32f1xx_it.o(i.USART3_IRQHandler) refers to esp8266.o(.bss) for ESP8266_Fram_Record_Struct
+ tcp.o(i.ESP8266_STA_TCPClient_Test) refers to memseta.o(.text) for __aeabi_memclr4
+ tcp.o(i.ESP8266_STA_TCPClient_Test) refers to esp8266.o(i.ESP8266_ATE0) for ESP8266_ATE0
+ tcp.o(i.ESP8266_STA_TCPClient_Test) refers to printf3.o(i.__0printf$3) for __2printf
+ tcp.o(i.ESP8266_STA_TCPClient_Test) refers to esp8266.o(i.ESP8266_Net_Mode_Choose) for ESP8266_Net_Mode_Choose
+ tcp.o(i.ESP8266_STA_TCPClient_Test) refers to esp8266.o(i.ESP8266_JoinAP) for ESP8266_JoinAP
+ tcp.o(i.ESP8266_STA_TCPClient_Test) refers to esp8266.o(i.ESP8266_Enable_MultipleId) for ESP8266_Enable_MultipleId
+ tcp.o(i.ESP8266_STA_TCPClient_Test) refers to esp8266.o(i.ESP8266_Link_Server) for ESP8266_Link_Server
+ tcp.o(i.ESP8266_STA_TCPClient_Test) refers to esp8266.o(i.ESP8266_UnvarnishSend) for ESP8266_UnvarnishSend
+ tcp.o(i.ESP8266_STA_TCPClient_Test) refers to printf3.o(i.__0sprintf$3) for __2sprintf
+ tcp.o(i.ESP8266_STA_TCPClient_Test) refers to esp8266.o(i.ESP8266_SendString) for ESP8266_SendString
+ tcp.o(i.ESP8266_STA_TCPClient_Test) refers to main.o(i.delay_ms) for delay_ms
+ tcp.o(i.ESP8266_STA_TCPClient_Test) refers to esp8266.o(i.ESP8266_ExitUnvarnishSend) for ESP8266_ExitUnvarnishSend
+ tcp.o(i.ESP8266_STA_TCPClient_Test) refers to esp8266.o(i.ESP8266_Get_LinkStatus) for ESP8266_Get_LinkStatus
+ tcp.o(i.ESP8266_STA_TCPClient_Test) refers to tcp.o(.data) for .data
+ mqtt.o(i.ESP8266_STA_MQTTClient_Init) refers to memcpya.o(.text) for __aeabi_memcpy4
+ mqtt.o(i.ESP8266_STA_MQTTClient_Init) refers to printf3.o(i.__0printf$3) for __2printf
+ mqtt.o(i.ESP8266_STA_MQTTClient_Init) refers to esp8266.o(i.ESP8266_ATE0) for ESP8266_ATE0
+ mqtt.o(i.ESP8266_STA_MQTTClient_Init) refers to esp8266.o(i.ESP8266_Net_Mode_Choose) for ESP8266_Net_Mode_Choose
+ mqtt.o(i.ESP8266_STA_MQTTClient_Init) refers to esp8266.o(i.ESP8266_JoinAP) for ESP8266_JoinAP
+ mqtt.o(i.ESP8266_STA_MQTTClient_Init) refers to esp8266.o(i.ESP8266_MQTTUSERCFG) for ESP8266_MQTTUSERCFG
+ mqtt.o(i.ESP8266_STA_MQTTClient_Init) refers to main.o(i.delay_ms) for delay_ms
+ mqtt.o(i.ESP8266_STA_MQTTClient_Init) refers to esp8266.o(i.ESP8266_MQTTCONN) for ESP8266_MQTTCONN
+ mqtt.o(i.ESP8266_STA_MQTTClient_Init) refers to esp8266.o(i.ESP8266_MQTTSUB) for ESP8266_MQTTSUB
+ mqtt.o(i.ESP8266_STA_MQTTClient_Init) refers to esp8266.o(i.MQTT_SendString) for MQTT_SendString
+ mqtt.o(i.ESP8266_STA_MQTTClient_Init) refers to mqtt.o(.conststring) for .conststring
process.o(i.set_sg90) refers to tim.o(.bss) for htim4
sensor_light.o(i.light_get_average_value) refers to sensor_light.o(i.light_get_value) for light_get_value
sensor_light.o(i.light_get_average_value) refers to main.o(i.delay_ms) for delay_ms
@@ -260,15 +236,13 @@ Section Cross References
esp8266.o(i.ESP8266_ATE0) refers to main.o(i.delay_ms) for delay_ms
esp8266.o(i.ESP8266_ATE0) refers to esp8266.o(i.ESP8266_Send_AT_Cmd) for ESP8266_Send_AT_Cmd
esp8266.o(i.ESP8266_ATE0) refers to printf3.o(i.__0printf$3) for __2printf
- esp8266.o(i.ESP8266_AT_Test) refers to main.o(i.delay_ms) for delay_ms
- esp8266.o(i.ESP8266_AT_Test) refers to esp8266.o(i.ESP8266_Send_AT_Cmd) for ESP8266_Send_AT_Cmd
- esp8266.o(i.ESP8266_AT_Test) refers to printf3.o(i.__0printf$3) for __2printf
- esp8266.o(i.ESP8266_Enable_AutoConnect) refers to printf3.o(i.__0sprintf$3) for __2sprintf
- esp8266.o(i.ESP8266_Enable_AutoConnect) refers to esp8266.o(i.ESP8266_Send_AT_Cmd) for ESP8266_Send_AT_Cmd
+ esp8266.o(i.ESP8266_AT_Restore) refers to main.o(i.delay_ms) for delay_ms
+ esp8266.o(i.ESP8266_AT_Restore) refers to esp8266.o(i.ESP8266_Send_AT_Cmd) for ESP8266_Send_AT_Cmd
+ esp8266.o(i.ESP8266_AT_Restore) refers to printf3.o(i.__0printf$3) for __2printf
esp8266.o(i.ESP8266_Enable_MultipleId) refers to printf3.o(i.__0sprintf$3) for __2sprintf
esp8266.o(i.ESP8266_Enable_MultipleId) refers to esp8266.o(i.ESP8266_Send_AT_Cmd) for ESP8266_Send_AT_Cmd
esp8266.o(i.ESP8266_ExitUnvarnishSend) refers to main.o(i.delay_ms) for delay_ms
- esp8266.o(i.ESP8266_ExitUnvarnishSend) refers to esp8266.o(i.hal_AT_printf) for hal_AT_printf
+ esp8266.o(i.ESP8266_ExitUnvarnishSend) refers to esp8266.o(i.USART_printf) for USART_printf
esp8266.o(i.ESP8266_Get_LinkStatus) refers to esp8266.o(i.ESP8266_Send_AT_Cmd) for ESP8266_Send_AT_Cmd
esp8266.o(i.ESP8266_Get_LinkStatus) refers to strstr.o(.text) for strstr
esp8266.o(i.ESP8266_Get_LinkStatus) refers to esp8266.o(.bss) for .bss
@@ -277,28 +251,29 @@ Section Cross References
esp8266.o(i.ESP8266_Link_Server) refers to memseta.o(.text) for __aeabi_memclr4
esp8266.o(i.ESP8266_Link_Server) refers to printf3.o(i.__0sprintf$3) for __2sprintf
esp8266.o(i.ESP8266_Link_Server) refers to esp8266.o(i.ESP8266_Send_AT_Cmd) for ESP8266_Send_AT_Cmd
+ esp8266.o(i.ESP8266_MQTTCLEAN) refers to printf3.o(i.__0sprintf$3) for __2sprintf
+ esp8266.o(i.ESP8266_MQTTCLEAN) refers to esp8266.o(i.ESP8266_Send_AT_Cmd) for ESP8266_Send_AT_Cmd
+ esp8266.o(i.ESP8266_MQTTCONN) refers to printf3.o(i.__0sprintf$3) for __2sprintf
+ esp8266.o(i.ESP8266_MQTTCONN) refers to esp8266.o(i.ESP8266_Send_AT_Cmd) for ESP8266_Send_AT_Cmd
+ esp8266.o(i.ESP8266_MQTTPUB) refers to printf3.o(i.__0sprintf$3) for __2sprintf
+ esp8266.o(i.ESP8266_MQTTPUB) refers to esp8266.o(i.ESP8266_Send_AT_Cmd) for ESP8266_Send_AT_Cmd
+ esp8266.o(i.ESP8266_MQTTSUB) refers to printf3.o(i.__0sprintf$3) for __2sprintf
+ esp8266.o(i.ESP8266_MQTTSUB) refers to esp8266.o(i.ESP8266_Send_AT_Cmd) for ESP8266_Send_AT_Cmd
+ esp8266.o(i.ESP8266_MQTTUSERCFG) refers to printf3.o(i.__0sprintf$3) for __2sprintf
+ esp8266.o(i.ESP8266_MQTTUSERCFG) refers to esp8266.o(i.ESP8266_Send_AT_Cmd) for ESP8266_Send_AT_Cmd
esp8266.o(i.ESP8266_Net_Mode_Choose) refers to esp8266.o(i.ESP8266_Send_AT_Cmd) for ESP8266_Send_AT_Cmd
- esp8266.o(i.ESP8266_Rst) refers to esp8266.o(i.ESP8266_Send_AT_Cmd) for ESP8266_Send_AT_Cmd
- esp8266.o(i.ESP8266_SendString) refers to esp8266.o(i.hal_AT_printf) for hal_AT_printf
+ esp8266.o(i.ESP8266_SendString) refers to esp8266.o(i.USART_printf) for USART_printf
esp8266.o(i.ESP8266_SendString) refers to printf3.o(i.__0sprintf$3) for __2sprintf
esp8266.o(i.ESP8266_SendString) refers to esp8266.o(i.ESP8266_Send_AT_Cmd) for ESP8266_Send_AT_Cmd
- esp8266.o(i.ESP8266_Send_AT_Cmd) refers to memseta.o(.text) for __aeabi_memclr4
- esp8266.o(i.ESP8266_Send_AT_Cmd) refers to esp8266.o(i.hal_AT_printf) for hal_AT_printf
+ esp8266.o(i.ESP8266_Send_AT_Cmd) refers to esp8266.o(i.USART_printf) for USART_printf
esp8266.o(i.ESP8266_Send_AT_Cmd) refers to main.o(i.delay_ms) for delay_ms
esp8266.o(i.ESP8266_Send_AT_Cmd) refers to printf3.o(i.__0printf$3) for __2printf
esp8266.o(i.ESP8266_Send_AT_Cmd) refers to strstr.o(.text) for strstr
esp8266.o(i.ESP8266_Send_AT_Cmd) refers to esp8266.o(.bss) for .bss
esp8266.o(i.ESP8266_UnvarnishSend) refers to esp8266.o(i.ESP8266_Send_AT_Cmd) for ESP8266_Send_AT_Cmd
- esp8266.o(i.WiFi_Connect_IoTServer) refers to esp8266.o(i.ESP8266_ATE0) for ESP8266_ATE0
- esp8266.o(i.WiFi_Connect_IoTServer) refers to printf3.o(i.__0printf$3) for __2printf
- esp8266.o(i.WiFi_Connect_IoTServer) refers to esp8266.o(i.ESP8266_Net_Mode_Choose) for ESP8266_Net_Mode_Choose
- esp8266.o(i.WiFi_Connect_IoTServer) refers to esp8266.o(i.ESP8266_Enable_MultipleId) for ESP8266_Enable_MultipleId
- esp8266.o(i.WiFi_Connect_IoTServer) refers to esp8266.o(i.ESP8266_Enable_AutoConnect) for ESP8266_Enable_AutoConnect
- esp8266.o(i.WiFi_Connect_IoTServer) refers to esp8266.o(i.ESP8266_JoinAP) for ESP8266_JoinAP
- esp8266.o(i.WiFi_Connect_IoTServer) refers to mqtt.o(i.mqtt_tcp_connect) for mqtt_tcp_connect
- esp8266.o(i.WiFi_Connect_IoTServer) refers to esp8266.o(i.ESP8266_UnvarnishSend) for ESP8266_UnvarnishSend
- esp8266.o(i.hal_AT_printf) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) for HAL_UART_Transmit
- esp8266.o(i.hal_AT_printf) refers to usart.o(.bss) for huart3
+ esp8266.o(i.MQTT_SendString) refers to esp8266.o(i.ESP8266_MQTTPUB) for ESP8266_MQTTPUB
+ esp8266.o(i.USART_printf) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) for HAL_UART_Transmit
+ esp8266.o(i.USART_printf) refers to usart.o(.bss) for huart3
stm32f1xx_hal_adc.o(i.ADC_ConversionStop_Disable) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick
stm32f1xx_hal_adc.o(i.ADC_DMAConvCplt) refers to stm32f1xx_hal_adc.o(i.HAL_ADC_ConvCpltCallback) for HAL_ADC_ConvCpltCallback
stm32f1xx_hal_adc.o(i.ADC_DMAError) refers to stm32f1xx_hal_adc.o(i.HAL_ADC_ErrorCallback) for HAL_ADC_ErrorCallback
@@ -923,7 +898,7 @@ Section Cross References
stm32f1xx_hal_uart.o(i.UART_DMAError) refers to stm32f1xx_hal_uart.o(i.UART_EndTxTransfer) for UART_EndTxTransfer
stm32f1xx_hal_uart.o(i.UART_DMAError) refers to stm32f1xx_hal_uart.o(i.UART_EndRxTransfer) for UART_EndRxTransfer
stm32f1xx_hal_uart.o(i.UART_DMAError) refers to stm32f1xx_hal_uart.o(i.HAL_UART_ErrorCallback) for HAL_UART_ErrorCallback
- stm32f1xx_hal_uart.o(i.UART_DMAReceiveCplt) refers to stm32f1xx_hal_uart.o(i.HAL_UART_RxCpltCallback) for HAL_UART_RxCpltCallback
+ stm32f1xx_hal_uart.o(i.UART_DMAReceiveCplt) refers to usart.o(i.HAL_UART_RxCpltCallback) for HAL_UART_RxCpltCallback
stm32f1xx_hal_uart.o(i.UART_DMARxAbortCallback) refers to stm32f1xx_hal_uart.o(i.HAL_UART_AbortCpltCallback) for HAL_UART_AbortCpltCallback
stm32f1xx_hal_uart.o(i.UART_DMARxHalfCplt) refers to stm32f1xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback) for HAL_UART_RxHalfCpltCallback
stm32f1xx_hal_uart.o(i.UART_DMARxOnlyAbortCallback) refers to stm32f1xx_hal_uart.o(i.HAL_UART_AbortReceiveCpltCallback) for HAL_UART_AbortReceiveCpltCallback
@@ -931,7 +906,7 @@ Section Cross References
stm32f1xx_hal_uart.o(i.UART_DMATxAbortCallback) refers to stm32f1xx_hal_uart.o(i.HAL_UART_AbortCpltCallback) for HAL_UART_AbortCpltCallback
stm32f1xx_hal_uart.o(i.UART_DMATxHalfCplt) refers to stm32f1xx_hal_uart.o(i.HAL_UART_TxHalfCpltCallback) for HAL_UART_TxHalfCpltCallback
stm32f1xx_hal_uart.o(i.UART_DMATxOnlyAbortCallback) refers to stm32f1xx_hal_uart.o(i.HAL_UART_AbortTransmitCpltCallback) for HAL_UART_AbortTransmitCpltCallback
- stm32f1xx_hal_uart.o(i.UART_Receive_IT) refers to stm32f1xx_hal_uart.o(i.HAL_UART_RxCpltCallback) for HAL_UART_RxCpltCallback
+ stm32f1xx_hal_uart.o(i.UART_Receive_IT) refers to usart.o(i.HAL_UART_RxCpltCallback) for HAL_UART_RxCpltCallback
stm32f1xx_hal_uart.o(i.UART_SetConfig) refers to stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) for HAL_RCC_GetPCLK2Freq
stm32f1xx_hal_uart.o(i.UART_SetConfig) refers to stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) for HAL_RCC_GetPCLK1Freq
stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick
@@ -1221,9 +1196,6 @@ Removing Unused input sections from the image.
Removing adc.o(.revsh_text), (4 bytes).
Removing adc.o(.rrx_text), (6 bytes).
Removing adc.o(i.HAL_ADC_MspDeInit), (40 bytes).
- Removing dma.o(.rev16_text), (4 bytes).
- Removing dma.o(.revsh_text), (4 bytes).
- Removing dma.o(.rrx_text), (6 bytes).
Removing i2c.o(.rev16_text), (4 bytes).
Removing i2c.o(.revsh_text), (4 bytes).
Removing i2c.o(.rrx_text), (6 bytes).
@@ -1240,38 +1212,28 @@ Removing Unused input sections from the image.
Removing usart.o(.rev16_text), (4 bytes).
Removing usart.o(.revsh_text), (4 bytes).
Removing usart.o(.rrx_text), (6 bytes).
- Removing usart.o(i.HAL_UART_MspDeInit), (100 bytes).
- Removing usart.o(.data), (1 bytes).
+ Removing usart.o(i.HAL_UART_MspDeInit), (92 bytes).
Removing stm32f1xx_it.o(.rev16_text), (4 bytes).
Removing stm32f1xx_it.o(.revsh_text), (4 bytes).
Removing stm32f1xx_it.o(.rrx_text), (6 bytes).
Removing stm32f1xx_hal_msp.o(.rev16_text), (4 bytes).
Removing stm32f1xx_hal_msp.o(.revsh_text), (4 bytes).
Removing stm32f1xx_hal_msp.o(.rrx_text), (6 bytes).
+ Removing tcp.o(.rev16_text), (4 bytes).
+ Removing tcp.o(.revsh_text), (4 bytes).
+ Removing tcp.o(.rrx_text), (6 bytes).
+ Removing tcp.o(i.ESP8266_STA_TCPClient_Test), (284 bytes).
+ Removing tcp.o(.data), (1 bytes).
Removing mqtt.o(.rev16_text), (4 bytes).
Removing mqtt.o(.revsh_text), (4 bytes).
Removing mqtt.o(.rrx_text), (6 bytes).
- Removing mqtt.o(i.mqtt_ack_check), (64 bytes).
- Removing mqtt.o(i.mqtt_beat), (112 bytes).
- Removing mqtt.o(i.mqtt_connect), (186 bytes).
- Removing mqtt.o(i.mqtt_handle), (54 bytes).
- Removing mqtt.o(i.mqtt_init), (240 bytes).
- Removing mqtt.o(i.mqtt_publish), (104 bytes).
- Removing mqtt.o(i.mqtt_publish_from_cloud), (180 bytes).
- Removing mqtt.o(i.mqtt_publish_update), (44 bytes).
- Removing mqtt.o(i.mqtt_recv), (88 bytes).
- Removing mqtt.o(i.mqtt_send), (148 bytes).
- Removing mqtt.o(i.mqtt_str_fill), (38 bytes).
- Removing mqtt.o(i.mqtt_subscriber), (86 bytes).
- Removing mqtt.o(i.mqtt_tcp_connect), (96 bytes).
- Removing mqtt.o(.data), (114 bytes).
- Removing mqtt.o(.data), (2 bytes).
Removing process.o(.rev16_text), (4 bytes).
Removing process.o(.revsh_text), (4 bytes).
Removing process.o(.rrx_text), (6 bytes).
Removing process.o(i.process_handle_wifi_data), (2 bytes).
Removing process.o(i.process_local_handle), (2 bytes).
Removing process.o(i.process_report_data), (2 bytes).
+ Removing process.o(i.set_sg90), (12 bytes).
Removing process.o(i.start_buzz), (16 bytes).
Removing sensor_light.o(.rev16_text), (4 bytes).
Removing sensor_light.o(.revsh_text), (4 bytes).
@@ -1305,35 +1267,38 @@ Removing Unused input sections from the image.
Removing rc522.o(.revsh_text), (4 bytes).
Removing rc522.o(.rrx_text), (6 bytes).
Removing rc522.o(i.CalulateCRC), (102 bytes).
+ Removing rc522.o(i.ClearBitMask), (24 bytes).
Removing rc522.o(i.IC_CMT), (70 bytes).
+ Removing rc522.o(i.M500PcdConfigISOType), (86 bytes).
Removing rc522.o(i.PcdAntennaOff), (8 bytes).
+ Removing rc522.o(i.PcdAntennaOn), (26 bytes).
Removing rc522.o(i.PcdAnticoll), (108 bytes).
Removing rc522.o(i.PcdAuthState), (84 bytes).
Removing rc522.o(i.PcdComMF522), (278 bytes).
Removing rc522.o(i.PcdHalt), (50 bytes).
Removing rc522.o(i.PcdRead), (76 bytes).
Removing rc522.o(i.PcdRequest), (82 bytes).
+ Removing rc522.o(i.PcdReset), (132 bytes).
Removing rc522.o(i.PcdSelect), (100 bytes).
Removing rc522.o(i.PcdWrite), (132 bytes).
+ Removing rc522.o(i.ReadRawRC), (60 bytes).
+ Removing rc522.o(i.SPI_FLASH_ReadByte), (44 bytes).
+ Removing rc522.o(i.SPI_FLASH_SendByte), (44 bytes).
+ Removing rc522.o(i.SetBitMask), (24 bytes).
+ Removing rc522.o(i.WriteRawRC), (60 bytes).
Removing esp8266.o(.rev16_text), (4 bytes).
Removing esp8266.o(.revsh_text), (4 bytes).
Removing esp8266.o(.rrx_text), (6 bytes).
- Removing esp8266.o(i.ESP8266_ATE0), (72 bytes).
- Removing esp8266.o(i.ESP8266_AT_Test), (76 bytes).
- Removing esp8266.o(i.ESP8266_Enable_AutoConnect), (56 bytes).
+ Removing esp8266.o(i.ESP8266_AT_Restore), (76 bytes).
Removing esp8266.o(i.ESP8266_Enable_MultipleId), (60 bytes).
Removing esp8266.o(i.ESP8266_ExitUnvarnishSend), (32 bytes).
Removing esp8266.o(i.ESP8266_Get_LinkStatus), (124 bytes).
Removing esp8266.o(i.ESP8266_Init), (28 bytes).
- Removing esp8266.o(i.ESP8266_JoinAP), (76 bytes).
Removing esp8266.o(i.ESP8266_Link_Server), (176 bytes).
- Removing esp8266.o(i.ESP8266_Net_Mode_Choose), (96 bytes).
- Removing esp8266.o(i.ESP8266_Rst), (32 bytes).
+ Removing esp8266.o(i.ESP8266_MQTTCLEAN), (52 bytes).
+ Removing esp8266.o(i.ESP8266_Rst), (2 bytes).
Removing esp8266.o(i.ESP8266_SendString), (132 bytes).
- Removing esp8266.o(i.ESP8266_Send_AT_Cmd), (152 bytes).
Removing esp8266.o(i.ESP8266_UnvarnishSend), (76 bytes).
- Removing esp8266.o(i.WiFi_Connect_IoTServer), (460 bytes).
- Removing esp8266.o(i.hal_AT_printf), (304 bytes).
Removing stm32f1xx_hal_gpio_ex.o(.rev16_text), (4 bytes).
Removing stm32f1xx_hal_gpio_ex.o(.revsh_text), (4 bytes).
Removing stm32f1xx_hal_gpio_ex.o(.rrx_text), (6 bytes).
@@ -1434,13 +1399,17 @@ Removing Unused input sections from the image.
Removing stm32f1xx_hal_dma.o(.rev16_text), (4 bytes).
Removing stm32f1xx_hal_dma.o(.revsh_text), (4 bytes).
Removing stm32f1xx_hal_dma.o(.rrx_text), (6 bytes).
- Removing stm32f1xx_hal_dma.o(i.HAL_DMA_Abort_IT), (152 bytes).
+ Removing stm32f1xx_hal_dma.o(i.DMA_SetConfig), (42 bytes).
+ Removing stm32f1xx_hal_dma.o(i.HAL_DMA_Abort), (70 bytes).
Removing stm32f1xx_hal_dma.o(i.HAL_DMA_DeInit), (92 bytes).
Removing stm32f1xx_hal_dma.o(i.HAL_DMA_GetError), (4 bytes).
Removing stm32f1xx_hal_dma.o(i.HAL_DMA_GetState), (6 bytes).
+ Removing stm32f1xx_hal_dma.o(i.HAL_DMA_IRQHandler), (340 bytes).
+ Removing stm32f1xx_hal_dma.o(i.HAL_DMA_Init), (92 bytes).
Removing stm32f1xx_hal_dma.o(i.HAL_DMA_PollForTransfer), (532 bytes).
Removing stm32f1xx_hal_dma.o(i.HAL_DMA_RegisterCallback), (74 bytes).
Removing stm32f1xx_hal_dma.o(i.HAL_DMA_Start), (80 bytes).
+ Removing stm32f1xx_hal_dma.o(i.HAL_DMA_Start_IT), (112 bytes).
Removing stm32f1xx_hal_dma.o(i.HAL_DMA_UnRegisterCallback), (82 bytes).
Removing stm32f1xx_hal_cortex.o(.rev16_text), (4 bytes).
Removing stm32f1xx_hal_cortex.o(.revsh_text), (4 bytes).
@@ -1611,6 +1580,7 @@ Removing Unused input sections from the image.
Removing stm32f1xx_hal_spi.o(i.HAL_SPI_RxCpltCallback), (2 bytes).
Removing stm32f1xx_hal_spi.o(i.HAL_SPI_RxHalfCpltCallback), (2 bytes).
Removing stm32f1xx_hal_spi.o(i.HAL_SPI_Transmit), (358 bytes).
+ Removing stm32f1xx_hal_spi.o(i.HAL_SPI_TransmitReceive), (482 bytes).
Removing stm32f1xx_hal_spi.o(i.HAL_SPI_TransmitReceive_DMA), (292 bytes).
Removing stm32f1xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT), (164 bytes).
Removing stm32f1xx_hal_spi.o(i.HAL_SPI_Transmit_DMA), (216 bytes).
@@ -1639,10 +1609,12 @@ Removing Unused input sections from the image.
Removing stm32f1xx_hal_spi.o(i.SPI_DMATransmitReceiveCplt), (90 bytes).
Removing stm32f1xx_hal_spi.o(i.SPI_DMATxAbortCallback), (112 bytes).
Removing stm32f1xx_hal_spi.o(i.SPI_EndRxTransaction), (92 bytes).
+ Removing stm32f1xx_hal_spi.o(i.SPI_EndRxTxTransaction), (32 bytes).
Removing stm32f1xx_hal_spi.o(i.SPI_RxISR_16BIT), (32 bytes).
Removing stm32f1xx_hal_spi.o(i.SPI_RxISR_8BIT), (32 bytes).
Removing stm32f1xx_hal_spi.o(i.SPI_TxISR_16BIT), (32 bytes).
Removing stm32f1xx_hal_spi.o(i.SPI_TxISR_8BIT), (32 bytes).
+ Removing stm32f1xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout), (184 bytes).
Removing stm32f1xx_hal_tim.o(.rev16_text), (4 bytes).
Removing stm32f1xx_hal_tim.o(.revsh_text), (4 bytes).
Removing stm32f1xx_hal_tim.o(.rrx_text), (6 bytes).
@@ -1813,26 +1785,29 @@ Removing Unused input sections from the image.
Removing stm32f1xx_hal_uart.o(i.HAL_UART_Abort_IT), (172 bytes).
Removing stm32f1xx_hal_uart.o(i.HAL_UART_DMAPause), (102 bytes).
Removing stm32f1xx_hal_uart.o(i.HAL_UART_DMAResume), (94 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_DMAStop), (88 bytes).
Removing stm32f1xx_hal_uart.o(i.HAL_UART_DeInit), (50 bytes).
Removing stm32f1xx_hal_uart.o(i.HAL_UART_GetError), (4 bytes).
Removing stm32f1xx_hal_uart.o(i.HAL_UART_GetState), (10 bytes).
- Removing stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler), (348 bytes).
Removing stm32f1xx_hal_uart.o(i.HAL_UART_MspDeInit), (2 bytes).
Removing stm32f1xx_hal_uart.o(i.HAL_UART_MspInit), (2 bytes).
Removing stm32f1xx_hal_uart.o(i.HAL_UART_Receive), (188 bytes).
- Removing stm32f1xx_hal_uart.o(i.HAL_UART_Receive_IT), (82 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_Receive_DMA), (152 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_RxCpltCallback), (2 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback), (2 bytes).
Removing stm32f1xx_hal_uart.o(i.HAL_UART_Transmit_DMA), (128 bytes).
Removing stm32f1xx_hal_uart.o(i.HAL_UART_Transmit_IT), (62 bytes).
- Removing stm32f1xx_hal_uart.o(i.HAL_UART_TxCpltCallback), (2 bytes).
Removing stm32f1xx_hal_uart.o(i.HAL_UART_TxHalfCpltCallback), (2 bytes).
- Removing stm32f1xx_hal_uart.o(i.UART_DMAAbortOnError), (16 bytes).
+ Removing stm32f1xx_hal_uart.o(i.UART_DMAError), (74 bytes).
+ Removing stm32f1xx_hal_uart.o(i.UART_DMAReceiveCplt), (60 bytes).
Removing stm32f1xx_hal_uart.o(i.UART_DMARxAbortCallback), (42 bytes).
+ Removing stm32f1xx_hal_uart.o(i.UART_DMARxHalfCplt), (10 bytes).
Removing stm32f1xx_hal_uart.o(i.UART_DMARxOnlyAbortCallback), (20 bytes).
Removing stm32f1xx_hal_uart.o(i.UART_DMATransmitCplt), (46 bytes).
Removing stm32f1xx_hal_uart.o(i.UART_DMATxAbortCallback), (42 bytes).
Removing stm32f1xx_hal_uart.o(i.UART_DMATxHalfCplt), (10 bytes).
Removing stm32f1xx_hal_uart.o(i.UART_DMATxOnlyAbortCallback), (20 bytes).
- Removing stm32f1xx_hal_uart.o(i.UART_Receive_IT), (140 bytes).
+ Removing stm32f1xx_hal_uart.o(i.UART_EndTxTransfer), (18 bytes).
Removing system_stm32f1xx.o(.rev16_text), (4 bytes).
Removing system_stm32f1xx.o(.revsh_text), (4 bytes).
Removing system_stm32f1xx.o(.rrx_text), (6 bytes).
@@ -1847,7 +1822,7 @@ Removing Unused input sections from the image.
Removing cdrcmple.o(.text), (48 bytes).
Removing depilogue.o(.text), (186 bytes).
-637 unused section(s) (total 52941 bytes) removed from the image.
+637 unused section(s) (total 51999 bytes) removed from the image.
==============================================================================
@@ -1858,7 +1833,6 @@ Image Symbol Table
Symbol Name Value Ov Type Size Object(Section)
../Core/Src/adc.c 0x00000000 Number 0 adc.o ABSOLUTE
- ../Core/Src/dma.c 0x00000000 Number 0 dma.o ABSOLUTE
../Core/Src/gpio.c 0x00000000 Number 0 gpio.o ABSOLUTE
../Core/Src/i2c.c 0x00000000 Number 0 i2c.o ABSOLUTE
../Core/Src/main.c 0x00000000 Number 0 main.o ABSOLUTE
@@ -1886,55 +1860,51 @@ Image Symbol Table
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c 0x00000000 Number 0 stm32f1xx_hal_tim.o ABSOLUTE
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c 0x00000000 Number 0 stm32f1xx_hal_tim_ex.o ABSOLUTE
../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c 0x00000000 Number 0 stm32f1xx_hal_uart.o ABSOLUTE
- ../clib/microlib/division.c 0x00000000 Number 0 uidiv.o ABSOLUTE
../clib/microlib/division.c 0x00000000 Number 0 uldiv.o ABSOLUTE
- ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.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 entry8a.o ABSOLUTE
- ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE
+ ../clib/microlib/division.c 0x00000000 Number 0 uidiv.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 entry9b.o ABSOLUTE
+ ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE
+ ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.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 entry10b.o ABSOLUTE
../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE
- ../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE
+ ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE
+ ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.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 entry2.o ABSOLUTE
+ ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE
+ ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE
../clib/microlib/longlong.c 0x00000000 Number 0 llshl.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 printf2.o ABSOLUTE
- ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf1.o ABSOLUTE
+ ../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf3.o ABSOLUTE
+ ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf4.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf5.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf6.o ABSOLUTE
../clib/microlib/printf/printf.c 0x00000000 Number 0 printf7.o ABSOLUTE
- ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf4.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 printfb.o ABSOLUTE
+ ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf0.o ABSOLUTE
+ ../clib/microlib/printf/printf.c 0x00000000 Number 0 printfa.o ABSOLUTE
+ ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf1.o ABSOLUTE
+ ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf2.o ABSOLUTE
../clib/microlib/printf/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/string/strcmp.c 0x00000000 Number 0 strcmp.o ABSOLUTE
- ../clib/microlib/string/strcpy.c 0x00000000 Number 0 strcpy.o ABSOLUTE
- ../clib/microlib/string/strlen.c 0x00000000 Number 0 strlen.o ABSOLUTE
../clib/microlib/string/strstr.c 0x00000000 Number 0 strstr.o ABSOLUTE
../clib/microlib/stubs.s 0x00000000 Number 0 iusefp.o ABSOLUTE
../fplib/microlib/fpadd.c 0x00000000 Number 0 dadd.o ABSOLUTE
- ../fplib/microlib/fpdiv.c 0x00000000 Number 0 fdiv.o ABSOLUTE
../fplib/microlib/fpdiv.c 0x00000000 Number 0 ddiv.o ABSOLUTE
- ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 fepilogue.o ABSOLUTE
+ ../fplib/microlib/fpdiv.c 0x00000000 Number 0 fdiv.o ABSOLUTE
../fplib/microlib/fpepilogue.c 0x00000000 Number 0 depilogue.o ABSOLUTE
+ ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 fepilogue.o ABSOLUTE
../fplib/microlib/fpfix.c 0x00000000 Number 0 dfixul.o ABSOLUTE
../fplib/microlib/fpflt.c 0x00000000 Number 0 ffltui.o ABSOLUTE
../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE
..\Core\Src\adc.c 0x00000000 Number 0 adc.o ABSOLUTE
- ..\Core\Src\dma.c 0x00000000 Number 0 dma.o ABSOLUTE
..\Core\Src\gpio.c 0x00000000 Number 0 gpio.o ABSOLUTE
..\Core\Src\i2c.c 0x00000000 Number 0 i2c.o ABSOLUTE
..\Core\Src\main.c 0x00000000 Number 0 main.o ABSOLUTE
@@ -1970,6 +1940,7 @@ Image Symbol Table
..\User\oled\oled.c 0x00000000 Number 0 oled.o ABSOLUTE
..\User\xiaoyi_wifi\esp8266.c 0x00000000 Number 0 esp8266.o ABSOLUTE
..\User\xiaoyi_wifi\mqtt.c 0x00000000 Number 0 mqtt.o ABSOLUTE
+ ..\User\xiaoyi_wifi\tcp.c 0x00000000 Number 0 tcp.o ABSOLUTE
..\\User\\Process\\process.c 0x00000000 Number 0 process.o ABSOLUTE
..\\User\\RC522\\rc522.c 0x00000000 Number 0 rc522.o ABSOLUTE
..\\User\\dht11\\dht11.c 0x00000000 Number 0 dht11.o ABSOLUTE
@@ -1978,6 +1949,7 @@ Image Symbol Table
..\\User\\oled\\oled.c 0x00000000 Number 0 oled.o ABSOLUTE
..\\User\\xiaoyi_wifi\\esp8266.c 0x00000000 Number 0 esp8266.o ABSOLUTE
..\\User\\xiaoyi_wifi\\mqtt.c 0x00000000 Number 0 mqtt.o ABSOLUTE
+ ..\\User\\xiaoyi_wifi\\tcp.c 0x00000000 Number 0 tcp.o ABSOLUTE
cdrcmple.s 0x00000000 Number 0 cdrcmple.o ABSOLUTE
dc.s 0x00000000 Number 0 dc.o ABSOLUTE
handlers.s 0x00000000 Number 0 handlers.o ABSOLUTE
@@ -1995,177 +1967,168 @@ Image Symbol Table
.ARM.Collect$$$$00002712 0x080000fc Section 4 entry2.o(.ARM.Collect$$$$00002712)
__lit__00000000 0x080000fc Data 4 entry2.o(.ARM.Collect$$$$00002712)
.text 0x08000100 Section 36 startup_stm32f103xb.o(.text)
- .text 0x08000124 Section 0 memseta.o(.text)
- .text 0x08000148 Section 0 uidiv.o(.text)
- .text 0x08000174 Section 36 init.o(.text)
- i.ADC_ConversionStop_Disable 0x08000198 Section 0 stm32f1xx_hal_adc.o(i.ADC_ConversionStop_Disable)
- i.BusFault_Handler 0x080001e4 Section 0 stm32f1xx_it.o(i.BusFault_Handler)
- i.ClearBitMask 0x080001e6 Section 0 rc522.o(i.ClearBitMask)
- i.DHT11_Mode_Out_PP 0x08000200 Section 0 dht11.o(i.DHT11_Mode_Out_PP)
- DHT11_Mode_Out_PP 0x08000201 Thumb Code 24 dht11.o(i.DHT11_Mode_Out_PP)
- i.DMA1_Channel3_IRQHandler 0x0800021c Section 0 stm32f1xx_it.o(i.DMA1_Channel3_IRQHandler)
- i.DMA_SetConfig 0x08000228 Section 0 stm32f1xx_hal_dma.o(i.DMA_SetConfig)
- DMA_SetConfig 0x08000229 Thumb Code 42 stm32f1xx_hal_dma.o(i.DMA_SetConfig)
- i.DebugMon_Handler 0x08000252 Section 0 stm32f1xx_it.o(i.DebugMon_Handler)
- i.Error_Handler 0x08000254 Section 0 main.o(i.Error_Handler)
- i.HAL_ADC_ConfigChannel 0x08000258 Section 0 stm32f1xx_hal_adc.o(i.HAL_ADC_ConfigChannel)
- i.HAL_ADC_Init 0x08000354 Section 0 stm32f1xx_hal_adc.o(i.HAL_ADC_Init)
- i.HAL_ADC_MspInit 0x08000470 Section 0 adc.o(i.HAL_ADC_MspInit)
- i.HAL_DMA_Abort 0x080004c8 Section 0 stm32f1xx_hal_dma.o(i.HAL_DMA_Abort)
- i.HAL_DMA_IRQHandler 0x08000510 Section 0 stm32f1xx_hal_dma.o(i.HAL_DMA_IRQHandler)
- i.HAL_DMA_Init 0x08000664 Section 0 stm32f1xx_hal_dma.o(i.HAL_DMA_Init)
- i.HAL_DMA_Start_IT 0x080006c0 Section 0 stm32f1xx_hal_dma.o(i.HAL_DMA_Start_IT)
- i.HAL_Delay 0x08000730 Section 0 stm32f1xx_hal.o(i.HAL_Delay)
- i.HAL_GPIO_Init 0x08000754 Section 0 stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init)
- i.HAL_GPIO_TogglePin 0x08000934 Section 0 stm32f1xx_hal_gpio.o(i.HAL_GPIO_TogglePin)
- i.HAL_GPIO_WritePin 0x08000944 Section 0 stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin)
- i.HAL_GetTick 0x08000950 Section 0 stm32f1xx_hal.o(i.HAL_GetTick)
- i.HAL_I2C_Init 0x0800095c Section 0 stm32f1xx_hal_i2c.o(i.HAL_I2C_Init)
- i.HAL_I2C_Mem_Write 0x08000ae4 Section 0 stm32f1xx_hal_i2c.o(i.HAL_I2C_Mem_Write)
- i.HAL_I2C_MspInit 0x08000c14 Section 0 i2c.o(i.HAL_I2C_MspInit)
- i.HAL_IncTick 0x08000c84 Section 0 stm32f1xx_hal.o(i.HAL_IncTick)
- i.HAL_Init 0x08000c94 Section 0 stm32f1xx_hal.o(i.HAL_Init)
- i.HAL_InitTick 0x08000cb8 Section 0 stm32f1xx_hal.o(i.HAL_InitTick)
- i.HAL_MspInit 0x08000cf8 Section 0 stm32f1xx_hal_msp.o(i.HAL_MspInit)
- i.HAL_NVIC_EnableIRQ 0x08000d34 Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ)
- i.HAL_NVIC_SetPriority 0x08000d50 Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority)
- i.HAL_NVIC_SetPriorityGrouping 0x08000d90 Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping)
- i.HAL_RCCEx_PeriphCLKConfig 0x08000db4 Section 0 stm32f1xx_hal_rcc_ex.o(i.HAL_RCCEx_PeriphCLKConfig)
- i.HAL_RCC_ClockConfig 0x08000ea0 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig)
- i.HAL_RCC_GetPCLK1Freq 0x08000fcc Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq)
- i.HAL_RCC_GetPCLK2Freq 0x08000fec Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq)
- i.HAL_RCC_GetSysClockFreq 0x0800100c Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq)
- i.HAL_RCC_OscConfig 0x08001078 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig)
- i.HAL_SPI_Init 0x08001398 Section 0 stm32f1xx_hal_spi.o(i.HAL_SPI_Init)
- i.HAL_SPI_MspInit 0x0800144c Section 0 spi.o(i.HAL_SPI_MspInit)
- i.HAL_SPI_TransmitReceive 0x080014c0 Section 0 stm32f1xx_hal_spi.o(i.HAL_SPI_TransmitReceive)
- i.HAL_SYSTICK_Config 0x080016a2 Section 0 stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Config)
- i.HAL_TIMEx_MasterConfigSynchronization 0x080016cc Section 0 stm32f1xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization)
- i.HAL_TIM_Base_Init 0x08001734 Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_Base_Init)
- i.HAL_TIM_Base_MspInit 0x08001790 Section 0 tim.o(i.HAL_TIM_Base_MspInit)
- i.HAL_TIM_Base_Start_IT 0x080017b8 Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_Base_Start_IT)
- i.HAL_TIM_ConfigClockSource 0x08001810 Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_ConfigClockSource)
- i.HAL_TIM_MspPostInit 0x080018e8 Section 0 tim.o(i.HAL_TIM_MspPostInit)
- i.HAL_TIM_OC_ConfigChannel 0x08001934 Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_OC_ConfigChannel)
- i.HAL_TIM_OC_Init 0x08001980 Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_OC_Init)
- i.HAL_TIM_OC_MspInit 0x080019dc Section 0 tim.o(i.HAL_TIM_OC_MspInit)
- i.HAL_TIM_PWM_Start 0x08001a04 Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_PWM_Start)
- i.HAL_UART_DMAStop 0x08001aa0 Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_DMAStop)
- i.HAL_UART_ErrorCallback 0x08001af8 Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_ErrorCallback)
- i.HAL_UART_Init 0x08001afa Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_Init)
- i.HAL_UART_MspInit 0x08001b5c Section 0 usart.o(i.HAL_UART_MspInit)
- i.HAL_UART_Receive_DMA 0x08001c6c Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_Receive_DMA)
- i.HAL_UART_RxCpltCallback 0x08001d04 Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_RxCpltCallback)
- i.HAL_UART_RxHalfCpltCallback 0x08001d06 Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback)
- i.HAL_UART_Transmit 0x08001d08 Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_Transmit)
- i.HardFault_Handler 0x08001dba Section 0 stm32f1xx_it.o(i.HardFault_Handler)
- i.I2C_IsAcknowledgeFailed 0x08001dbc Section 0 stm32f1xx_hal_i2c.o(i.I2C_IsAcknowledgeFailed)
- I2C_IsAcknowledgeFailed 0x08001dbd Thumb Code 46 stm32f1xx_hal_i2c.o(i.I2C_IsAcknowledgeFailed)
- i.I2C_RequestMemoryWrite 0x08001dec Section 0 stm32f1xx_hal_i2c.o(i.I2C_RequestMemoryWrite)
- I2C_RequestMemoryWrite 0x08001ded Thumb Code 162 stm32f1xx_hal_i2c.o(i.I2C_RequestMemoryWrite)
- i.I2C_WaitOnBTFFlagUntilTimeout 0x08001e94 Section 0 stm32f1xx_hal_i2c.o(i.I2C_WaitOnBTFFlagUntilTimeout)
- I2C_WaitOnBTFFlagUntilTimeout 0x08001e95 Thumb Code 76 stm32f1xx_hal_i2c.o(i.I2C_WaitOnBTFFlagUntilTimeout)
- i.I2C_WaitOnFlagUntilTimeout 0x08001ee0 Section 0 stm32f1xx_hal_i2c.o(i.I2C_WaitOnFlagUntilTimeout)
- I2C_WaitOnFlagUntilTimeout 0x08001ee1 Thumb Code 104 stm32f1xx_hal_i2c.o(i.I2C_WaitOnFlagUntilTimeout)
- i.I2C_WaitOnMasterAddressFlagUntilTimeout 0x08001f48 Section 0 stm32f1xx_hal_i2c.o(i.I2C_WaitOnMasterAddressFlagUntilTimeout)
- I2C_WaitOnMasterAddressFlagUntilTimeout 0x08001f49 Thumb Code 150 stm32f1xx_hal_i2c.o(i.I2C_WaitOnMasterAddressFlagUntilTimeout)
- i.I2C_WaitOnTXEFlagUntilTimeout 0x08001fde Section 0 stm32f1xx_hal_i2c.o(i.I2C_WaitOnTXEFlagUntilTimeout)
- I2C_WaitOnTXEFlagUntilTimeout 0x08001fdf Thumb Code 76 stm32f1xx_hal_i2c.o(i.I2C_WaitOnTXEFlagUntilTimeout)
- i.M500PcdConfigISOType 0x0800202a Section 0 rc522.o(i.M500PcdConfigISOType)
- i.MX_ADC1_Init 0x08002080 Section 0 adc.o(i.MX_ADC1_Init)
- i.MX_DMA_Init 0x080020d0 Section 0 dma.o(i.MX_DMA_Init)
- i.MX_GPIO_Init 0x080020fc Section 0 gpio.o(i.MX_GPIO_Init)
- i.MX_I2C1_Init 0x080021ec Section 0 i2c.o(i.MX_I2C1_Init)
- i.MX_SPI2_Init 0x0800222c Section 0 spi.o(i.MX_SPI2_Init)
- i.MX_TIM3_Init 0x08002270 Section 0 tim.o(i.MX_TIM3_Init)
- i.MX_TIM4_Init 0x080022d8 Section 0 tim.o(i.MX_TIM4_Init)
- i.MX_USART1_UART_Init 0x0800234c Section 0 usart.o(i.MX_USART1_UART_Init)
- i.MX_USART3_UART_Init 0x08002384 Section 0 usart.o(i.MX_USART3_UART_Init)
- i.MemManage_Handler 0x080023bc Section 0 stm32f1xx_it.o(i.MemManage_Handler)
- i.NMI_Handler 0x080023be Section 0 stm32f1xx_it.o(i.NMI_Handler)
- i.PcdAntennaOn 0x080023c0 Section 0 rc522.o(i.PcdAntennaOn)
- i.PcdReset 0x080023dc Section 0 rc522.o(i.PcdReset)
- i.PendSV_Handler 0x08002460 Section 0 stm32f1xx_it.o(i.PendSV_Handler)
- i.ReadRawRC 0x08002464 Section 0 rc522.o(i.ReadRawRC)
- i.SPI_EndRxTxTransaction 0x080024a0 Section 0 stm32f1xx_hal_spi.o(i.SPI_EndRxTxTransaction)
- SPI_EndRxTxTransaction 0x080024a1 Thumb Code 32 stm32f1xx_hal_spi.o(i.SPI_EndRxTxTransaction)
- i.SPI_FLASH_ReadByte 0x080024c0 Section 0 rc522.o(i.SPI_FLASH_ReadByte)
- i.SPI_FLASH_SendByte 0x080024ec Section 0 rc522.o(i.SPI_FLASH_SendByte)
- i.SPI_WaitFlagStateUntilTimeout 0x08002518 Section 0 stm32f1xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout)
- SPI_WaitFlagStateUntilTimeout 0x08002519 Thumb Code 180 stm32f1xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout)
- i.SVC_Handler 0x080025d0 Section 0 stm32f1xx_it.o(i.SVC_Handler)
- i.SetBitMask 0x080025d2 Section 0 rc522.o(i.SetBitMask)
- i.SysTick_Handler 0x080025ea Section 0 stm32f1xx_it.o(i.SysTick_Handler)
- i.SystemClock_Config 0x080025ee Section 0 main.o(i.SystemClock_Config)
- i.SystemInit 0x0800264e Section 0 system_stm32f1xx.o(i.SystemInit)
- i.TIM_Base_SetConfig 0x08002650 Section 0 stm32f1xx_hal_tim.o(i.TIM_Base_SetConfig)
- i.TIM_CCxChannelCmd 0x080026bc Section 0 stm32f1xx_hal_tim.o(i.TIM_CCxChannelCmd)
- i.TIM_ETR_SetConfig 0x080026d6 Section 0 stm32f1xx_hal_tim.o(i.TIM_ETR_SetConfig)
- i.TIM_ITRx_SetConfig 0x080026ea Section 0 stm32f1xx_hal_tim.o(i.TIM_ITRx_SetConfig)
- TIM_ITRx_SetConfig 0x080026eb Thumb Code 16 stm32f1xx_hal_tim.o(i.TIM_ITRx_SetConfig)
- i.TIM_OC1_SetConfig 0x080026fc Section 0 stm32f1xx_hal_tim.o(i.TIM_OC1_SetConfig)
- TIM_OC1_SetConfig 0x080026fd Thumb Code 74 stm32f1xx_hal_tim.o(i.TIM_OC1_SetConfig)
- i.TIM_OC2_SetConfig 0x0800274c Section 0 stm32f1xx_hal_tim.o(i.TIM_OC2_SetConfig)
- i.TIM_OC3_SetConfig 0x080027a4 Section 0 stm32f1xx_hal_tim.o(i.TIM_OC3_SetConfig)
- TIM_OC3_SetConfig 0x080027a5 Thumb Code 82 stm32f1xx_hal_tim.o(i.TIM_OC3_SetConfig)
- i.TIM_OC4_SetConfig 0x080027fc Section 0 stm32f1xx_hal_tim.o(i.TIM_OC4_SetConfig)
- TIM_OC4_SetConfig 0x080027fd Thumb Code 64 stm32f1xx_hal_tim.o(i.TIM_OC4_SetConfig)
- i.TIM_TI1_ConfigInputStage 0x08002840 Section 0 stm32f1xx_hal_tim.o(i.TIM_TI1_ConfigInputStage)
- TIM_TI1_ConfigInputStage 0x08002841 Thumb Code 34 stm32f1xx_hal_tim.o(i.TIM_TI1_ConfigInputStage)
- i.TIM_TI2_ConfigInputStage 0x08002862 Section 0 stm32f1xx_hal_tim.o(i.TIM_TI2_ConfigInputStage)
- TIM_TI2_ConfigInputStage 0x08002863 Thumb Code 36 stm32f1xx_hal_tim.o(i.TIM_TI2_ConfigInputStage)
- i.UART_DMAError 0x08002886 Section 0 stm32f1xx_hal_uart.o(i.UART_DMAError)
- UART_DMAError 0x08002887 Thumb Code 74 stm32f1xx_hal_uart.o(i.UART_DMAError)
- i.UART_DMAReceiveCplt 0x080028d0 Section 0 stm32f1xx_hal_uart.o(i.UART_DMAReceiveCplt)
- UART_DMAReceiveCplt 0x080028d1 Thumb Code 60 stm32f1xx_hal_uart.o(i.UART_DMAReceiveCplt)
- i.UART_DMARxHalfCplt 0x0800290c Section 0 stm32f1xx_hal_uart.o(i.UART_DMARxHalfCplt)
- UART_DMARxHalfCplt 0x0800290d Thumb Code 10 stm32f1xx_hal_uart.o(i.UART_DMARxHalfCplt)
- i.UART_EndRxTransfer 0x08002916 Section 0 stm32f1xx_hal_uart.o(i.UART_EndRxTransfer)
- UART_EndRxTransfer 0x08002917 Thumb Code 28 stm32f1xx_hal_uart.o(i.UART_EndRxTransfer)
- i.UART_EndTxTransfer 0x08002932 Section 0 stm32f1xx_hal_uart.o(i.UART_EndTxTransfer)
- UART_EndTxTransfer 0x08002933 Thumb Code 18 stm32f1xx_hal_uart.o(i.UART_EndTxTransfer)
- i.UART_SetConfig 0x08002944 Section 0 stm32f1xx_hal_uart.o(i.UART_SetConfig)
- UART_SetConfig 0x08002945 Thumb Code 178 stm32f1xx_hal_uart.o(i.UART_SetConfig)
- i.UART_WaitOnFlagUntilTimeout 0x080029fc Section 0 stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout)
- UART_WaitOnFlagUntilTimeout 0x080029fd Thumb Code 100 stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout)
- i.USART3_IRQHandler 0x08002a60 Section 0 usart.o(i.USART3_IRQHandler)
- i.UsageFault_Handler 0x08002ac4 Section 0 stm32f1xx_it.o(i.UsageFault_Handler)
- i.WriteRawRC 0x08002ac8 Section 0 rc522.o(i.WriteRawRC)
- i.__0printf$3 0x08002b04 Section 0 printf3.o(i.__0printf$3)
- i.__NVIC_SetPriority 0x08002b24 Section 0 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority)
- __NVIC_SetPriority 0x08002b25 Thumb Code 32 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority)
- i.__scatterload_copy 0x08002b44 Section 14 handlers.o(i.__scatterload_copy)
- i.__scatterload_null 0x08002b52 Section 2 handlers.o(i.__scatterload_null)
- i.__scatterload_zeroinit 0x08002b54 Section 14 handlers.o(i.__scatterload_zeroinit)
- i._printf_core 0x08002b64 Section 0 printf3.o(i._printf_core)
- _printf_core 0x08002b65 Thumb Code 436 printf3.o(i._printf_core)
- i.delay_ms 0x08002d1c Section 0 main.o(i.delay_ms)
- i.dht11_init 0x08002d20 Section 0 dht11.o(i.dht11_init)
- i.fputc 0x08002d50 Section 0 usart.o(i.fputc)
- i.main 0x08002d68 Section 0 main.o(i.main)
- i.oled_fill 0x08002f60 Section 0 oled.o(i.oled_fill)
- i.oled_init 0x08002f98 Section 0 oled.o(i.oled_init)
- i.oled_set_pos 0x0800304c Section 0 oled.o(i.oled_set_pos)
- i.oled_show_string 0x08003074 Section 0 oled.o(i.oled_show_string)
- i.oled_write_cmd 0x0800314c Section 0 oled.o(i.oled_write_cmd)
- i.oled_write_data 0x08003170 Section 0 oled.o(i.oled_write_data)
- i.set_sg90 0x08003194 Section 0 process.o(i.set_sg90)
- i.stop_buzz 0x080031a0 Section 0 process.o(i.stop_buzz)
- i.wifi_data_recv_fun 0x080031b0 Section 0 main.o(i.wifi_data_recv_fun)
- .constdata 0x08003214 Section 2072 oled.o(.constdata)
- .constdata 0x08003a2c Section 16 system_stm32f1xx.o(.constdata)
- .constdata 0x08003a3c Section 8 system_stm32f1xx.o(.constdata)
+ .text 0x08000124 Section 0 memcpya.o(.text)
+ .text 0x08000148 Section 0 memseta.o(.text)
+ .text 0x0800016c Section 0 strstr.o(.text)
+ .text 0x08000190 Section 0 uidiv.o(.text)
+ .text 0x080001bc Section 36 init.o(.text)
+ i.ADC_ConversionStop_Disable 0x080001e0 Section 0 stm32f1xx_hal_adc.o(i.ADC_ConversionStop_Disable)
+ i.BusFault_Handler 0x0800022c Section 0 stm32f1xx_it.o(i.BusFault_Handler)
+ i.DHT11_Mode_Out_PP 0x08000230 Section 0 dht11.o(i.DHT11_Mode_Out_PP)
+ DHT11_Mode_Out_PP 0x08000231 Thumb Code 24 dht11.o(i.DHT11_Mode_Out_PP)
+ i.DebugMon_Handler 0x0800024c Section 0 stm32f1xx_it.o(i.DebugMon_Handler)
+ i.ESP8266_ATE0 0x08000250 Section 0 esp8266.o(i.ESP8266_ATE0)
+ i.ESP8266_JoinAP 0x08000298 Section 0 esp8266.o(i.ESP8266_JoinAP)
+ i.ESP8266_MQTTCONN 0x080002d4 Section 0 esp8266.o(i.ESP8266_MQTTCONN)
+ i.ESP8266_MQTTPUB 0x08000314 Section 0 esp8266.o(i.ESP8266_MQTTPUB)
+ i.ESP8266_MQTTSUB 0x0800035c Section 0 esp8266.o(i.ESP8266_MQTTSUB)
+ i.ESP8266_MQTTUSERCFG 0x08000394 Section 0 esp8266.o(i.ESP8266_MQTTUSERCFG)
+ i.ESP8266_Net_Mode_Choose 0x080003e8 Section 0 esp8266.o(i.ESP8266_Net_Mode_Choose)
+ i.ESP8266_STA_MQTTClient_Init 0x08000448 Section 0 mqtt.o(i.ESP8266_STA_MQTTClient_Init)
+ i.ESP8266_Send_AT_Cmd 0x080005c0 Section 0 esp8266.o(i.ESP8266_Send_AT_Cmd)
+ i.Error_Handler 0x08000640 Section 0 main.o(i.Error_Handler)
+ i.HAL_ADC_ConfigChannel 0x08000644 Section 0 stm32f1xx_hal_adc.o(i.HAL_ADC_ConfigChannel)
+ i.HAL_ADC_Init 0x08000740 Section 0 stm32f1xx_hal_adc.o(i.HAL_ADC_Init)
+ i.HAL_ADC_MspInit 0x0800085c Section 0 adc.o(i.HAL_ADC_MspInit)
+ i.HAL_DMA_Abort_IT 0x080008b4 Section 0 stm32f1xx_hal_dma.o(i.HAL_DMA_Abort_IT)
+ i.HAL_Delay 0x0800094c Section 0 stm32f1xx_hal.o(i.HAL_Delay)
+ i.HAL_GPIO_Init 0x08000970 Section 0 stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init)
+ i.HAL_GPIO_TogglePin 0x08000b50 Section 0 stm32f1xx_hal_gpio.o(i.HAL_GPIO_TogglePin)
+ i.HAL_GPIO_WritePin 0x08000b60 Section 0 stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin)
+ i.HAL_GetTick 0x08000b6c Section 0 stm32f1xx_hal.o(i.HAL_GetTick)
+ i.HAL_I2C_Init 0x08000b78 Section 0 stm32f1xx_hal_i2c.o(i.HAL_I2C_Init)
+ i.HAL_I2C_Mem_Write 0x08000d00 Section 0 stm32f1xx_hal_i2c.o(i.HAL_I2C_Mem_Write)
+ i.HAL_I2C_MspInit 0x08000e30 Section 0 i2c.o(i.HAL_I2C_MspInit)
+ i.HAL_IncTick 0x08000ea0 Section 0 stm32f1xx_hal.o(i.HAL_IncTick)
+ i.HAL_Init 0x08000eb0 Section 0 stm32f1xx_hal.o(i.HAL_Init)
+ i.HAL_InitTick 0x08000ed4 Section 0 stm32f1xx_hal.o(i.HAL_InitTick)
+ i.HAL_MspInit 0x08000f14 Section 0 stm32f1xx_hal_msp.o(i.HAL_MspInit)
+ i.HAL_NVIC_EnableIRQ 0x08000f50 Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ)
+ i.HAL_NVIC_SetPriority 0x08000f6c Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority)
+ i.HAL_NVIC_SetPriorityGrouping 0x08000fac Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping)
+ i.HAL_RCCEx_PeriphCLKConfig 0x08000fd0 Section 0 stm32f1xx_hal_rcc_ex.o(i.HAL_RCCEx_PeriphCLKConfig)
+ i.HAL_RCC_ClockConfig 0x080010bc Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig)
+ i.HAL_RCC_GetPCLK1Freq 0x080011e8 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq)
+ i.HAL_RCC_GetPCLK2Freq 0x08001208 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq)
+ i.HAL_RCC_GetSysClockFreq 0x08001228 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq)
+ i.HAL_RCC_OscConfig 0x08001294 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig)
+ i.HAL_SPI_Init 0x080015b4 Section 0 stm32f1xx_hal_spi.o(i.HAL_SPI_Init)
+ i.HAL_SPI_MspInit 0x08001668 Section 0 spi.o(i.HAL_SPI_MspInit)
+ i.HAL_SYSTICK_Config 0x080016dc Section 0 stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Config)
+ i.HAL_TIMEx_MasterConfigSynchronization 0x08001704 Section 0 stm32f1xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization)
+ i.HAL_TIM_Base_Init 0x0800176c Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_Base_Init)
+ i.HAL_TIM_Base_MspInit 0x080017c8 Section 0 tim.o(i.HAL_TIM_Base_MspInit)
+ i.HAL_TIM_Base_Start_IT 0x080017f0 Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_Base_Start_IT)
+ i.HAL_TIM_ConfigClockSource 0x08001848 Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_ConfigClockSource)
+ i.HAL_TIM_MspPostInit 0x08001920 Section 0 tim.o(i.HAL_TIM_MspPostInit)
+ i.HAL_TIM_OC_ConfigChannel 0x0800196c Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_OC_ConfigChannel)
+ i.HAL_TIM_OC_Init 0x080019b8 Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_OC_Init)
+ i.HAL_TIM_OC_MspInit 0x08001a14 Section 0 tim.o(i.HAL_TIM_OC_MspInit)
+ i.HAL_TIM_PWM_Start 0x08001a3c Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_PWM_Start)
+ i.HAL_UART_ErrorCallback 0x08001ad8 Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_ErrorCallback)
+ i.HAL_UART_IRQHandler 0x08001adc Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler)
+ i.HAL_UART_Init 0x08001c38 Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_Init)
+ i.HAL_UART_MspInit 0x08001c9c Section 0 usart.o(i.HAL_UART_MspInit)
+ i.HAL_UART_Receive_IT 0x08001d7c Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_Receive_IT)
+ i.HAL_UART_RxCpltCallback 0x08001dd0 Section 0 usart.o(i.HAL_UART_RxCpltCallback)
+ i.HAL_UART_Transmit 0x08001e2c Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_Transmit)
+ i.HAL_UART_TxCpltCallback 0x08001ede Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_TxCpltCallback)
+ i.HardFault_Handler 0x08001ee0 Section 0 stm32f1xx_it.o(i.HardFault_Handler)
+ i.I2C_IsAcknowledgeFailed 0x08001ee2 Section 0 stm32f1xx_hal_i2c.o(i.I2C_IsAcknowledgeFailed)
+ I2C_IsAcknowledgeFailed 0x08001ee3 Thumb Code 46 stm32f1xx_hal_i2c.o(i.I2C_IsAcknowledgeFailed)
+ i.I2C_RequestMemoryWrite 0x08001f10 Section 0 stm32f1xx_hal_i2c.o(i.I2C_RequestMemoryWrite)
+ I2C_RequestMemoryWrite 0x08001f11 Thumb Code 162 stm32f1xx_hal_i2c.o(i.I2C_RequestMemoryWrite)
+ i.I2C_WaitOnBTFFlagUntilTimeout 0x08001fb8 Section 0 stm32f1xx_hal_i2c.o(i.I2C_WaitOnBTFFlagUntilTimeout)
+ I2C_WaitOnBTFFlagUntilTimeout 0x08001fb9 Thumb Code 76 stm32f1xx_hal_i2c.o(i.I2C_WaitOnBTFFlagUntilTimeout)
+ i.I2C_WaitOnFlagUntilTimeout 0x08002004 Section 0 stm32f1xx_hal_i2c.o(i.I2C_WaitOnFlagUntilTimeout)
+ I2C_WaitOnFlagUntilTimeout 0x08002005 Thumb Code 104 stm32f1xx_hal_i2c.o(i.I2C_WaitOnFlagUntilTimeout)
+ i.I2C_WaitOnMasterAddressFlagUntilTimeout 0x0800206c Section 0 stm32f1xx_hal_i2c.o(i.I2C_WaitOnMasterAddressFlagUntilTimeout)
+ I2C_WaitOnMasterAddressFlagUntilTimeout 0x0800206d Thumb Code 150 stm32f1xx_hal_i2c.o(i.I2C_WaitOnMasterAddressFlagUntilTimeout)
+ i.I2C_WaitOnTXEFlagUntilTimeout 0x08002102 Section 0 stm32f1xx_hal_i2c.o(i.I2C_WaitOnTXEFlagUntilTimeout)
+ I2C_WaitOnTXEFlagUntilTimeout 0x08002103 Thumb Code 76 stm32f1xx_hal_i2c.o(i.I2C_WaitOnTXEFlagUntilTimeout)
+ i.MQTT_SendString 0x0800214e Section 0 esp8266.o(i.MQTT_SendString)
+ i.MX_ADC1_Init 0x08002154 Section 0 adc.o(i.MX_ADC1_Init)
+ i.MX_GPIO_Init 0x080021a4 Section 0 gpio.o(i.MX_GPIO_Init)
+ i.MX_I2C1_Init 0x08002294 Section 0 i2c.o(i.MX_I2C1_Init)
+ i.MX_SPI2_Init 0x080022d4 Section 0 spi.o(i.MX_SPI2_Init)
+ i.MX_TIM3_Init 0x08002318 Section 0 tim.o(i.MX_TIM3_Init)
+ i.MX_TIM4_Init 0x08002380 Section 0 tim.o(i.MX_TIM4_Init)
+ i.MX_USART1_UART_Init 0x080023f4 Section 0 usart.o(i.MX_USART1_UART_Init)
+ i.MX_USART3_UART_Init 0x0800242c Section 0 usart.o(i.MX_USART3_UART_Init)
+ i.MemManage_Handler 0x08002464 Section 0 stm32f1xx_it.o(i.MemManage_Handler)
+ i.NMI_Handler 0x08002466 Section 0 stm32f1xx_it.o(i.NMI_Handler)
+ i.PendSV_Handler 0x08002468 Section 0 stm32f1xx_it.o(i.PendSV_Handler)
+ i.SVC_Handler 0x0800246a Section 0 stm32f1xx_it.o(i.SVC_Handler)
+ i.SysTick_Handler 0x0800246c Section 0 stm32f1xx_it.o(i.SysTick_Handler)
+ i.SystemClock_Config 0x08002470 Section 0 main.o(i.SystemClock_Config)
+ i.SystemInit 0x080024d0 Section 0 system_stm32f1xx.o(i.SystemInit)
+ i.TIM_Base_SetConfig 0x080024d4 Section 0 stm32f1xx_hal_tim.o(i.TIM_Base_SetConfig)
+ i.TIM_CCxChannelCmd 0x08002540 Section 0 stm32f1xx_hal_tim.o(i.TIM_CCxChannelCmd)
+ i.TIM_ETR_SetConfig 0x0800255a Section 0 stm32f1xx_hal_tim.o(i.TIM_ETR_SetConfig)
+ i.TIM_ITRx_SetConfig 0x0800256e Section 0 stm32f1xx_hal_tim.o(i.TIM_ITRx_SetConfig)
+ TIM_ITRx_SetConfig 0x0800256f Thumb Code 16 stm32f1xx_hal_tim.o(i.TIM_ITRx_SetConfig)
+ i.TIM_OC1_SetConfig 0x08002580 Section 0 stm32f1xx_hal_tim.o(i.TIM_OC1_SetConfig)
+ TIM_OC1_SetConfig 0x08002581 Thumb Code 74 stm32f1xx_hal_tim.o(i.TIM_OC1_SetConfig)
+ i.TIM_OC2_SetConfig 0x080025d0 Section 0 stm32f1xx_hal_tim.o(i.TIM_OC2_SetConfig)
+ i.TIM_OC3_SetConfig 0x08002628 Section 0 stm32f1xx_hal_tim.o(i.TIM_OC3_SetConfig)
+ TIM_OC3_SetConfig 0x08002629 Thumb Code 82 stm32f1xx_hal_tim.o(i.TIM_OC3_SetConfig)
+ i.TIM_OC4_SetConfig 0x08002680 Section 0 stm32f1xx_hal_tim.o(i.TIM_OC4_SetConfig)
+ TIM_OC4_SetConfig 0x08002681 Thumb Code 64 stm32f1xx_hal_tim.o(i.TIM_OC4_SetConfig)
+ i.TIM_TI1_ConfigInputStage 0x080026c4 Section 0 stm32f1xx_hal_tim.o(i.TIM_TI1_ConfigInputStage)
+ TIM_TI1_ConfigInputStage 0x080026c5 Thumb Code 34 stm32f1xx_hal_tim.o(i.TIM_TI1_ConfigInputStage)
+ i.TIM_TI2_ConfigInputStage 0x080026e6 Section 0 stm32f1xx_hal_tim.o(i.TIM_TI2_ConfigInputStage)
+ TIM_TI2_ConfigInputStage 0x080026e7 Thumb Code 36 stm32f1xx_hal_tim.o(i.TIM_TI2_ConfigInputStage)
+ i.UART_DMAAbortOnError 0x0800270a Section 0 stm32f1xx_hal_uart.o(i.UART_DMAAbortOnError)
+ UART_DMAAbortOnError 0x0800270b Thumb Code 16 stm32f1xx_hal_uart.o(i.UART_DMAAbortOnError)
+ i.UART_EndRxTransfer 0x0800271a Section 0 stm32f1xx_hal_uart.o(i.UART_EndRxTransfer)
+ UART_EndRxTransfer 0x0800271b Thumb Code 28 stm32f1xx_hal_uart.o(i.UART_EndRxTransfer)
+ i.UART_Receive_IT 0x08002736 Section 0 stm32f1xx_hal_uart.o(i.UART_Receive_IT)
+ UART_Receive_IT 0x08002737 Thumb Code 140 stm32f1xx_hal_uart.o(i.UART_Receive_IT)
+ i.UART_SetConfig 0x080027c4 Section 0 stm32f1xx_hal_uart.o(i.UART_SetConfig)
+ UART_SetConfig 0x080027c5 Thumb Code 178 stm32f1xx_hal_uart.o(i.UART_SetConfig)
+ i.UART_WaitOnFlagUntilTimeout 0x0800287c Section 0 stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout)
+ UART_WaitOnFlagUntilTimeout 0x0800287d Thumb Code 100 stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout)
+ i.USART3_IRQHandler 0x080028e0 Section 0 stm32f1xx_it.o(i.USART3_IRQHandler)
+ i.USART_printf 0x08002930 Section 0 esp8266.o(i.USART_printf)
+ i.UsageFault_Handler 0x08002a60 Section 0 stm32f1xx_it.o(i.UsageFault_Handler)
+ i.__0printf$3 0x08002a64 Section 0 printf3.o(i.__0printf$3)
+ i.__0sprintf$3 0x08002a84 Section 0 printf3.o(i.__0sprintf$3)
+ i.__NVIC_SetPriority 0x08002aac Section 0 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority)
+ __NVIC_SetPriority 0x08002aad Thumb Code 32 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority)
+ i.__scatterload_copy 0x08002acc Section 14 handlers.o(i.__scatterload_copy)
+ i.__scatterload_null 0x08002ada Section 2 handlers.o(i.__scatterload_null)
+ i.__scatterload_zeroinit 0x08002adc Section 14 handlers.o(i.__scatterload_zeroinit)
+ i._printf_core 0x08002aec Section 0 printf3.o(i._printf_core)
+ _printf_core 0x08002aed Thumb Code 436 printf3.o(i._printf_core)
+ i._sputc 0x08002ca4 Section 0 printf3.o(i._sputc)
+ _sputc 0x08002ca5 Thumb Code 10 printf3.o(i._sputc)
+ i.delay_ms 0x08002cae Section 0 main.o(i.delay_ms)
+ i.dht11_init 0x08002cb4 Section 0 dht11.o(i.dht11_init)
+ i.fputc 0x08002ce4 Section 0 usart.o(i.fputc)
+ i.main 0x08002cfc Section 0 main.o(i.main)
+ i.oled_fill 0x08002eb4 Section 0 oled.o(i.oled_fill)
+ i.oled_init 0x08002eec Section 0 oled.o(i.oled_init)
+ i.oled_set_pos 0x08002fa0 Section 0 oled.o(i.oled_set_pos)
+ i.oled_show_string 0x08002fc8 Section 0 oled.o(i.oled_show_string)
+ i.oled_write_cmd 0x080030a0 Section 0 oled.o(i.oled_write_cmd)
+ i.oled_write_data 0x080030c4 Section 0 oled.o(i.oled_write_data)
+ i.stop_buzz 0x080030e8 Section 0 process.o(i.stop_buzz)
+ .constdata 0x080030f8 Section 2072 oled.o(.constdata)
+ .constdata 0x08003910 Section 16 system_stm32f1xx.o(.constdata)
+ .constdata 0x08003920 Section 8 system_stm32f1xx.o(.constdata)
+ .conststring 0x08003928 Section 267 mqtt.o(.conststring)
.data 0x20000000 Section 4 gpio.o(.data)
- .data 0x20000004 Section 12 stm32f1xx_hal.o(.data)
- .data 0x20000010 Section 4 system_stm32f1xx.o(.data)
- .data 0x20000014 Section 4 stdout.o(.data)
- .bss 0x20000018 Section 48 adc.o(.bss)
- .bss 0x20000048 Section 84 i2c.o(.bss)
- .bss 0x2000009c Section 88 spi.o(.bss)
- .bss 0x200000f4 Section 144 tim.o(.bss)
- .bss 0x20000184 Section 196 usart.o(.bss)
- .bss 0x20000248 Section 1032 esp8266.o(.bss)
- STACK 0x20000650 Section 1024 startup_stm32f103xb.o(STACK)
+ .data 0x20000004 Section 1 usart.o(.data)
+ .data 0x20000008 Section 12 stm32f1xx_hal.o(.data)
+ .data 0x20000014 Section 4 system_stm32f1xx.o(.data)
+ .data 0x20000018 Section 4 stdout.o(.data)
+ .bss 0x2000001c Section 48 adc.o(.bss)
+ .bss 0x2000004c Section 84 i2c.o(.bss)
+ .bss 0x200000a0 Section 88 spi.o(.bss)
+ .bss 0x200000f8 Section 144 tim.o(.bss)
+ .bss 0x20000188 Section 128 usart.o(.bss)
+ .bss 0x20000208 Section 1026 esp8266.o(.bss)
+ STACK 0x20000610 Section 1024 startup_stm32f103xb.o(STACK)
Global Symbols
@@ -2237,6 +2200,7 @@ Image Symbol Table
CAN1_SCE_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
DMA1_Channel1_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
DMA1_Channel2_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ DMA1_Channel3_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
DMA1_Channel4_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
DMA1_Channel5_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
DMA1_Channel6_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
@@ -2273,145 +2237,146 @@ Image Symbol Table
USB_HP_CAN1_TX_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
USB_LP_CAN1_RX0_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
WWDG_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
- __aeabi_memset 0x08000125 Thumb Code 14 memseta.o(.text)
- __aeabi_memset4 0x08000125 Thumb Code 0 memseta.o(.text)
- __aeabi_memset8 0x08000125 Thumb Code 0 memseta.o(.text)
- __aeabi_memclr 0x08000133 Thumb Code 4 memseta.o(.text)
- __aeabi_memclr4 0x08000133 Thumb Code 0 memseta.o(.text)
- __aeabi_memclr8 0x08000133 Thumb Code 0 memseta.o(.text)
- _memset$wrapper 0x08000137 Thumb Code 18 memseta.o(.text)
- __aeabi_uidiv 0x08000149 Thumb Code 0 uidiv.o(.text)
- __aeabi_uidivmod 0x08000149 Thumb Code 44 uidiv.o(.text)
- __scatterload 0x08000175 Thumb Code 28 init.o(.text)
- __scatterload_rt2 0x08000175 Thumb Code 0 init.o(.text)
- ADC_ConversionStop_Disable 0x08000199 Thumb Code 76 stm32f1xx_hal_adc.o(i.ADC_ConversionStop_Disable)
- BusFault_Handler 0x080001e5 Thumb Code 2 stm32f1xx_it.o(i.BusFault_Handler)
- ClearBitMask 0x080001e7 Thumb Code 24 rc522.o(i.ClearBitMask)
- DMA1_Channel3_IRQHandler 0x0800021d Thumb Code 6 stm32f1xx_it.o(i.DMA1_Channel3_IRQHandler)
- DebugMon_Handler 0x08000253 Thumb Code 2 stm32f1xx_it.o(i.DebugMon_Handler)
- Error_Handler 0x08000255 Thumb Code 2 main.o(i.Error_Handler)
- HAL_ADC_ConfigChannel 0x08000259 Thumb Code 240 stm32f1xx_hal_adc.o(i.HAL_ADC_ConfigChannel)
- HAL_ADC_Init 0x08000355 Thumb Code 272 stm32f1xx_hal_adc.o(i.HAL_ADC_Init)
- HAL_ADC_MspInit 0x08000471 Thumb Code 76 adc.o(i.HAL_ADC_MspInit)
- HAL_DMA_Abort 0x080004c9 Thumb Code 70 stm32f1xx_hal_dma.o(i.HAL_DMA_Abort)
- HAL_DMA_IRQHandler 0x08000511 Thumb Code 316 stm32f1xx_hal_dma.o(i.HAL_DMA_IRQHandler)
- HAL_DMA_Init 0x08000665 Thumb Code 84 stm32f1xx_hal_dma.o(i.HAL_DMA_Init)
- HAL_DMA_Start_IT 0x080006c1 Thumb Code 112 stm32f1xx_hal_dma.o(i.HAL_DMA_Start_IT)
- HAL_Delay 0x08000731 Thumb Code 32 stm32f1xx_hal.o(i.HAL_Delay)
- HAL_GPIO_Init 0x08000755 Thumb Code 446 stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init)
- HAL_GPIO_TogglePin 0x08000935 Thumb Code 16 stm32f1xx_hal_gpio.o(i.HAL_GPIO_TogglePin)
- HAL_GPIO_WritePin 0x08000945 Thumb Code 10 stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin)
- HAL_GetTick 0x08000951 Thumb Code 6 stm32f1xx_hal.o(i.HAL_GetTick)
- HAL_I2C_Init 0x0800095d Thumb Code 376 stm32f1xx_hal_i2c.o(i.HAL_I2C_Init)
- HAL_I2C_Mem_Write 0x08000ae5 Thumb Code 294 stm32f1xx_hal_i2c.o(i.HAL_I2C_Mem_Write)
- HAL_I2C_MspInit 0x08000c15 Thumb Code 96 i2c.o(i.HAL_I2C_MspInit)
- HAL_IncTick 0x08000c85 Thumb Code 12 stm32f1xx_hal.o(i.HAL_IncTick)
- HAL_Init 0x08000c95 Thumb Code 32 stm32f1xx_hal.o(i.HAL_Init)
- HAL_InitTick 0x08000cb9 Thumb Code 54 stm32f1xx_hal.o(i.HAL_InitTick)
- HAL_MspInit 0x08000cf9 Thumb Code 52 stm32f1xx_hal_msp.o(i.HAL_MspInit)
- HAL_NVIC_EnableIRQ 0x08000d35 Thumb Code 26 stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ)
- HAL_NVIC_SetPriority 0x08000d51 Thumb Code 60 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority)
- HAL_NVIC_SetPriorityGrouping 0x08000d91 Thumb Code 26 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping)
- HAL_RCCEx_PeriphCLKConfig 0x08000db5 Thumb Code 224 stm32f1xx_hal_rcc_ex.o(i.HAL_RCCEx_PeriphCLKConfig)
- HAL_RCC_ClockConfig 0x08000ea1 Thumb Code 280 stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig)
- HAL_RCC_GetPCLK1Freq 0x08000fcd Thumb Code 20 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq)
- HAL_RCC_GetPCLK2Freq 0x08000fed Thumb Code 20 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq)
- HAL_RCC_GetSysClockFreq 0x0800100d Thumb Code 74 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq)
- HAL_RCC_OscConfig 0x08001079 Thumb Code 778 stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig)
- HAL_SPI_Init 0x08001399 Thumb Code 178 stm32f1xx_hal_spi.o(i.HAL_SPI_Init)
- HAL_SPI_MspInit 0x0800144d Thumb Code 102 spi.o(i.HAL_SPI_MspInit)
- HAL_SPI_TransmitReceive 0x080014c1 Thumb Code 482 stm32f1xx_hal_spi.o(i.HAL_SPI_TransmitReceive)
- HAL_SYSTICK_Config 0x080016a3 Thumb Code 40 stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Config)
- HAL_TIMEx_MasterConfigSynchronization 0x080016cd Thumb Code 92 stm32f1xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization)
- HAL_TIM_Base_Init 0x08001735 Thumb Code 90 stm32f1xx_hal_tim.o(i.HAL_TIM_Base_Init)
- HAL_TIM_Base_MspInit 0x08001791 Thumb Code 30 tim.o(i.HAL_TIM_Base_MspInit)
- HAL_TIM_Base_Start_IT 0x080017b9 Thumb Code 76 stm32f1xx_hal_tim.o(i.HAL_TIM_Base_Start_IT)
- HAL_TIM_ConfigClockSource 0x08001811 Thumb Code 214 stm32f1xx_hal_tim.o(i.HAL_TIM_ConfigClockSource)
- HAL_TIM_MspPostInit 0x080018e9 Thumb Code 62 tim.o(i.HAL_TIM_MspPostInit)
- HAL_TIM_OC_ConfigChannel 0x08001935 Thumb Code 76 stm32f1xx_hal_tim.o(i.HAL_TIM_OC_ConfigChannel)
- HAL_TIM_OC_Init 0x08001981 Thumb Code 90 stm32f1xx_hal_tim.o(i.HAL_TIM_OC_Init)
- HAL_TIM_OC_MspInit 0x080019dd Thumb Code 30 tim.o(i.HAL_TIM_OC_MspInit)
- HAL_TIM_PWM_Start 0x08001a05 Thumb Code 144 stm32f1xx_hal_tim.o(i.HAL_TIM_PWM_Start)
- HAL_UART_DMAStop 0x08001aa1 Thumb Code 88 stm32f1xx_hal_uart.o(i.HAL_UART_DMAStop)
- HAL_UART_ErrorCallback 0x08001af9 Thumb Code 2 stm32f1xx_hal_uart.o(i.HAL_UART_ErrorCallback)
- HAL_UART_Init 0x08001afb Thumb Code 98 stm32f1xx_hal_uart.o(i.HAL_UART_Init)
- HAL_UART_MspInit 0x08001b5d Thumb Code 242 usart.o(i.HAL_UART_MspInit)
- HAL_UART_Receive_DMA 0x08001c6d Thumb Code 138 stm32f1xx_hal_uart.o(i.HAL_UART_Receive_DMA)
- HAL_UART_RxCpltCallback 0x08001d05 Thumb Code 2 stm32f1xx_hal_uart.o(i.HAL_UART_RxCpltCallback)
- HAL_UART_RxHalfCpltCallback 0x08001d07 Thumb Code 2 stm32f1xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback)
- HAL_UART_Transmit 0x08001d09 Thumb Code 178 stm32f1xx_hal_uart.o(i.HAL_UART_Transmit)
- HardFault_Handler 0x08001dbb Thumb Code 2 stm32f1xx_it.o(i.HardFault_Handler)
- M500PcdConfigISOType 0x0800202b Thumb Code 86 rc522.o(i.M500PcdConfigISOType)
- MX_ADC1_Init 0x08002081 Thumb Code 70 adc.o(i.MX_ADC1_Init)
- MX_DMA_Init 0x080020d1 Thumb Code 40 dma.o(i.MX_DMA_Init)
- MX_GPIO_Init 0x080020fd Thumb Code 224 gpio.o(i.MX_GPIO_Init)
- MX_I2C1_Init 0x080021ed Thumb Code 50 i2c.o(i.MX_I2C1_Init)
- MX_SPI2_Init 0x0800222d Thumb Code 60 spi.o(i.MX_SPI2_Init)
- MX_TIM3_Init 0x08002271 Thumb Code 94 tim.o(i.MX_TIM3_Init)
- MX_TIM4_Init 0x080022d9 Thumb Code 106 tim.o(i.MX_TIM4_Init)
- MX_USART1_UART_Init 0x0800234d Thumb Code 48 usart.o(i.MX_USART1_UART_Init)
- MX_USART3_UART_Init 0x08002385 Thumb Code 48 usart.o(i.MX_USART3_UART_Init)
- MemManage_Handler 0x080023bd Thumb Code 2 stm32f1xx_it.o(i.MemManage_Handler)
- NMI_Handler 0x080023bf Thumb Code 2 stm32f1xx_it.o(i.NMI_Handler)
- PcdAntennaOn 0x080023c1 Thumb Code 26 rc522.o(i.PcdAntennaOn)
- PcdReset 0x080023dd Thumb Code 128 rc522.o(i.PcdReset)
- PendSV_Handler 0x08002461 Thumb Code 2 stm32f1xx_it.o(i.PendSV_Handler)
- ReadRawRC 0x08002465 Thumb Code 54 rc522.o(i.ReadRawRC)
- SPI_FLASH_ReadByte 0x080024c1 Thumb Code 38 rc522.o(i.SPI_FLASH_ReadByte)
- SPI_FLASH_SendByte 0x080024ed Thumb Code 38 rc522.o(i.SPI_FLASH_SendByte)
- SVC_Handler 0x080025d1 Thumb Code 2 stm32f1xx_it.o(i.SVC_Handler)
- SetBitMask 0x080025d3 Thumb Code 24 rc522.o(i.SetBitMask)
- SysTick_Handler 0x080025eb Thumb Code 4 stm32f1xx_it.o(i.SysTick_Handler)
- SystemClock_Config 0x080025ef Thumb Code 96 main.o(i.SystemClock_Config)
- SystemInit 0x0800264f Thumb Code 2 system_stm32f1xx.o(i.SystemInit)
- TIM_Base_SetConfig 0x08002651 Thumb Code 94 stm32f1xx_hal_tim.o(i.TIM_Base_SetConfig)
- TIM_CCxChannelCmd 0x080026bd Thumb Code 26 stm32f1xx_hal_tim.o(i.TIM_CCxChannelCmd)
- TIM_ETR_SetConfig 0x080026d7 Thumb Code 20 stm32f1xx_hal_tim.o(i.TIM_ETR_SetConfig)
- TIM_OC2_SetConfig 0x0800274d Thumb Code 84 stm32f1xx_hal_tim.o(i.TIM_OC2_SetConfig)
- USART3_IRQHandler 0x08002a61 Thumb Code 92 usart.o(i.USART3_IRQHandler)
- UsageFault_Handler 0x08002ac5 Thumb Code 2 stm32f1xx_it.o(i.UsageFault_Handler)
- WriteRawRC 0x08002ac9 Thumb Code 54 rc522.o(i.WriteRawRC)
- __0printf$3 0x08002b05 Thumb Code 22 printf3.o(i.__0printf$3)
- __1printf$3 0x08002b05 Thumb Code 0 printf3.o(i.__0printf$3)
- __2printf 0x08002b05 Thumb Code 0 printf3.o(i.__0printf$3)
- __scatterload_copy 0x08002b45 Thumb Code 14 handlers.o(i.__scatterload_copy)
- __scatterload_null 0x08002b53 Thumb Code 2 handlers.o(i.__scatterload_null)
- __scatterload_zeroinit 0x08002b55 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
- delay_ms 0x08002d1d Thumb Code 4 main.o(i.delay_ms)
- dht11_init 0x08002d21 Thumb Code 38 dht11.o(i.dht11_init)
- fputc 0x08002d51 Thumb Code 20 usart.o(i.fputc)
- main 0x08002d69 Thumb Code 316 main.o(i.main)
- oled_fill 0x08002f61 Thumb Code 56 oled.o(i.oled_fill)
- oled_init 0x08002f99 Thumb Code 180 oled.o(i.oled_init)
- oled_set_pos 0x0800304d Thumb Code 38 oled.o(i.oled_set_pos)
- oled_show_string 0x08003075 Thumb Code 208 oled.o(i.oled_show_string)
- oled_write_cmd 0x0800314d Thumb Code 32 oled.o(i.oled_write_cmd)
- oled_write_data 0x08003171 Thumb Code 32 oled.o(i.oled_write_data)
- set_sg90 0x08003195 Thumb Code 8 process.o(i.set_sg90)
- stop_buzz 0x080031a1 Thumb Code 10 process.o(i.stop_buzz)
- wifi_data_recv_fun 0x080031b1 Thumb Code 30 main.o(i.wifi_data_recv_fun)
- F6x8 0x08003214 Data 552 oled.o(.constdata)
- F8X16 0x0800343c Data 1520 oled.o(.constdata)
- AHBPrescTable 0x08003a2c Data 16 system_stm32f1xx.o(.constdata)
- APBPrescTable 0x08003a3c Data 8 system_stm32f1xx.o(.constdata)
- Region$$Table$$Base 0x08003a44 Number 0 anon$$obj.o(Region$$Table)
- Region$$Table$$Limit 0x08003a64 Number 0 anon$$obj.o(Region$$Table)
+ __aeabi_memcpy 0x08000125 Thumb Code 36 memcpya.o(.text)
+ __aeabi_memcpy4 0x08000125 Thumb Code 0 memcpya.o(.text)
+ __aeabi_memcpy8 0x08000125 Thumb Code 0 memcpya.o(.text)
+ __aeabi_memset 0x08000149 Thumb Code 14 memseta.o(.text)
+ __aeabi_memset4 0x08000149 Thumb Code 0 memseta.o(.text)
+ __aeabi_memset8 0x08000149 Thumb Code 0 memseta.o(.text)
+ __aeabi_memclr 0x08000157 Thumb Code 4 memseta.o(.text)
+ __aeabi_memclr4 0x08000157 Thumb Code 0 memseta.o(.text)
+ __aeabi_memclr8 0x08000157 Thumb Code 0 memseta.o(.text)
+ _memset$wrapper 0x0800015b Thumb Code 18 memseta.o(.text)
+ strstr 0x0800016d Thumb Code 36 strstr.o(.text)
+ __aeabi_uidiv 0x08000191 Thumb Code 0 uidiv.o(.text)
+ __aeabi_uidivmod 0x08000191 Thumb Code 44 uidiv.o(.text)
+ __scatterload 0x080001bd Thumb Code 28 init.o(.text)
+ __scatterload_rt2 0x080001bd Thumb Code 0 init.o(.text)
+ ADC_ConversionStop_Disable 0x080001e1 Thumb Code 76 stm32f1xx_hal_adc.o(i.ADC_ConversionStop_Disable)
+ BusFault_Handler 0x0800022d Thumb Code 2 stm32f1xx_it.o(i.BusFault_Handler)
+ DebugMon_Handler 0x0800024d Thumb Code 2 stm32f1xx_it.o(i.DebugMon_Handler)
+ ESP8266_ATE0 0x08000251 Thumb Code 50 esp8266.o(i.ESP8266_ATE0)
+ ESP8266_JoinAP 0x08000299 Thumb Code 34 esp8266.o(i.ESP8266_JoinAP)
+ ESP8266_MQTTCONN 0x080002d5 Thumb Code 34 esp8266.o(i.ESP8266_MQTTCONN)
+ ESP8266_MQTTPUB 0x08000315 Thumb Code 38 esp8266.o(i.ESP8266_MQTTPUB)
+ ESP8266_MQTTSUB 0x0800035d Thumb Code 32 esp8266.o(i.ESP8266_MQTTSUB)
+ ESP8266_MQTTUSERCFG 0x08000395 Thumb Code 36 esp8266.o(i.ESP8266_MQTTUSERCFG)
+ ESP8266_Net_Mode_Choose 0x080003e9 Thumb Code 44 esp8266.o(i.ESP8266_Net_Mode_Choose)
+ ESP8266_STA_MQTTClient_Init 0x08000449 Thumb Code 124 mqtt.o(i.ESP8266_STA_MQTTClient_Init)
+ ESP8266_Send_AT_Cmd 0x080005c1 Thumb Code 104 esp8266.o(i.ESP8266_Send_AT_Cmd)
+ Error_Handler 0x08000641 Thumb Code 2 main.o(i.Error_Handler)
+ HAL_ADC_ConfigChannel 0x08000645 Thumb Code 240 stm32f1xx_hal_adc.o(i.HAL_ADC_ConfigChannel)
+ HAL_ADC_Init 0x08000741 Thumb Code 272 stm32f1xx_hal_adc.o(i.HAL_ADC_Init)
+ HAL_ADC_MspInit 0x0800085d Thumb Code 76 adc.o(i.HAL_ADC_MspInit)
+ HAL_DMA_Abort_IT 0x080008b5 Thumb Code 148 stm32f1xx_hal_dma.o(i.HAL_DMA_Abort_IT)
+ HAL_Delay 0x0800094d Thumb Code 32 stm32f1xx_hal.o(i.HAL_Delay)
+ HAL_GPIO_Init 0x08000971 Thumb Code 446 stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init)
+ HAL_GPIO_TogglePin 0x08000b51 Thumb Code 16 stm32f1xx_hal_gpio.o(i.HAL_GPIO_TogglePin)
+ HAL_GPIO_WritePin 0x08000b61 Thumb Code 10 stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin)
+ HAL_GetTick 0x08000b6d Thumb Code 6 stm32f1xx_hal.o(i.HAL_GetTick)
+ HAL_I2C_Init 0x08000b79 Thumb Code 376 stm32f1xx_hal_i2c.o(i.HAL_I2C_Init)
+ HAL_I2C_Mem_Write 0x08000d01 Thumb Code 294 stm32f1xx_hal_i2c.o(i.HAL_I2C_Mem_Write)
+ HAL_I2C_MspInit 0x08000e31 Thumb Code 96 i2c.o(i.HAL_I2C_MspInit)
+ HAL_IncTick 0x08000ea1 Thumb Code 12 stm32f1xx_hal.o(i.HAL_IncTick)
+ HAL_Init 0x08000eb1 Thumb Code 32 stm32f1xx_hal.o(i.HAL_Init)
+ HAL_InitTick 0x08000ed5 Thumb Code 54 stm32f1xx_hal.o(i.HAL_InitTick)
+ HAL_MspInit 0x08000f15 Thumb Code 52 stm32f1xx_hal_msp.o(i.HAL_MspInit)
+ HAL_NVIC_EnableIRQ 0x08000f51 Thumb Code 26 stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ)
+ HAL_NVIC_SetPriority 0x08000f6d Thumb Code 60 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority)
+ HAL_NVIC_SetPriorityGrouping 0x08000fad Thumb Code 26 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping)
+ HAL_RCCEx_PeriphCLKConfig 0x08000fd1 Thumb Code 224 stm32f1xx_hal_rcc_ex.o(i.HAL_RCCEx_PeriphCLKConfig)
+ HAL_RCC_ClockConfig 0x080010bd Thumb Code 280 stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig)
+ HAL_RCC_GetPCLK1Freq 0x080011e9 Thumb Code 20 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq)
+ HAL_RCC_GetPCLK2Freq 0x08001209 Thumb Code 20 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq)
+ HAL_RCC_GetSysClockFreq 0x08001229 Thumb Code 74 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq)
+ HAL_RCC_OscConfig 0x08001295 Thumb Code 778 stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig)
+ HAL_SPI_Init 0x080015b5 Thumb Code 178 stm32f1xx_hal_spi.o(i.HAL_SPI_Init)
+ HAL_SPI_MspInit 0x08001669 Thumb Code 102 spi.o(i.HAL_SPI_MspInit)
+ HAL_SYSTICK_Config 0x080016dd Thumb Code 40 stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Config)
+ HAL_TIMEx_MasterConfigSynchronization 0x08001705 Thumb Code 92 stm32f1xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization)
+ HAL_TIM_Base_Init 0x0800176d Thumb Code 90 stm32f1xx_hal_tim.o(i.HAL_TIM_Base_Init)
+ HAL_TIM_Base_MspInit 0x080017c9 Thumb Code 30 tim.o(i.HAL_TIM_Base_MspInit)
+ HAL_TIM_Base_Start_IT 0x080017f1 Thumb Code 76 stm32f1xx_hal_tim.o(i.HAL_TIM_Base_Start_IT)
+ HAL_TIM_ConfigClockSource 0x08001849 Thumb Code 214 stm32f1xx_hal_tim.o(i.HAL_TIM_ConfigClockSource)
+ HAL_TIM_MspPostInit 0x08001921 Thumb Code 62 tim.o(i.HAL_TIM_MspPostInit)
+ HAL_TIM_OC_ConfigChannel 0x0800196d Thumb Code 76 stm32f1xx_hal_tim.o(i.HAL_TIM_OC_ConfigChannel)
+ HAL_TIM_OC_Init 0x080019b9 Thumb Code 90 stm32f1xx_hal_tim.o(i.HAL_TIM_OC_Init)
+ HAL_TIM_OC_MspInit 0x08001a15 Thumb Code 30 tim.o(i.HAL_TIM_OC_MspInit)
+ HAL_TIM_PWM_Start 0x08001a3d Thumb Code 144 stm32f1xx_hal_tim.o(i.HAL_TIM_PWM_Start)
+ HAL_UART_ErrorCallback 0x08001ad9 Thumb Code 2 stm32f1xx_hal_uart.o(i.HAL_UART_ErrorCallback)
+ HAL_UART_IRQHandler 0x08001add Thumb Code 344 stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler)
+ HAL_UART_Init 0x08001c39 Thumb Code 98 stm32f1xx_hal_uart.o(i.HAL_UART_Init)
+ HAL_UART_MspInit 0x08001c9d Thumb Code 198 usart.o(i.HAL_UART_MspInit)
+ HAL_UART_Receive_IT 0x08001d7d Thumb Code 82 stm32f1xx_hal_uart.o(i.HAL_UART_Receive_IT)
+ HAL_UART_RxCpltCallback 0x08001dd1 Thumb Code 74 usart.o(i.HAL_UART_RxCpltCallback)
+ HAL_UART_Transmit 0x08001e2d Thumb Code 178 stm32f1xx_hal_uart.o(i.HAL_UART_Transmit)
+ HAL_UART_TxCpltCallback 0x08001edf Thumb Code 2 stm32f1xx_hal_uart.o(i.HAL_UART_TxCpltCallback)
+ HardFault_Handler 0x08001ee1 Thumb Code 2 stm32f1xx_it.o(i.HardFault_Handler)
+ MQTT_SendString 0x0800214f Thumb Code 4 esp8266.o(i.MQTT_SendString)
+ MX_ADC1_Init 0x08002155 Thumb Code 70 adc.o(i.MX_ADC1_Init)
+ MX_GPIO_Init 0x080021a5 Thumb Code 224 gpio.o(i.MX_GPIO_Init)
+ MX_I2C1_Init 0x08002295 Thumb Code 50 i2c.o(i.MX_I2C1_Init)
+ MX_SPI2_Init 0x080022d5 Thumb Code 60 spi.o(i.MX_SPI2_Init)
+ MX_TIM3_Init 0x08002319 Thumb Code 94 tim.o(i.MX_TIM3_Init)
+ MX_TIM4_Init 0x08002381 Thumb Code 106 tim.o(i.MX_TIM4_Init)
+ MX_USART1_UART_Init 0x080023f5 Thumb Code 48 usart.o(i.MX_USART1_UART_Init)
+ MX_USART3_UART_Init 0x0800242d Thumb Code 48 usart.o(i.MX_USART3_UART_Init)
+ MemManage_Handler 0x08002465 Thumb Code 2 stm32f1xx_it.o(i.MemManage_Handler)
+ NMI_Handler 0x08002467 Thumb Code 2 stm32f1xx_it.o(i.NMI_Handler)
+ PendSV_Handler 0x08002469 Thumb Code 2 stm32f1xx_it.o(i.PendSV_Handler)
+ SVC_Handler 0x0800246b Thumb Code 2 stm32f1xx_it.o(i.SVC_Handler)
+ SysTick_Handler 0x0800246d Thumb Code 4 stm32f1xx_it.o(i.SysTick_Handler)
+ SystemClock_Config 0x08002471 Thumb Code 96 main.o(i.SystemClock_Config)
+ SystemInit 0x080024d1 Thumb Code 2 system_stm32f1xx.o(i.SystemInit)
+ TIM_Base_SetConfig 0x080024d5 Thumb Code 94 stm32f1xx_hal_tim.o(i.TIM_Base_SetConfig)
+ TIM_CCxChannelCmd 0x08002541 Thumb Code 26 stm32f1xx_hal_tim.o(i.TIM_CCxChannelCmd)
+ TIM_ETR_SetConfig 0x0800255b Thumb Code 20 stm32f1xx_hal_tim.o(i.TIM_ETR_SetConfig)
+ TIM_OC2_SetConfig 0x080025d1 Thumb Code 84 stm32f1xx_hal_tim.o(i.TIM_OC2_SetConfig)
+ USART3_IRQHandler 0x080028e1 Thumb Code 50 stm32f1xx_it.o(i.USART3_IRQHandler)
+ USART_printf 0x08002931 Thumb Code 298 esp8266.o(i.USART_printf)
+ UsageFault_Handler 0x08002a61 Thumb Code 2 stm32f1xx_it.o(i.UsageFault_Handler)
+ __0printf$3 0x08002a65 Thumb Code 22 printf3.o(i.__0printf$3)
+ __1printf$3 0x08002a65 Thumb Code 0 printf3.o(i.__0printf$3)
+ __2printf 0x08002a65 Thumb Code 0 printf3.o(i.__0printf$3)
+ __0sprintf$3 0x08002a85 Thumb Code 34 printf3.o(i.__0sprintf$3)
+ __1sprintf$3 0x08002a85 Thumb Code 0 printf3.o(i.__0sprintf$3)
+ __2sprintf 0x08002a85 Thumb Code 0 printf3.o(i.__0sprintf$3)
+ __scatterload_copy 0x08002acd Thumb Code 14 handlers.o(i.__scatterload_copy)
+ __scatterload_null 0x08002adb Thumb Code 2 handlers.o(i.__scatterload_null)
+ __scatterload_zeroinit 0x08002add Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
+ delay_ms 0x08002caf Thumb Code 4 main.o(i.delay_ms)
+ dht11_init 0x08002cb5 Thumb Code 38 dht11.o(i.dht11_init)
+ fputc 0x08002ce5 Thumb Code 20 usart.o(i.fputc)
+ main 0x08002cfd Thumb Code 258 main.o(i.main)
+ oled_fill 0x08002eb5 Thumb Code 56 oled.o(i.oled_fill)
+ oled_init 0x08002eed Thumb Code 180 oled.o(i.oled_init)
+ oled_set_pos 0x08002fa1 Thumb Code 38 oled.o(i.oled_set_pos)
+ oled_show_string 0x08002fc9 Thumb Code 208 oled.o(i.oled_show_string)
+ oled_write_cmd 0x080030a1 Thumb Code 32 oled.o(i.oled_write_cmd)
+ oled_write_data 0x080030c5 Thumb Code 32 oled.o(i.oled_write_data)
+ stop_buzz 0x080030e9 Thumb Code 10 process.o(i.stop_buzz)
+ F6x8 0x080030f8 Data 552 oled.o(.constdata)
+ F8X16 0x08003320 Data 1520 oled.o(.constdata)
+ AHBPrescTable 0x08003910 Data 16 system_stm32f1xx.o(.constdata)
+ APBPrescTable 0x08003920 Data 8 system_stm32f1xx.o(.constdata)
+ Region$$Table$$Base 0x08003a34 Number 0 anon$$obj.o(Region$$Table)
+ Region$$Table$$Limit 0x08003a54 Number 0 anon$$obj.o(Region$$Table)
key_flag 0x20000000 Data 4 gpio.o(.data)
- uwTickFreq 0x20000004 Data 1 stm32f1xx_hal.o(.data)
- uwTickPrio 0x20000008 Data 4 stm32f1xx_hal.o(.data)
- uwTick 0x2000000c Data 4 stm32f1xx_hal.o(.data)
- SystemCoreClock 0x20000010 Data 4 system_stm32f1xx.o(.data)
- __stdout 0x20000014 Data 4 stdout.o(.data)
- hadc1 0x20000018 Data 48 adc.o(.bss)
- hi2c1 0x20000048 Data 84 i2c.o(.bss)
- hspi2 0x2000009c Data 88 spi.o(.bss)
- htim3 0x200000f4 Data 72 tim.o(.bss)
- htim4 0x2000013c Data 72 tim.o(.bss)
- huart1 0x20000184 Data 64 usart.o(.bss)
- huart3 0x200001c4 Data 64 usart.o(.bss)
- hdma_usart3_rx 0x20000204 Data 68 usart.o(.bss)
- ESP8266_Fram_Record_Struct 0x20000248 Data 1032 esp8266.o(.bss)
- __initial_sp 0x20000a50 Data 0 startup_stm32f103xb.o(STACK)
+ aRxBuffer 0x20000004 Data 1 usart.o(.data)
+ uwTickFreq 0x20000008 Data 1 stm32f1xx_hal.o(.data)
+ uwTickPrio 0x2000000c Data 4 stm32f1xx_hal.o(.data)
+ uwTick 0x20000010 Data 4 stm32f1xx_hal.o(.data)
+ SystemCoreClock 0x20000014 Data 4 system_stm32f1xx.o(.data)
+ __stdout 0x20000018 Data 4 stdout.o(.data)
+ hadc1 0x2000001c Data 48 adc.o(.bss)
+ hi2c1 0x2000004c Data 84 i2c.o(.bss)
+ hspi2 0x200000a0 Data 88 spi.o(.bss)
+ htim3 0x200000f8 Data 72 tim.o(.bss)
+ htim4 0x20000140 Data 72 tim.o(.bss)
+ huart1 0x20000188 Data 64 usart.o(.bss)
+ huart3 0x200001c8 Data 64 usart.o(.bss)
+ ESP8266_Fram_Record_Struct 0x20000208 Data 1026 esp8266.o(.bss)
+ __initial_sp 0x20000a10 Data 0 startup_stm32f103xb.o(STACK)
@@ -2421,193 +2386,194 @@ Memory Map of the image
Image Entry point : 0x080000ed
- Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00003a7c, Max: 0x00010000, ABSOLUTE)
+ Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00003a70, Max: 0x00010000, ABSOLUTE)
- Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00003a64, Max: 0x00010000, ABSOLUTE)
+ Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00003a54, Max: 0x00010000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x08000000 0x08000000 0x000000ec Data RO 3 RESET startup_stm32f103xb.o
- 0x080000ec 0x080000ec 0x00000000 Code RO 4629 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
- 0x080000ec 0x080000ec 0x00000004 Code RO 4913 .ARM.Collect$$$$00000001 mc_w.l(entry2.o)
- 0x080000f0 0x080000f0 0x00000004 Code RO 4916 .ARM.Collect$$$$00000004 mc_w.l(entry5.o)
- 0x080000f4 0x080000f4 0x00000000 Code RO 4918 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o)
- 0x080000f4 0x080000f4 0x00000000 Code RO 4920 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
- 0x080000f4 0x080000f4 0x00000008 Code RO 4921 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
- 0x080000fc 0x080000fc 0x00000000 Code RO 4923 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o)
- 0x080000fc 0x080000fc 0x00000000 Code RO 4925 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o)
- 0x080000fc 0x080000fc 0x00000004 Code RO 4914 .ARM.Collect$$$$00002712 mc_w.l(entry2.o)
+ 0x080000ec 0x080000ec 0x00000000 Code RO 4682 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
+ 0x080000ec 0x080000ec 0x00000004 Code RO 4960 .ARM.Collect$$$$00000001 mc_w.l(entry2.o)
+ 0x080000f0 0x080000f0 0x00000004 Code RO 4963 .ARM.Collect$$$$00000004 mc_w.l(entry5.o)
+ 0x080000f4 0x080000f4 0x00000000 Code RO 4965 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o)
+ 0x080000f4 0x080000f4 0x00000000 Code RO 4967 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
+ 0x080000f4 0x080000f4 0x00000008 Code RO 4968 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
+ 0x080000fc 0x080000fc 0x00000000 Code RO 4970 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o)
+ 0x080000fc 0x080000fc 0x00000000 Code RO 4972 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o)
+ 0x080000fc 0x080000fc 0x00000004 Code RO 4961 .ARM.Collect$$$$00002712 mc_w.l(entry2.o)
0x08000100 0x08000100 0x00000024 Code RO 4 .text startup_stm32f103xb.o
- 0x08000124 0x08000124 0x00000024 Code RO 4636 .text mc_w.l(memseta.o)
- 0x08000148 0x08000148 0x0000002c Code RO 4928 .text mc_w.l(uidiv.o)
- 0x08000174 0x08000174 0x00000024 Code RO 4945 .text mc_w.l(init.o)
- 0x08000198 0x08000198 0x0000004c Code RO 1300 i.ADC_ConversionStop_Disable stm32f1xx_hal_adc.o
- 0x080001e4 0x080001e4 0x00000002 Code RO 535 i.BusFault_Handler stm32f1xx_it.o
- 0x080001e6 0x080001e6 0x00000018 Code RO 1005 i.ClearBitMask rc522.o
- 0x080001fe 0x080001fe 0x00000002 PAD
- 0x08000200 0x08000200 0x0000001c Code RO 817 i.DHT11_Mode_Out_PP dht11.o
- 0x0800021c 0x0800021c 0x0000000c Code RO 536 i.DMA1_Channel3_IRQHandler stm32f1xx_it.o
- 0x08000228 0x08000228 0x0000002a Code RO 1954 i.DMA_SetConfig stm32f1xx_hal_dma.o
- 0x08000252 0x08000252 0x00000002 Code RO 537 i.DebugMon_Handler stm32f1xx_it.o
- 0x08000254 0x08000254 0x00000002 Code RO 13 i.Error_Handler main.o
- 0x08000256 0x08000256 0x00000002 PAD
- 0x08000258 0x08000258 0x000000fc Code RO 1306 i.HAL_ADC_ConfigChannel stm32f1xx_hal_adc.o
- 0x08000354 0x08000354 0x0000011c Code RO 1315 i.HAL_ADC_Init stm32f1xx_hal_adc.o
- 0x08000470 0x08000470 0x00000058 Code RO 258 i.HAL_ADC_MspInit adc.o
- 0x080004c8 0x080004c8 0x00000046 Code RO 1955 i.HAL_DMA_Abort stm32f1xx_hal_dma.o
- 0x0800050e 0x0800050e 0x00000002 PAD
- 0x08000510 0x08000510 0x00000154 Code RO 1960 i.HAL_DMA_IRQHandler stm32f1xx_hal_dma.o
- 0x08000664 0x08000664 0x0000005c Code RO 1961 i.HAL_DMA_Init stm32f1xx_hal_dma.o
- 0x080006c0 0x080006c0 0x00000070 Code RO 1965 i.HAL_DMA_Start_IT stm32f1xx_hal_dma.o
- 0x08000730 0x08000730 0x00000024 Code RO 1583 i.HAL_Delay stm32f1xx_hal.o
- 0x08000754 0x08000754 0x000001e0 Code RO 1891 i.HAL_GPIO_Init stm32f1xx_hal_gpio.o
- 0x08000934 0x08000934 0x00000010 Code RO 1894 i.HAL_GPIO_TogglePin stm32f1xx_hal_gpio.o
- 0x08000944 0x08000944 0x0000000a Code RO 1895 i.HAL_GPIO_WritePin stm32f1xx_hal_gpio.o
- 0x0800094e 0x0800094e 0x00000002 PAD
- 0x08000950 0x08000950 0x0000000c Code RO 1587 i.HAL_GetTick stm32f1xx_hal.o
- 0x0800095c 0x0800095c 0x00000188 Code RO 2562 i.HAL_I2C_Init stm32f1xx_hal_i2c.o
- 0x08000ae4 0x08000ae4 0x00000130 Code RO 2583 i.HAL_I2C_Mem_Write stm32f1xx_hal_i2c.o
- 0x08000c14 0x08000c14 0x00000070 Code RO 324 i.HAL_I2C_MspInit i2c.o
- 0x08000c84 0x08000c84 0x00000010 Code RO 1593 i.HAL_IncTick stm32f1xx_hal.o
- 0x08000c94 0x08000c94 0x00000024 Code RO 1594 i.HAL_Init stm32f1xx_hal.o
- 0x08000cb8 0x08000cb8 0x00000040 Code RO 1595 i.HAL_InitTick stm32f1xx_hal.o
- 0x08000cf8 0x08000cf8 0x0000003c Code RO 617 i.HAL_MspInit stm32f1xx_hal_msp.o
- 0x08000d34 0x08000d34 0x0000001a Code RO 2051 i.HAL_NVIC_EnableIRQ stm32f1xx_hal_cortex.o
- 0x08000d4e 0x08000d4e 0x00000002 PAD
- 0x08000d50 0x08000d50 0x00000040 Code RO 2057 i.HAL_NVIC_SetPriority stm32f1xx_hal_cortex.o
- 0x08000d90 0x08000d90 0x00000024 Code RO 2058 i.HAL_NVIC_SetPriorityGrouping stm32f1xx_hal_cortex.o
- 0x08000db4 0x08000db4 0x000000ec Code RO 1854 i.HAL_RCCEx_PeriphCLKConfig stm32f1xx_hal_rcc_ex.o
- 0x08000ea0 0x08000ea0 0x0000012c Code RO 1751 i.HAL_RCC_ClockConfig stm32f1xx_hal_rcc.o
- 0x08000fcc 0x08000fcc 0x00000020 Code RO 1758 i.HAL_RCC_GetPCLK1Freq stm32f1xx_hal_rcc.o
- 0x08000fec 0x08000fec 0x00000020 Code RO 1759 i.HAL_RCC_GetPCLK2Freq stm32f1xx_hal_rcc.o
- 0x0800100c 0x0800100c 0x0000006c Code RO 1760 i.HAL_RCC_GetSysClockFreq stm32f1xx_hal_rcc.o
- 0x08001078 0x08001078 0x00000320 Code RO 1763 i.HAL_RCC_OscConfig stm32f1xx_hal_rcc.o
- 0x08001398 0x08001398 0x000000b2 Code RO 2989 i.HAL_SPI_Init stm32f1xx_hal_spi.o
- 0x0800144a 0x0800144a 0x00000002 PAD
- 0x0800144c 0x0800144c 0x00000074 Code RO 366 i.HAL_SPI_MspInit spi.o
- 0x080014c0 0x080014c0 0x000001e2 Code RO 2998 i.HAL_SPI_TransmitReceive stm32f1xx_hal_spi.o
- 0x080016a2 0x080016a2 0x00000028 Code RO 2062 i.HAL_SYSTICK_Config stm32f1xx_hal_cortex.o
- 0x080016ca 0x080016ca 0x00000002 PAD
- 0x080016cc 0x080016cc 0x00000068 Code RO 4025 i.HAL_TIMEx_MasterConfigSynchronization stm32f1xx_hal_tim_ex.o
- 0x08001734 0x08001734 0x0000005a Code RO 3302 i.HAL_TIM_Base_Init stm32f1xx_hal_tim.o
- 0x0800178e 0x0800178e 0x00000002 PAD
- 0x08001790 0x08001790 0x00000028 Code RO 408 i.HAL_TIM_Base_MspInit tim.o
- 0x080017b8 0x080017b8 0x00000058 Code RO 3307 i.HAL_TIM_Base_Start_IT stm32f1xx_hal_tim.o
- 0x08001810 0x08001810 0x000000d6 Code RO 3311 i.HAL_TIM_ConfigClockSource stm32f1xx_hal_tim.o
- 0x080018e6 0x080018e6 0x00000002 PAD
- 0x080018e8 0x080018e8 0x0000004c Code RO 409 i.HAL_TIM_MspPostInit tim.o
- 0x08001934 0x08001934 0x0000004c Code RO 3351 i.HAL_TIM_OC_ConfigChannel stm32f1xx_hal_tim.o
- 0x08001980 0x08001980 0x0000005a Code RO 3355 i.HAL_TIM_OC_Init stm32f1xx_hal_tim.o
- 0x080019da 0x080019da 0x00000002 PAD
- 0x080019dc 0x080019dc 0x00000028 Code RO 411 i.HAL_TIM_OC_MspInit tim.o
- 0x08001a04 0x08001a04 0x0000009c Code RO 3382 i.HAL_TIM_PWM_Start stm32f1xx_hal_tim.o
- 0x08001aa0 0x08001aa0 0x00000058 Code RO 4292 i.HAL_UART_DMAStop stm32f1xx_hal_uart.o
- 0x08001af8 0x08001af8 0x00000002 Code RO 4294 i.HAL_UART_ErrorCallback stm32f1xx_hal_uart.o
- 0x08001afa 0x08001afa 0x00000062 Code RO 4298 i.HAL_UART_Init stm32f1xx_hal_uart.o
- 0x08001b5c 0x08001b5c 0x00000110 Code RO 474 i.HAL_UART_MspInit usart.o
- 0x08001c6c 0x08001c6c 0x00000098 Code RO 4302 i.HAL_UART_Receive_DMA stm32f1xx_hal_uart.o
- 0x08001d04 0x08001d04 0x00000002 Code RO 4304 i.HAL_UART_RxCpltCallback stm32f1xx_hal_uart.o
- 0x08001d06 0x08001d06 0x00000002 Code RO 4305 i.HAL_UART_RxHalfCpltCallback stm32f1xx_hal_uart.o
- 0x08001d08 0x08001d08 0x000000b2 Code RO 4306 i.HAL_UART_Transmit stm32f1xx_hal_uart.o
- 0x08001dba 0x08001dba 0x00000002 Code RO 538 i.HardFault_Handler stm32f1xx_it.o
- 0x08001dbc 0x08001dbc 0x0000002e Code RO 2604 i.I2C_IsAcknowledgeFailed stm32f1xx_hal_i2c.o
- 0x08001dea 0x08001dea 0x00000002 PAD
- 0x08001dec 0x08001dec 0x000000a8 Code RO 2615 i.I2C_RequestMemoryWrite stm32f1xx_hal_i2c.o
- 0x08001e94 0x08001e94 0x0000004c Code RO 2618 i.I2C_WaitOnBTFFlagUntilTimeout stm32f1xx_hal_i2c.o
- 0x08001ee0 0x08001ee0 0x00000068 Code RO 2619 i.I2C_WaitOnFlagUntilTimeout stm32f1xx_hal_i2c.o
- 0x08001f48 0x08001f48 0x00000096 Code RO 2620 i.I2C_WaitOnMasterAddressFlagUntilTimeout stm32f1xx_hal_i2c.o
- 0x08001fde 0x08001fde 0x0000004c Code RO 2622 i.I2C_WaitOnTXEFlagUntilTimeout stm32f1xx_hal_i2c.o
- 0x0800202a 0x0800202a 0x00000056 Code RO 1007 i.M500PcdConfigISOType rc522.o
- 0x08002080 0x08002080 0x00000050 Code RO 259 i.MX_ADC1_Init adc.o
- 0x080020d0 0x080020d0 0x0000002c Code RO 299 i.MX_DMA_Init dma.o
- 0x080020fc 0x080020fc 0x000000f0 Code RO 225 i.MX_GPIO_Init gpio.o
- 0x080021ec 0x080021ec 0x00000040 Code RO 325 i.MX_I2C1_Init i2c.o
- 0x0800222c 0x0800222c 0x00000044 Code RO 367 i.MX_SPI2_Init spi.o
- 0x08002270 0x08002270 0x00000068 Code RO 412 i.MX_TIM3_Init tim.o
- 0x080022d8 0x080022d8 0x00000074 Code RO 413 i.MX_TIM4_Init tim.o
- 0x0800234c 0x0800234c 0x00000038 Code RO 475 i.MX_USART1_UART_Init usart.o
- 0x08002384 0x08002384 0x00000038 Code RO 476 i.MX_USART3_UART_Init usart.o
- 0x080023bc 0x080023bc 0x00000002 Code RO 539 i.MemManage_Handler stm32f1xx_it.o
- 0x080023be 0x080023be 0x00000002 Code RO 540 i.NMI_Handler stm32f1xx_it.o
- 0x080023c0 0x080023c0 0x0000001a Code RO 1009 i.PcdAntennaOn rc522.o
- 0x080023da 0x080023da 0x00000002 PAD
- 0x080023dc 0x080023dc 0x00000084 Code RO 1016 i.PcdReset rc522.o
- 0x08002460 0x08002460 0x00000002 Code RO 541 i.PendSV_Handler stm32f1xx_it.o
- 0x08002462 0x08002462 0x00000002 PAD
- 0x08002464 0x08002464 0x0000003c Code RO 1019 i.ReadRawRC rc522.o
- 0x080024a0 0x080024a0 0x00000020 Code RO 3027 i.SPI_EndRxTxTransaction stm32f1xx_hal_spi.o
- 0x080024c0 0x080024c0 0x0000002c Code RO 1020 i.SPI_FLASH_ReadByte rc522.o
- 0x080024ec 0x080024ec 0x0000002c Code RO 1021 i.SPI_FLASH_SendByte rc522.o
- 0x08002518 0x08002518 0x000000b8 Code RO 3032 i.SPI_WaitFlagStateUntilTimeout stm32f1xx_hal_spi.o
- 0x080025d0 0x080025d0 0x00000002 Code RO 542 i.SVC_Handler stm32f1xx_it.o
- 0x080025d2 0x080025d2 0x00000018 Code RO 1022 i.SetBitMask rc522.o
- 0x080025ea 0x080025ea 0x00000004 Code RO 543 i.SysTick_Handler stm32f1xx_it.o
- 0x080025ee 0x080025ee 0x00000060 Code RO 14 i.SystemClock_Config main.o
- 0x0800264e 0x0800264e 0x00000002 Code RO 4595 i.SystemInit system_stm32f1xx.o
- 0x08002650 0x08002650 0x0000006c Code RO 3395 i.TIM_Base_SetConfig stm32f1xx_hal_tim.o
- 0x080026bc 0x080026bc 0x0000001a Code RO 3396 i.TIM_CCxChannelCmd stm32f1xx_hal_tim.o
- 0x080026d6 0x080026d6 0x00000014 Code RO 3406 i.TIM_ETR_SetConfig stm32f1xx_hal_tim.o
- 0x080026ea 0x080026ea 0x00000010 Code RO 3407 i.TIM_ITRx_SetConfig stm32f1xx_hal_tim.o
- 0x080026fa 0x080026fa 0x00000002 PAD
- 0x080026fc 0x080026fc 0x00000050 Code RO 3408 i.TIM_OC1_SetConfig stm32f1xx_hal_tim.o
- 0x0800274c 0x0800274c 0x00000058 Code RO 3409 i.TIM_OC2_SetConfig stm32f1xx_hal_tim.o
- 0x080027a4 0x080027a4 0x00000058 Code RO 3410 i.TIM_OC3_SetConfig stm32f1xx_hal_tim.o
- 0x080027fc 0x080027fc 0x00000044 Code RO 3411 i.TIM_OC4_SetConfig stm32f1xx_hal_tim.o
- 0x08002840 0x08002840 0x00000022 Code RO 3413 i.TIM_TI1_ConfigInputStage stm32f1xx_hal_tim.o
- 0x08002862 0x08002862 0x00000024 Code RO 3415 i.TIM_TI2_ConfigInputStage stm32f1xx_hal_tim.o
- 0x08002886 0x08002886 0x0000004a Code RO 4312 i.UART_DMAError stm32f1xx_hal_uart.o
- 0x080028d0 0x080028d0 0x0000003c Code RO 4313 i.UART_DMAReceiveCplt stm32f1xx_hal_uart.o
- 0x0800290c 0x0800290c 0x0000000a Code RO 4315 i.UART_DMARxHalfCplt stm32f1xx_hal_uart.o
- 0x08002916 0x08002916 0x0000001c Code RO 4321 i.UART_EndRxTransfer stm32f1xx_hal_uart.o
- 0x08002932 0x08002932 0x00000012 Code RO 4322 i.UART_EndTxTransfer stm32f1xx_hal_uart.o
- 0x08002944 0x08002944 0x000000b8 Code RO 4324 i.UART_SetConfig stm32f1xx_hal_uart.o
- 0x080029fc 0x080029fc 0x00000064 Code RO 4325 i.UART_WaitOnFlagUntilTimeout stm32f1xx_hal_uart.o
- 0x08002a60 0x08002a60 0x00000064 Code RO 477 i.USART3_IRQHandler usart.o
- 0x08002ac4 0x08002ac4 0x00000002 Code RO 544 i.UsageFault_Handler stm32f1xx_it.o
- 0x08002ac6 0x08002ac6 0x00000002 PAD
- 0x08002ac8 0x08002ac8 0x0000003c Code RO 1023 i.WriteRawRC rc522.o
- 0x08002b04 0x08002b04 0x00000020 Code RO 4737 i.__0printf$3 mc_w.l(printf3.o)
- 0x08002b24 0x08002b24 0x00000020 Code RO 2064 i.__NVIC_SetPriority stm32f1xx_hal_cortex.o
- 0x08002b44 0x08002b44 0x0000000e Code RO 4955 i.__scatterload_copy mc_w.l(handlers.o)
- 0x08002b52 0x08002b52 0x00000002 Code RO 4956 i.__scatterload_null mc_w.l(handlers.o)
- 0x08002b54 0x08002b54 0x0000000e Code RO 4957 i.__scatterload_zeroinit mc_w.l(handlers.o)
- 0x08002b62 0x08002b62 0x00000002 PAD
- 0x08002b64 0x08002b64 0x000001b8 Code RO 4744 i._printf_core mc_w.l(printf3.o)
- 0x08002d1c 0x08002d1c 0x00000004 Code RO 15 i.delay_ms main.o
- 0x08002d20 0x08002d20 0x00000030 Code RO 820 i.dht11_init dht11.o
- 0x08002d50 0x08002d50 0x00000018 Code RO 478 i.fputc usart.o
- 0x08002d68 0x08002d68 0x000001f8 Code RO 16 i.main main.o
- 0x08002f60 0x08002f60 0x00000038 Code RO 906 i.oled_fill oled.o
- 0x08002f98 0x08002f98 0x000000b4 Code RO 907 i.oled_init oled.o
- 0x0800304c 0x0800304c 0x00000026 Code RO 908 i.oled_set_pos oled.o
- 0x08003072 0x08003072 0x00000002 PAD
- 0x08003074 0x08003074 0x000000d8 Code RO 910 i.oled_show_string oled.o
- 0x0800314c 0x0800314c 0x00000024 Code RO 913 i.oled_write_cmd oled.o
- 0x08003170 0x08003170 0x00000024 Code RO 914 i.oled_write_data oled.o
- 0x08003194 0x08003194 0x0000000c Code RO 736 i.set_sg90 process.o
- 0x080031a0 0x080031a0 0x00000010 Code RO 738 i.stop_buzz process.o
- 0x080031b0 0x080031b0 0x00000064 Code RO 17 i.wifi_data_recv_fun main.o
- 0x08003214 0x08003214 0x00000818 Data RO 915 .constdata oled.o
- 0x08003a2c 0x08003a2c 0x00000010 Data RO 4596 .constdata system_stm32f1xx.o
- 0x08003a3c 0x08003a3c 0x00000008 Data RO 4597 .constdata system_stm32f1xx.o
- 0x08003a44 0x08003a44 0x00000020 Data RO 4953 Region$$Table anon$$obj.o
+ 0x08000124 0x08000124 0x00000024 Code RO 4687 .text mc_w.l(memcpya.o)
+ 0x08000148 0x08000148 0x00000024 Code RO 4689 .text mc_w.l(memseta.o)
+ 0x0800016c 0x0800016c 0x00000024 Code RO 4691 .text mc_w.l(strstr.o)
+ 0x08000190 0x08000190 0x0000002c Code RO 4975 .text mc_w.l(uidiv.o)
+ 0x080001bc 0x080001bc 0x00000024 Code RO 4992 .text mc_w.l(init.o)
+ 0x080001e0 0x080001e0 0x0000004c Code RO 1353 i.ADC_ConversionStop_Disable stm32f1xx_hal_adc.o
+ 0x0800022c 0x0800022c 0x00000002 Code RO 502 i.BusFault_Handler stm32f1xx_it.o
+ 0x0800022e 0x0800022e 0x00000002 PAD
+ 0x08000230 0x08000230 0x0000001c Code RO 847 i.DHT11_Mode_Out_PP dht11.o
+ 0x0800024c 0x0800024c 0x00000002 Code RO 503 i.DebugMon_Handler stm32f1xx_it.o
+ 0x0800024e 0x0800024e 0x00000002 PAD
+ 0x08000250 0x08000250 0x00000048 Code RO 1167 i.ESP8266_ATE0 esp8266.o
+ 0x08000298 0x08000298 0x0000003c Code RO 1173 i.ESP8266_JoinAP esp8266.o
+ 0x080002d4 0x080002d4 0x00000040 Code RO 1176 i.ESP8266_MQTTCONN esp8266.o
+ 0x08000314 0x08000314 0x00000048 Code RO 1177 i.ESP8266_MQTTPUB esp8266.o
+ 0x0800035c 0x0800035c 0x00000038 Code RO 1178 i.ESP8266_MQTTSUB esp8266.o
+ 0x08000394 0x08000394 0x00000054 Code RO 1179 i.ESP8266_MQTTUSERCFG esp8266.o
+ 0x080003e8 0x080003e8 0x00000060 Code RO 1180 i.ESP8266_Net_Mode_Choose esp8266.o
+ 0x08000448 0x08000448 0x00000178 Code RO 638 i.ESP8266_STA_MQTTClient_Init mqtt.o
+ 0x080005c0 0x080005c0 0x00000080 Code RO 1183 i.ESP8266_Send_AT_Cmd esp8266.o
+ 0x08000640 0x08000640 0x00000002 Code RO 13 i.Error_Handler main.o
+ 0x08000642 0x08000642 0x00000002 PAD
+ 0x08000644 0x08000644 0x000000fc Code RO 1359 i.HAL_ADC_ConfigChannel stm32f1xx_hal_adc.o
+ 0x08000740 0x08000740 0x0000011c Code RO 1368 i.HAL_ADC_Init stm32f1xx_hal_adc.o
+ 0x0800085c 0x0800085c 0x00000058 Code RO 249 i.HAL_ADC_MspInit adc.o
+ 0x080008b4 0x080008b4 0x00000098 Code RO 2009 i.HAL_DMA_Abort_IT stm32f1xx_hal_dma.o
+ 0x0800094c 0x0800094c 0x00000024 Code RO 1636 i.HAL_Delay stm32f1xx_hal.o
+ 0x08000970 0x08000970 0x000001e0 Code RO 1944 i.HAL_GPIO_Init stm32f1xx_hal_gpio.o
+ 0x08000b50 0x08000b50 0x00000010 Code RO 1947 i.HAL_GPIO_TogglePin stm32f1xx_hal_gpio.o
+ 0x08000b60 0x08000b60 0x0000000a Code RO 1948 i.HAL_GPIO_WritePin stm32f1xx_hal_gpio.o
+ 0x08000b6a 0x08000b6a 0x00000002 PAD
+ 0x08000b6c 0x08000b6c 0x0000000c Code RO 1640 i.HAL_GetTick stm32f1xx_hal.o
+ 0x08000b78 0x08000b78 0x00000188 Code RO 2615 i.HAL_I2C_Init stm32f1xx_hal_i2c.o
+ 0x08000d00 0x08000d00 0x00000130 Code RO 2636 i.HAL_I2C_Mem_Write stm32f1xx_hal_i2c.o
+ 0x08000e30 0x08000e30 0x00000070 Code RO 291 i.HAL_I2C_MspInit i2c.o
+ 0x08000ea0 0x08000ea0 0x00000010 Code RO 1646 i.HAL_IncTick stm32f1xx_hal.o
+ 0x08000eb0 0x08000eb0 0x00000024 Code RO 1647 i.HAL_Init stm32f1xx_hal.o
+ 0x08000ed4 0x08000ed4 0x00000040 Code RO 1648 i.HAL_InitTick stm32f1xx_hal.o
+ 0x08000f14 0x08000f14 0x0000003c Code RO 584 i.HAL_MspInit stm32f1xx_hal_msp.o
+ 0x08000f50 0x08000f50 0x0000001a Code RO 2104 i.HAL_NVIC_EnableIRQ stm32f1xx_hal_cortex.o
+ 0x08000f6a 0x08000f6a 0x00000002 PAD
+ 0x08000f6c 0x08000f6c 0x00000040 Code RO 2110 i.HAL_NVIC_SetPriority stm32f1xx_hal_cortex.o
+ 0x08000fac 0x08000fac 0x00000024 Code RO 2111 i.HAL_NVIC_SetPriorityGrouping stm32f1xx_hal_cortex.o
+ 0x08000fd0 0x08000fd0 0x000000ec Code RO 1907 i.HAL_RCCEx_PeriphCLKConfig stm32f1xx_hal_rcc_ex.o
+ 0x080010bc 0x080010bc 0x0000012c Code RO 1804 i.HAL_RCC_ClockConfig stm32f1xx_hal_rcc.o
+ 0x080011e8 0x080011e8 0x00000020 Code RO 1811 i.HAL_RCC_GetPCLK1Freq stm32f1xx_hal_rcc.o
+ 0x08001208 0x08001208 0x00000020 Code RO 1812 i.HAL_RCC_GetPCLK2Freq stm32f1xx_hal_rcc.o
+ 0x08001228 0x08001228 0x0000006c Code RO 1813 i.HAL_RCC_GetSysClockFreq stm32f1xx_hal_rcc.o
+ 0x08001294 0x08001294 0x00000320 Code RO 1816 i.HAL_RCC_OscConfig stm32f1xx_hal_rcc.o
+ 0x080015b4 0x080015b4 0x000000b2 Code RO 3042 i.HAL_SPI_Init stm32f1xx_hal_spi.o
+ 0x08001666 0x08001666 0x00000002 PAD
+ 0x08001668 0x08001668 0x00000074 Code RO 333 i.HAL_SPI_MspInit spi.o
+ 0x080016dc 0x080016dc 0x00000028 Code RO 2115 i.HAL_SYSTICK_Config stm32f1xx_hal_cortex.o
+ 0x08001704 0x08001704 0x00000068 Code RO 4078 i.HAL_TIMEx_MasterConfigSynchronization stm32f1xx_hal_tim_ex.o
+ 0x0800176c 0x0800176c 0x0000005a Code RO 3355 i.HAL_TIM_Base_Init stm32f1xx_hal_tim.o
+ 0x080017c6 0x080017c6 0x00000002 PAD
+ 0x080017c8 0x080017c8 0x00000028 Code RO 375 i.HAL_TIM_Base_MspInit tim.o
+ 0x080017f0 0x080017f0 0x00000058 Code RO 3360 i.HAL_TIM_Base_Start_IT stm32f1xx_hal_tim.o
+ 0x08001848 0x08001848 0x000000d6 Code RO 3364 i.HAL_TIM_ConfigClockSource stm32f1xx_hal_tim.o
+ 0x0800191e 0x0800191e 0x00000002 PAD
+ 0x08001920 0x08001920 0x0000004c Code RO 376 i.HAL_TIM_MspPostInit tim.o
+ 0x0800196c 0x0800196c 0x0000004c Code RO 3404 i.HAL_TIM_OC_ConfigChannel stm32f1xx_hal_tim.o
+ 0x080019b8 0x080019b8 0x0000005a Code RO 3408 i.HAL_TIM_OC_Init stm32f1xx_hal_tim.o
+ 0x08001a12 0x08001a12 0x00000002 PAD
+ 0x08001a14 0x08001a14 0x00000028 Code RO 378 i.HAL_TIM_OC_MspInit tim.o
+ 0x08001a3c 0x08001a3c 0x0000009c Code RO 3435 i.HAL_TIM_PWM_Start stm32f1xx_hal_tim.o
+ 0x08001ad8 0x08001ad8 0x00000002 Code RO 4347 i.HAL_UART_ErrorCallback stm32f1xx_hal_uart.o
+ 0x08001ada 0x08001ada 0x00000002 PAD
+ 0x08001adc 0x08001adc 0x0000015c Code RO 4350 i.HAL_UART_IRQHandler stm32f1xx_hal_uart.o
+ 0x08001c38 0x08001c38 0x00000062 Code RO 4351 i.HAL_UART_Init stm32f1xx_hal_uart.o
+ 0x08001c9a 0x08001c9a 0x00000002 PAD
+ 0x08001c9c 0x08001c9c 0x000000e0 Code RO 441 i.HAL_UART_MspInit usart.o
+ 0x08001d7c 0x08001d7c 0x00000052 Code RO 4356 i.HAL_UART_Receive_IT stm32f1xx_hal_uart.o
+ 0x08001dce 0x08001dce 0x00000002 PAD
+ 0x08001dd0 0x08001dd0 0x0000005c Code RO 442 i.HAL_UART_RxCpltCallback usart.o
+ 0x08001e2c 0x08001e2c 0x000000b2 Code RO 4359 i.HAL_UART_Transmit stm32f1xx_hal_uart.o
+ 0x08001ede 0x08001ede 0x00000002 Code RO 4362 i.HAL_UART_TxCpltCallback stm32f1xx_hal_uart.o
+ 0x08001ee0 0x08001ee0 0x00000002 Code RO 504 i.HardFault_Handler stm32f1xx_it.o
+ 0x08001ee2 0x08001ee2 0x0000002e Code RO 2657 i.I2C_IsAcknowledgeFailed stm32f1xx_hal_i2c.o
+ 0x08001f10 0x08001f10 0x000000a8 Code RO 2668 i.I2C_RequestMemoryWrite stm32f1xx_hal_i2c.o
+ 0x08001fb8 0x08001fb8 0x0000004c Code RO 2671 i.I2C_WaitOnBTFFlagUntilTimeout stm32f1xx_hal_i2c.o
+ 0x08002004 0x08002004 0x00000068 Code RO 2672 i.I2C_WaitOnFlagUntilTimeout stm32f1xx_hal_i2c.o
+ 0x0800206c 0x0800206c 0x00000096 Code RO 2673 i.I2C_WaitOnMasterAddressFlagUntilTimeout stm32f1xx_hal_i2c.o
+ 0x08002102 0x08002102 0x0000004c Code RO 2675 i.I2C_WaitOnTXEFlagUntilTimeout stm32f1xx_hal_i2c.o
+ 0x0800214e 0x0800214e 0x00000004 Code RO 1185 i.MQTT_SendString esp8266.o
+ 0x08002152 0x08002152 0x00000002 PAD
+ 0x08002154 0x08002154 0x00000050 Code RO 250 i.MX_ADC1_Init adc.o
+ 0x080021a4 0x080021a4 0x000000f0 Code RO 216 i.MX_GPIO_Init gpio.o
+ 0x08002294 0x08002294 0x00000040 Code RO 292 i.MX_I2C1_Init i2c.o
+ 0x080022d4 0x080022d4 0x00000044 Code RO 334 i.MX_SPI2_Init spi.o
+ 0x08002318 0x08002318 0x00000068 Code RO 379 i.MX_TIM3_Init tim.o
+ 0x08002380 0x08002380 0x00000074 Code RO 380 i.MX_TIM4_Init tim.o
+ 0x080023f4 0x080023f4 0x00000038 Code RO 443 i.MX_USART1_UART_Init usart.o
+ 0x0800242c 0x0800242c 0x00000038 Code RO 444 i.MX_USART3_UART_Init usart.o
+ 0x08002464 0x08002464 0x00000002 Code RO 505 i.MemManage_Handler stm32f1xx_it.o
+ 0x08002466 0x08002466 0x00000002 Code RO 506 i.NMI_Handler stm32f1xx_it.o
+ 0x08002468 0x08002468 0x00000002 Code RO 507 i.PendSV_Handler stm32f1xx_it.o
+ 0x0800246a 0x0800246a 0x00000002 Code RO 508 i.SVC_Handler stm32f1xx_it.o
+ 0x0800246c 0x0800246c 0x00000004 Code RO 509 i.SysTick_Handler stm32f1xx_it.o
+ 0x08002470 0x08002470 0x00000060 Code RO 14 i.SystemClock_Config main.o
+ 0x080024d0 0x080024d0 0x00000002 Code RO 4648 i.SystemInit system_stm32f1xx.o
+ 0x080024d2 0x080024d2 0x00000002 PAD
+ 0x080024d4 0x080024d4 0x0000006c Code RO 3448 i.TIM_Base_SetConfig stm32f1xx_hal_tim.o
+ 0x08002540 0x08002540 0x0000001a Code RO 3449 i.TIM_CCxChannelCmd stm32f1xx_hal_tim.o
+ 0x0800255a 0x0800255a 0x00000014 Code RO 3459 i.TIM_ETR_SetConfig stm32f1xx_hal_tim.o
+ 0x0800256e 0x0800256e 0x00000010 Code RO 3460 i.TIM_ITRx_SetConfig stm32f1xx_hal_tim.o
+ 0x0800257e 0x0800257e 0x00000002 PAD
+ 0x08002580 0x08002580 0x00000050 Code RO 3461 i.TIM_OC1_SetConfig stm32f1xx_hal_tim.o
+ 0x080025d0 0x080025d0 0x00000058 Code RO 3462 i.TIM_OC2_SetConfig stm32f1xx_hal_tim.o
+ 0x08002628 0x08002628 0x00000058 Code RO 3463 i.TIM_OC3_SetConfig stm32f1xx_hal_tim.o
+ 0x08002680 0x08002680 0x00000044 Code RO 3464 i.TIM_OC4_SetConfig stm32f1xx_hal_tim.o
+ 0x080026c4 0x080026c4 0x00000022 Code RO 3466 i.TIM_TI1_ConfigInputStage stm32f1xx_hal_tim.o
+ 0x080026e6 0x080026e6 0x00000024 Code RO 3468 i.TIM_TI2_ConfigInputStage stm32f1xx_hal_tim.o
+ 0x0800270a 0x0800270a 0x00000010 Code RO 4364 i.UART_DMAAbortOnError stm32f1xx_hal_uart.o
+ 0x0800271a 0x0800271a 0x0000001c Code RO 4374 i.UART_EndRxTransfer stm32f1xx_hal_uart.o
+ 0x08002736 0x08002736 0x0000008c Code RO 4376 i.UART_Receive_IT stm32f1xx_hal_uart.o
+ 0x080027c2 0x080027c2 0x00000002 PAD
+ 0x080027c4 0x080027c4 0x000000b8 Code RO 4377 i.UART_SetConfig stm32f1xx_hal_uart.o
+ 0x0800287c 0x0800287c 0x00000064 Code RO 4378 i.UART_WaitOnFlagUntilTimeout stm32f1xx_hal_uart.o
+ 0x080028e0 0x080028e0 0x00000050 Code RO 510 i.USART3_IRQHandler stm32f1xx_it.o
+ 0x08002930 0x08002930 0x00000130 Code RO 1186 i.USART_printf esp8266.o
+ 0x08002a60 0x08002a60 0x00000002 Code RO 511 i.UsageFault_Handler stm32f1xx_it.o
+ 0x08002a62 0x08002a62 0x00000002 PAD
+ 0x08002a64 0x08002a64 0x00000020 Code RO 4784 i.__0printf$3 mc_w.l(printf3.o)
+ 0x08002a84 0x08002a84 0x00000028 Code RO 4786 i.__0sprintf$3 mc_w.l(printf3.o)
+ 0x08002aac 0x08002aac 0x00000020 Code RO 2117 i.__NVIC_SetPriority stm32f1xx_hal_cortex.o
+ 0x08002acc 0x08002acc 0x0000000e Code RO 5002 i.__scatterload_copy mc_w.l(handlers.o)
+ 0x08002ada 0x08002ada 0x00000002 Code RO 5003 i.__scatterload_null mc_w.l(handlers.o)
+ 0x08002adc 0x08002adc 0x0000000e Code RO 5004 i.__scatterload_zeroinit mc_w.l(handlers.o)
+ 0x08002aea 0x08002aea 0x00000002 PAD
+ 0x08002aec 0x08002aec 0x000001b8 Code RO 4791 i._printf_core mc_w.l(printf3.o)
+ 0x08002ca4 0x08002ca4 0x0000000a Code RO 4793 i._sputc mc_w.l(printf3.o)
+ 0x08002cae 0x08002cae 0x00000004 Code RO 15 i.delay_ms main.o
+ 0x08002cb2 0x08002cb2 0x00000002 PAD
+ 0x08002cb4 0x08002cb4 0x00000030 Code RO 850 i.dht11_init dht11.o
+ 0x08002ce4 0x08002ce4 0x00000018 Code RO 445 i.fputc usart.o
+ 0x08002cfc 0x08002cfc 0x000001b8 Code RO 16 i.main main.o
+ 0x08002eb4 0x08002eb4 0x00000038 Code RO 936 i.oled_fill oled.o
+ 0x08002eec 0x08002eec 0x000000b4 Code RO 937 i.oled_init oled.o
+ 0x08002fa0 0x08002fa0 0x00000026 Code RO 938 i.oled_set_pos oled.o
+ 0x08002fc6 0x08002fc6 0x00000002 PAD
+ 0x08002fc8 0x08002fc8 0x000000d8 Code RO 940 i.oled_show_string oled.o
+ 0x080030a0 0x080030a0 0x00000024 Code RO 943 i.oled_write_cmd oled.o
+ 0x080030c4 0x080030c4 0x00000024 Code RO 944 i.oled_write_data oled.o
+ 0x080030e8 0x080030e8 0x00000010 Code RO 768 i.stop_buzz process.o
+ 0x080030f8 0x080030f8 0x00000818 Data RO 945 .constdata oled.o
+ 0x08003910 0x08003910 0x00000010 Data RO 4649 .constdata system_stm32f1xx.o
+ 0x08003920 0x08003920 0x00000008 Data RO 4650 .constdata system_stm32f1xx.o
+ 0x08003928 0x08003928 0x0000010b Data RO 639 .conststring mqtt.o
+ 0x08003a33 0x08003a33 0x00000001 PAD
+ 0x08003a34 0x08003a34 0x00000020 Data RO 5000 Region$$Table anon$$obj.o
- Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08003a64, Size: 0x00000a50, Max: 0x00005000, ABSOLUTE)
+ Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08003a54, Size: 0x00000a10, Max: 0x00005000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
- 0x20000000 0x08003a64 0x00000004 Data RW 226 .data gpio.o
- 0x20000004 0x08003a68 0x0000000c Data RW 1601 .data stm32f1xx_hal.o
- 0x20000010 0x08003a74 0x00000004 Data RW 4598 .data system_stm32f1xx.o
- 0x20000014 0x08003a78 0x00000004 Data RW 4927 .data mc_w.l(stdout.o)
- 0x20000018 - 0x00000030 Zero RW 260 .bss adc.o
- 0x20000048 - 0x00000054 Zero RW 326 .bss i2c.o
- 0x2000009c - 0x00000058 Zero RW 368 .bss spi.o
- 0x200000f4 - 0x00000090 Zero RW 414 .bss tim.o
- 0x20000184 - 0x000000c4 Zero RW 479 .bss usart.o
- 0x20000248 - 0x00000408 Zero RW 1153 .bss esp8266.o
- 0x20000650 - 0x00000400 Zero RW 1 STACK startup_stm32f103xb.o
+ 0x20000000 0x08003a54 0x00000004 Data RW 217 .data gpio.o
+ 0x20000004 0x08003a58 0x00000001 Data RW 447 .data usart.o
+ 0x20000005 0x08003a59 0x00000003 PAD
+ 0x20000008 0x08003a5c 0x0000000c Data RW 1654 .data stm32f1xx_hal.o
+ 0x20000014 0x08003a68 0x00000004 Data RW 4651 .data system_stm32f1xx.o
+ 0x20000018 0x08003a6c 0x00000004 Data RW 4974 .data mc_w.l(stdout.o)
+ 0x2000001c - 0x00000030 Zero RW 251 .bss adc.o
+ 0x2000004c - 0x00000054 Zero RW 293 .bss i2c.o
+ 0x200000a0 - 0x00000058 Zero RW 335 .bss spi.o
+ 0x200000f8 - 0x00000090 Zero RW 381 .bss tim.o
+ 0x20000188 - 0x00000080 Zero RW 446 .bss usart.o
+ 0x20000208 - 0x00000402 Zero RW 1187 .bss esp8266.o
+ 0x2000060a 0x08003a70 0x00000006 PAD
+ 0x20000610 - 0x00000400 Zero RW 1 STACK startup_stm32f103xb.o
==============================================================================
@@ -2617,40 +2583,39 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
- 168 22 0 0 48 1665 adc.o
- 76 14 0 0 0 1365 dht11.o
- 44 4 0 0 0 774 dma.o
- 0 0 0 0 1032 2201 esp8266.o
- 240 16 0 4 0 1262 gpio.o
- 176 30 0 0 84 1689 i2c.o
- 706 258 0 0 0 461508 main.o
- 562 16 2072 0 0 4686 oled.o
- 28 10 0 0 0 895 process.o
- 500 28 0 0 0 5482 rc522.o
- 184 22 0 0 88 1681 spi.o
- 36 8 236 0 1024 812 startup_stm32f103xb.o
- 164 28 0 12 0 5965 stm32f1xx_hal.o
- 612 24 0 0 0 3324 stm32f1xx_hal_adc.o
- 198 14 0 0 0 28983 stm32f1xx_hal_cortex.o
- 656 32 0 0 0 4311 stm32f1xx_hal_dma.o
- 506 34 0 0 0 3537 stm32f1xx_hal_gpio.o
- 1316 32 0 0 0 9243 stm32f1xx_hal_i2c.o
- 60 8 0 0 0 886 stm32f1xx_hal_msp.o
- 1272 100 0 0 0 5236 stm32f1xx_hal_rcc.o
- 236 12 0 0 0 1396 stm32f1xx_hal_rcc_ex.o
- 876 4 0 0 0 4737 stm32f1xx_hal_spi.o
- 1278 58 0 0 0 12376 stm32f1xx_hal_tim.o
- 104 12 0 0 0 1340 stm32f1xx_hal_tim_ex.o
- 996 20 0 0 0 9939 stm32f1xx_hal_uart.o
- 32 6 0 0 0 4393 stm32f1xx_it.o
- 2 0 24 4 0 1143 system_stm32f1xx.o
- 376 54 0 0 144 3426 tim.o
- 508 58 0 0 196 3740 usart.o
+ 168 22 0 0 48 1817 adc.o
+ 76 14 0 0 0 1481 dht11.o
+ 940 266 0 0 1026 10219 esp8266.o
+ 240 16 0 4 0 1378 gpio.o
+ 176 30 0 0 84 1841 i2c.o
+ 542 182 0 0 0 459594 main.o
+ 376 252 267 0 0 682 mqtt.o
+ 562 16 2072 0 0 5030 oled.o
+ 16 6 0 0 0 468 process.o
+ 184 22 0 0 88 1829 spi.o
+ 36 8 236 0 1024 848 startup_stm32f103xb.o
+ 164 28 0 12 0 6273 stm32f1xx_hal.o
+ 612 24 0 0 0 3476 stm32f1xx_hal_adc.o
+ 198 14 0 0 0 29211 stm32f1xx_hal_cortex.o
+ 152 4 0 0 0 1191 stm32f1xx_hal_dma.o
+ 506 34 0 0 0 3681 stm32f1xx_hal_gpio.o
+ 1316 32 0 0 0 9583 stm32f1xx_hal_i2c.o
+ 60 8 0 0 0 962 stm32f1xx_hal_msp.o
+ 1272 100 0 0 0 5468 stm32f1xx_hal_rcc.o
+ 236 12 0 0 0 1476 stm32f1xx_hal_rcc_ex.o
+ 178 0 0 0 0 1323 stm32f1xx_hal_spi.o
+ 1278 58 0 0 0 13024 stm32f1xx_hal_tim.o
+ 104 12 0 0 0 1416 stm32f1xx_hal_tim_ex.o
+ 1178 10 0 0 0 9503 stm32f1xx_hal_uart.o
+ 100 30 0 0 0 5331 stm32f1xx_it.o
+ 2 0 24 4 0 1251 system_stm32f1xx.o
+ 376 54 0 0 144 3694 tim.o
+ 452 64 0 1 128 3943 usart.o
----------------------------------------------------------------------
- 11944 924 2364 20 2616 587995 Object Totals
+ 11538 1318 2632 24 2548 585993 Object Totals
0 0 32 0 0 0 (incl. Generated)
- 32 0 0 0 0 0 (incl. Padding)
+ 38 0 1 3 6 0 (incl. Padding)
----------------------------------------------------------------------
@@ -2666,23 +2631,25 @@ Image component sizes
8 4 0 0 0 0 entry9a.o
30 0 0 0 0 0 handlers.o
36 8 0 0 0 68 init.o
+ 36 0 0 0 0 68 memcpya.o
36 0 0 0 0 108 memseta.o
- 472 14 0 0 0 184 printf3.o
+ 522 20 0 0 0 336 printf3.o
0 0 0 4 0 0 stdout.o
+ 36 0 0 0 0 80 strstr.o
44 0 0 0 0 80 uidiv.o
----------------------------------------------------------------------
- 640 30 0 4 0 440 Library Totals
+ 762 36 0 4 0 740 Library Totals
2 0 0 0 0 0 (incl. Padding)
----------------------------------------------------------------------
Code (inc. data) RO Data RW Data ZI Data Debug Library Name
- 638 30 0 4 0 440 mc_w.l
+ 760 36 0 4 0 740 mc_w.l
----------------------------------------------------------------------
- 640 30 0 4 0 440 Library Totals
+ 762 36 0 4 0 740 Library Totals
----------------------------------------------------------------------
@@ -2691,15 +2658,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug
- 12584 954 2364 24 2616 582243 Grand Totals
- 12584 954 2364 24 2616 582243 ELF Image Totals
- 12584 954 2364 24 0 0 ROM Totals
+ 12300 1354 2632 28 2548 580905 Grand Totals
+ 12300 1354 2632 28 2548 580905 ELF Image Totals
+ 12300 1354 2632 28 0 0 ROM Totals
==============================================================================
- Total RO Size (Code + RO Data) 14948 ( 14.60kB)
- Total RW Size (RW Data + ZI Data) 2640 ( 2.58kB)
- Total ROM Size (Code + RO Data + RW Data) 14972 ( 14.62kB)
+ Total RO Size (Code + RO Data) 14932 ( 14.58kB)
+ Total RW Size (RW Data + ZI Data) 2576 ( 2.52kB)
+ Total ROM Size (Code + RO Data + RW Data) 14960 ( 14.61kB)
==============================================================================
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/adc.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/adc.crf
index 8a37ea9f..774ea39a 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/adc.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/adc.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/dht11.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/dht11.crf
index 6a3acb51..a5301cce 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/dht11.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/dht11.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/dma.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/dma.crf
index 6dc59038..e438005f 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/dma.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/dma.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/dma.d b/firmware/stm32/smart_dormitory/MDK-ARM/Project/dma.d
new file mode 100644
index 00000000..aea3ca3a
--- /dev/null
+++ b/firmware/stm32/smart_dormitory/MDK-ARM/Project/dma.d
@@ -0,0 +1,38 @@
+project\dma.o: ../Core/Src/dma.c
+project\dma.o: ../Core/Inc/dma.h
+project\dma.o: ../Core/Inc/main.h
+project\dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h
+project\dma.o: ../Core/Inc/stm32f1xx_hal_conf.h
+project\dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h
+project\dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h
+project\dma.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h
+project\dma.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h
+project\dma.o: ../Drivers/CMSIS/Include/core_cm3.h
+project\dma.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
+project\dma.o: ../Drivers/CMSIS/Include/cmsis_version.h
+project\dma.o: ../Drivers/CMSIS/Include/cmsis_compiler.h
+project\dma.o: ../Drivers/CMSIS/Include/cmsis_armcc.h
+project\dma.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h
+project\dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h
+project\dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h
+project\dma.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h
+project\dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h
+project\dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h
+project\dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h
+project\dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h
+project\dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h
+project\dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h
+project\dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h
+project\dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h
+project\dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h
+project\dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h
+project\dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h
+project\dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_i2c.h
+project\dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h
+project\dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h
+project\dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h
+project\dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h
+project\dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h
+project\dma.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdarg.h
+project\dma.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdio.h
+project\dma.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\string.h
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/tcp.o b/firmware/stm32/smart_dormitory/MDK-ARM/Project/dma.o
similarity index 65%
rename from firmware/stm32/smart_dormitory/MDK-ARM/Project/tcp.o
rename to firmware/stm32/smart_dormitory/MDK-ARM/Project/dma.o
index c146d0c1..aefb7250 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/tcp.o and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/dma.o differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/esp8266.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/esp8266.crf
index cb2029c0..c699d4f3 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/esp8266.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/esp8266.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/flash.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/flash.crf
index 40b5c031..39b87f06 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/flash.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/flash.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/gpio.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/gpio.crf
index 36f6dc1e..22e19dca 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/gpio.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/gpio.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/i2c.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/i2c.crf
index 54459cae..6e384b35 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/i2c.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/i2c.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/main.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/main.crf
index 90415d75..a24aa53f 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/main.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/main.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/mqtt.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/mqtt.crf
index 37a4be2c..46103719 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/mqtt.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/mqtt.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/oled.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/oled.crf
index ec836f85..a9035647 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/oled.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/oled.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/process.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/process.crf
index 2508bab6..4aef9551 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/process.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/process.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/rc522.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/rc522.crf
index bdde6bfe..bf0c6c1c 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/rc522.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/rc522.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/sensor_light.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/sensor_light.crf
index 152f20ee..96a98b2e 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/sensor_light.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/sensor_light.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/spi.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/spi.crf
index d3bb3b42..c036a5f7 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/spi.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/spi.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal.crf
index 9b8a74e4..4bee6c0e 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_adc.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_adc.crf
index f603025c..cec4bc9a 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_adc.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_adc.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_adc_ex.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_adc_ex.crf
index c093994f..b4af8585 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_adc_ex.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_adc_ex.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_cortex.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_cortex.crf
index 91abfdbc..621560d9 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_cortex.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_cortex.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_dma.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_dma.crf
index dec5a6b6..12340129 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_dma.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_dma.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_exti.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_exti.crf
index 360d3502..0124f0ec 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_exti.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_exti.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_flash.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_flash.crf
index 14cfe770..d939549e 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_flash.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_flash.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_flash_ex.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_flash_ex.crf
index d8065804..5b784bad 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_flash_ex.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_flash_ex.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_gpio.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_gpio.crf
index a2ba087f..d73e220d 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_gpio.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_gpio.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_gpio_ex.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_gpio_ex.crf
index b820ae08..4f367a65 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_gpio_ex.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_gpio_ex.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_i2c.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_i2c.crf
index f40e3af6..97629dc1 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_i2c.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_i2c.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_msp.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_msp.crf
index e04e6e9b..c0b11c58 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_msp.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_msp.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_pwr.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_pwr.crf
index 1b0efe0f..13f189cd 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_pwr.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_pwr.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_rcc.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_rcc.crf
index c8eb13b4..4ec9b8f5 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_rcc.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_rcc.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_rcc_ex.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_rcc_ex.crf
index 4a6aaf3e..85a373c3 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_rcc_ex.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_rcc_ex.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_spi.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_spi.crf
index 6bc30ff8..62fdbfe9 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_spi.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_spi.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_tim.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_tim.crf
index 83e5b56f..b1057093 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_tim.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_tim.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_tim_ex.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_tim_ex.crf
index 082b97be..65f577bd 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_tim_ex.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_tim_ex.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_uart.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_uart.crf
index d674cb00..e43be074 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_uart.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_hal_uart.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_it.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_it.crf
index 92b83ec0..b21fb254 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_it.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/stm32f1xx_it.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/system_stm32f1xx.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/system_stm32f1xx.crf
index 2d013ba6..6b7a87fb 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/system_stm32f1xx.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/system_stm32f1xx.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/tcp.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/tcp.crf
index 69d5dc69..dd147ff6 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/tcp.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/tcp.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/tcp.d b/firmware/stm32/smart_dormitory/MDK-ARM/Project/tcp.d
deleted file mode 100644
index 9a3e2ea8..00000000
--- a/firmware/stm32/smart_dormitory/MDK-ARM/Project/tcp.d
+++ /dev/null
@@ -1,40 +0,0 @@
-project\tcp.o: ..\User\xiaoyi_wifi\tcp.c
-project\tcp.o: ..\User\xiaoyi_wifi\tcp.h
-project\tcp.o: ../Core/Inc/main.h
-project\tcp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h
-project\tcp.o: ../Core/Inc/stm32f1xx_hal_conf.h
-project\tcp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h
-project\tcp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h
-project\tcp.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h
-project\tcp.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h
-project\tcp.o: ../Drivers/CMSIS/Include/core_cm3.h
-project\tcp.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
-project\tcp.o: ../Drivers/CMSIS/Include/cmsis_version.h
-project\tcp.o: ../Drivers/CMSIS/Include/cmsis_compiler.h
-project\tcp.o: ../Drivers/CMSIS/Include/cmsis_armcc.h
-project\tcp.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h
-project\tcp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h
-project\tcp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h
-project\tcp.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h
-project\tcp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h
-project\tcp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h
-project\tcp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h
-project\tcp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h
-project\tcp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h
-project\tcp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h
-project\tcp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h
-project\tcp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h
-project\tcp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h
-project\tcp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h
-project\tcp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h
-project\tcp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_i2c.h
-project\tcp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h
-project\tcp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h
-project\tcp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h
-project\tcp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h
-project\tcp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h
-project\tcp.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdarg.h
-project\tcp.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdio.h
-project\tcp.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\string.h
-project\tcp.o: ..\User\xiaoyi_wifi\esp8266.h
-project\tcp.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdbool.h
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/tim.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/tim.crf
index 635999b2..72b3a257 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/tim.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/tim.crf differ
diff --git a/firmware/stm32/smart_dormitory/MDK-ARM/Project/usart.crf b/firmware/stm32/smart_dormitory/MDK-ARM/Project/usart.crf
index 4a496312..361a465f 100644
Binary files a/firmware/stm32/smart_dormitory/MDK-ARM/Project/usart.crf and b/firmware/stm32/smart_dormitory/MDK-ARM/Project/usart.crf differ
diff --git a/firmware/stm32/smart_dormitory/Project.ioc b/firmware/stm32/smart_dormitory/Project.ioc
index 5aedfed0..95c94a1b 100644
--- a/firmware/stm32/smart_dormitory/Project.ioc
+++ b/firmware/stm32/smart_dormitory/Project.ioc
@@ -5,33 +5,21 @@ ADC1.NbrOfConversionFlag=1
ADC1.Rank-2\#ChannelRegularConversion=1
ADC1.SamplingTime-2\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5
ADC1.master=1
-Dma.Request0=USART3_RX
-Dma.RequestsNb=1
-Dma.USART3_RX.0.Direction=DMA_PERIPH_TO_MEMORY
-Dma.USART3_RX.0.Instance=DMA1_Channel3
-Dma.USART3_RX.0.MemDataAlignment=DMA_MDATAALIGN_BYTE
-Dma.USART3_RX.0.MemInc=DMA_MINC_ENABLE
-Dma.USART3_RX.0.Mode=DMA_NORMAL
-Dma.USART3_RX.0.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
-Dma.USART3_RX.0.PeriphInc=DMA_PINC_DISABLE
-Dma.USART3_RX.0.Priority=DMA_PRIORITY_HIGH
-Dma.USART3_RX.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority
File.Version=6
GPIO.groupedBy=Group By Peripherals
KeepUserPlacement=false
Mcu.Family=STM32F1
Mcu.IP0=ADC1
-Mcu.IP1=DMA
-Mcu.IP10=USART3
-Mcu.IP2=I2C1
-Mcu.IP3=NVIC
-Mcu.IP4=RCC
-Mcu.IP5=SPI2
-Mcu.IP6=SYS
-Mcu.IP7=TIM3
-Mcu.IP8=TIM4
-Mcu.IP9=USART1
-Mcu.IPNb=11
+Mcu.IP1=I2C1
+Mcu.IP2=NVIC
+Mcu.IP3=RCC
+Mcu.IP4=SPI2
+Mcu.IP5=SYS
+Mcu.IP6=TIM3
+Mcu.IP7=TIM4
+Mcu.IP8=USART1
+Mcu.IP9=USART3
+Mcu.IPNb=10
Mcu.Name=STM32F103C(8-B)Tx
Mcu.Package=LQFP48
Mcu.Pin0=PC13-TAMPER-RTC
@@ -73,7 +61,6 @@ Mcu.UserName=STM32F103C8Tx
MxCube.Version=6.0.1
MxDb.Version=DB.6.0.0
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
-NVIC.DMA1_Channel3_IRQn=true\:0\:0\:false\:false\:true\:false\:true
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.ForceEnableDMAVector=true
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
@@ -83,7 +70,7 @@ NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true
-NVIC.USART3_IRQn=true\:0\:0\:false\:false\:false\:true\:false
+NVIC.USART3_IRQn=true\:2\:0\:true\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
PA0-WKUP.Locked=true
PA0-WKUP.Signal=GPIO_Input
@@ -184,7 +171,7 @@ ProjectManager.StackSize=0x400
ProjectManager.TargetToolchain=MDK-ARM V5.27
ProjectManager.ToolChainLocation=
ProjectManager.UnderRoot=false
-ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-MX_DMA_Init-DMA-false-HAL-true,3-SystemClock_Config-RCC-false-HAL-false,4-MX_ADC1_Init-ADC1-false-HAL-true,5-MX_TIM3_Init-TIM3-false-HAL-true,6-MX_USART1_UART_Init-USART1-false-HAL-true,7-MX_USART3_UART_Init-USART3-false-HAL-true,8-MX_TIM4_Init-TIM4-false-HAL-true,9-MX_I2C1_Init-I2C1-false-HAL-true,10-MX_SPI2_Init-SPI2-false-HAL-true
+ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_ADC1_Init-ADC1-false-HAL-true,4-MX_TIM3_Init-TIM3-false-HAL-true,5-MX_USART1_UART_Init-USART1-false-HAL-true,6-MX_USART3_UART_Init-USART3-false-HAL-true,7-MX_TIM4_Init-TIM4-false-HAL-true,8-MX_I2C1_Init-I2C1-false-HAL-true,9-MX_SPI2_Init-SPI2-false-HAL-true
RCC.ADCFreqValue=12000000
RCC.ADCPresc=RCC_ADCPCLK2_DIV6
RCC.AHBFreq_Value=72000000
diff --git a/firmware/stm32/smart_dormitory/User/Process/process.h b/firmware/stm32/smart_dormitory/User/Process/process.h
index 5a7f1028..ab85db81 100644
--- a/firmware/stm32/smart_dormitory/User/Process/process.h
+++ b/firmware/stm32/smart_dormitory/User/Process/process.h
@@ -21,8 +21,6 @@ void start_buzz(void);
void stop_buzz(void);
-void set_sg90(int value);
-
void process_local_handle(uint16_t value_humi);
void process_report_data(void);
diff --git a/firmware/stm32/smart_dormitory/User/xiaoyi_wifi/esp8266.c b/firmware/stm32/smart_dormitory/User/xiaoyi_wifi/esp8266.c
index a9997252..6daf00fb 100644
--- a/firmware/stm32/smart_dormitory/User/xiaoyi_wifi/esp8266.c
+++ b/firmware/stm32/smart_dormitory/User/xiaoyi_wifi/esp8266.c
@@ -1,9 +1,8 @@
#include "esp8266.h"
+#include "usart.h"
-extern UART_HandleTypeDef huart3;
-
-STRUCT_USART_Fram_t ESP8266_Fram_Record_Struct;
+struct STRUCT_USART_Fram ESP8266_Fram_Record_Struct= { 0 }; //定义了一个数据帧结构体
void ESP8266_Init(uint32_t bound)
{
GPIO_InitTypeDef GPIO_InitStructure;
@@ -18,7 +17,7 @@ void ESP8266_Init(uint32_t bound)
// GPIO_InitStructure.Pin = ESP8266_CH_PD_Pin;
// HAL_GPIO_Init(ESP8266_CH_PD_Pin_Port, &GPIO_InitStructure);
//
-// ESP8266_Rst();
+ ESP8266_Rst();
}
//对ESP8266模块发送AT指令
@@ -28,11 +27,8 @@ void ESP8266_Init(uint32_t bound)
//返回1发送成功, 0失败
bool ESP8266_Send_AT_Cmd(char *cmd,char *ack1,char *ack2,uint32_t time)
{
- ESP8266_Fram_Record_Struct.InfBit.FramLength = 0; //重新接收新的数据包
- ESP8266_Fram_Record_Struct.InfBit.FramFinishFlag = 0;
- memset(ESP8266_Fram_Record_Struct.Data_RX_BUF, 0x00, sizeof(ESP8266_Fram_Record_Struct.Data_RX_BUF));
-
- hal_AT_printf("%s\r\n", cmd);
+ ESP8266_Fram_Record_Struct.InfBit .FramLength = 0; //重新接收新的数据包
+ ESP8266_USART("%s\r\n", cmd);
if(ack1==0&&ack2==0) //不需要接收数据
{
return true;
@@ -44,36 +40,35 @@ bool ESP8266_Send_AT_Cmd(char *cmd,char *ack1,char *ack2,uint32_t time)
printf("------ %s", ESP8266_Fram_Record_Struct.Data_RX_BUF);
if(ack1!=0&&ack2!=0)
{
- return ( ( bool ) strstr ( (char *)ESP8266_Fram_Record_Struct.Data_RX_BUF, ack1 ) ||
- ( bool ) strstr ( (char *)ESP8266_Fram_Record_Struct.Data_RX_BUF, ack2 ) );
+ return ( ( bool ) strstr ( ESP8266_Fram_Record_Struct.Data_RX_BUF, ack1 ) ||
+ ( bool ) strstr ( ESP8266_Fram_Record_Struct.Data_RX_BUF, ack2 ) );
}
else if( ack1 != 0 ) //strstr(s1,s2);检测s2是否为s1的一部分,是返回该位置,否则返回false,它强制转换为bool类型了
- return ( ( bool ) strstr ( (char *)ESP8266_Fram_Record_Struct.Data_RX_BUF, ack1 ) );
+ return ( ( bool ) strstr ( ESP8266_Fram_Record_Struct.Data_RX_BUF, ack1 ) );
else
- return ( ( bool ) strstr ( (char *)ESP8266_Fram_Record_Struct.Data_RX_BUF, ack2 ) );
-
+ return ( ( bool ) strstr ( ESP8266_Fram_Record_Struct.Data_RX_BUF, ack2 ) );
}
-/*-------------------------------------------------*/
-/*函数名:WiFi复位 */
-/*参 数:timeout:超时时间(100ms的倍数) */
-/*返回值:0:正确 其他:错误 */
-/*-------------------------------------------------*/
-char ESP8266_Rst(void)
+//复位重启
+void ESP8266_Rst(void)
{
- return ESP8266_Send_AT_Cmd ( "AT+RST\r\n", "OK", 0, 5000 );
+// ESP8266_RST_Pin_SetL;
+// delay_ms(500);
+// ESP8266_RST_Pin_SetH;
+ ;
}
+
//发送恢复出厂默认设置指令将模块恢复成出厂设置
-void ESP8266_AT_Test(void)
+void ESP8266_ATE0(void)
{
char count=0;
delay_ms(1000);
while(count < 10)
{
- if(ESP8266_Send_AT_Cmd("AT+RESTORE","OK",NULL,500))
+ if(ESP8266_Send_AT_Cmd("ATE0","OK",NULL,500))
{
printf("OK\r\n");
return;
@@ -82,16 +77,16 @@ void ESP8266_AT_Test(void)
}
}
-//取消回显
-void ESP8266_ATE0(void)
+//发送恢复出厂默认设置指令将模块恢复成出厂设置
+void ESP8266_AT_Restore(void)
{
char count=0;
delay_ms(1000);
while(count < 10)
{
- if(ESP8266_Send_AT_Cmd("ATE0","OK",NULL,1000))
+ if(ESP8266_Send_AT_Cmd("AT+RESTORE","OK",NULL,500))
{
- printf("ATE0 OK\r\n");
+ printf("OK\r\n");
return;
}
++ count;
@@ -119,6 +114,7 @@ bool ESP8266_Net_Mode_Choose(ENUM_Net_ModeTypeDef enumMode)
}
}
+
//ESP8266连接外部的WIFI
//pSSID WiFi帐号
//pPassWord WiFi密码
@@ -128,7 +124,7 @@ bool ESP8266_JoinAP( char * pSSID, char * pPassWord)
char cCmd [120];
sprintf ( cCmd, "AT+CWJAP=\"%s\",\"%s\"", pSSID, pPassWord );
- return ESP8266_Send_AT_Cmd( cCmd, "OK", "WIFI CONNECTED", 5000 );
+ return ESP8266_Send_AT_Cmd( cCmd, "OK", NULL, 5000 );
}
//ESP8266 透传使能
@@ -144,18 +140,6 @@ bool ESP8266_Enable_MultipleId (FunctionalState enumEnUnvarnishTx )
}
-//ESP8266 使能自动重连
-//enumEnUnvarnishTx 是否多连接,bool类型
-//设置成功返回true,反之false
-bool ESP8266_Enable_AutoConnect (int enable )
-{
- char cStr [20];
-
- sprintf ( cStr, "AT+CWAUTOCONN=%d", enable );
-
- return ESP8266_Send_AT_Cmd ( cStr, "OK", 0, 500 );
-
-}
//ESP8266 连接服务器
//enumE 网络类型
@@ -201,6 +185,7 @@ bool ESP8266_UnvarnishSend ( void )
return
ESP8266_Send_AT_Cmd( "AT+CIPSEND", "OK", ">", 500 );
+
}
@@ -215,25 +200,28 @@ bool ESP8266_SendString(FunctionalState enumEnUnvarnishTx, char * pStr, uint32_t
char cStr [20];
bool bRet = false;
+
if ( enumEnUnvarnishTx )
{
- hal_AT_printf ( "%s", pStr );
+ ESP8266_USART ( "%s", pStr );
bRet = true;
+
}
else
{
if ( ucId < 5 )
sprintf ( cStr, "AT+CIPSEND=%d,%d", ucId, ulStrLength + 2 );
-
else
sprintf ( cStr, "AT+CIPSEND=%d", ulStrLength + 2 );
ESP8266_Send_AT_Cmd ( cStr, "> ", 0, 1000 );
bRet = ESP8266_Send_AT_Cmd ( pStr, "SEND OK", 0, 1000 );
- }
+ }
+
return bRet;
+
}
@@ -241,7 +229,7 @@ bool ESP8266_SendString(FunctionalState enumEnUnvarnishTx, char * pStr, uint32_t
void ESP8266_ExitUnvarnishSend ( void )
{
delay_ms(1000);
- hal_AT_printf( "+++" );
+ ESP8266_USART( "+++" );
delay_ms( 500 );
}
@@ -255,89 +243,20 @@ uint8_t ESP8266_Get_LinkStatus ( void )
{
if (ESP8266_Send_AT_Cmd( "AT+CIPSTATUS", "OK", 0, 500 ) )
{
- if ( strstr ( (char *)ESP8266_Fram_Record_Struct.Data_RX_BUF, "STATUS:2\r\n" ) )
+ if ( strstr ( ESP8266_Fram_Record_Struct.Data_RX_BUF, "STATUS:2\r\n" ) )
return 2;
- else if ( strstr ( (char *)ESP8266_Fram_Record_Struct.Data_RX_BUF, "STATUS:3\r\n" ) )
+
+ else if ( strstr ( ESP8266_Fram_Record_Struct.Data_RX_BUF, "STATUS:3\r\n" ) )
return 3;
- else if ( strstr ( (char *)ESP8266_Fram_Record_Struct.Data_RX_BUF, "STATUS:4\r\n" ) )
+
+ else if ( strstr ( ESP8266_Fram_Record_Struct.Data_RX_BUF, "STATUS:4\r\n" ) )
return 4;
+
}
+
return 0;
}
-
-
-extern char mqtt_tcp_connect(int timeout);
-
-/*-------------------------------------------------*/
-/*函数名:WiFi连接服务器 */
-/*参 数:无 */
-/*返回值:0:正确 其他:错误 */
-/*-------------------------------------------------*/
-char WiFi_Connect_IoTServer(void)
-{
-// printf("准备复位模块\r\n"); //串口提示数据
-// ESP8266_Rst();
-
- // 取消回显
- ESP8266_ATE0();
-
- printf("ready to set STA mode\r\n");
- // 设置STA模式
- if (ESP8266_Net_Mode_Choose(STA))
- {
- printf("Set STA mode\r\n");
- }
-
- // 准备关闭多路连接
- if (ESP8266_Enable_MultipleId(DISABLE))
- {
- printf("close multipled ID success\r\n");
- }else
- {
- printf("close multipled ID error\r\n");
- }
- // 取消自动重连
- if(ESP8266_Enable_AutoConnect(0)) //取消自动连接,100ms超时单位,总计5s超时时间
- {
- printf("取消自动连接成功\r\n"); //串口提示数据
- }else
- {
- printf("取消自动连接失败,准备重启\r\n"); //返回非0值,进入if,串口提示数据
- return 3;
- }
-
-
- // 连接路由器
- if(ESP8266_JoinAP(User_SSID, User_PWD))
- {
- printf("connect to router success\r\n");
- }else
- {
- printf("connect to router failed\r\n");
- return 9;
- }
-
- // 连接服务器
- if(mqtt_tcp_connect(500)) //连接服务器,100ms超时单位,总计10s超时时间
- {
- printf("connect to server success\r\n"); //返回非0值,进入if,串口提示数据
- //返回10
- }else
- {
- printf("connect to server failed\r\n"); //串口提示数据
- return 10;
- }
-
- // 进入透传模式
- if (ESP8266_UnvarnishSend() )
- {
- printf("go into unvarnishSend mode\r\n");
- }
- return 0; //正确返回0
-}
-
-
static char *itoa( int value, char *string, int radix )
{
int i, d;
@@ -388,7 +307,7 @@ static char *itoa( int value, char *string, int radix )
} /* NCL_Itoa */
-void hal_AT_printf ( char * Data, ... )
+void USART_printf ( char * Data, ... )
{
const char *s;
int d;
@@ -452,14 +371,108 @@ void hal_AT_printf ( char * Data, ... )
Data++;
break;
}
- }
+ }
else
{
HAL_UART_Transmit(&huart3, (uint8_t *)Data, 1, 0xFFFF);
Data++;
while( __HAL_UART_GET_FLAG(&huart3, UART_FLAG_TXE) == false);
}
+
}
}
-
\ No newline at end of file
+//下面为ESP8266MQTT功能指令
+
+/*
+*MQTT配置用户属性
+*LinkID 连接ID,目前只支持0
+*scheme 连接方式,这里选择MQTT over TCP,这里设置为1
+*client_id MQTTclientID 用于标志client身份
+*username 用于登录 MQTT 服务器 的 username
+*password 用于登录 MQTT 服务器 的 password
+*cert_key_ID 证书 ID, 目前支持一套 cert 证书, 参数为 0
+*CA_ID 目前支持一套 CA 证书, 参数为 0
+*path 资源路径,这里设置为""
+*设置成功返回true 反之false
+*/
+bool ESP8266_MQTTUSERCFG( char * pClient_Id, char * pUserName,char * PassWord)
+{
+ char cCmd [120];
+ sprintf ( cCmd, "AT+MQTTUSERCFG=0,1,\"%s\",\"%s\",\"%s\",0,0,\"\"", pClient_Id,pUserName,PassWord );
+ return ESP8266_Send_AT_Cmd( cCmd, "OK", NULL, 500 );
+}
+
+
+/*
+*连接指定的MQTT服务器
+*LinkID 连接ID,目前只支持0
+*IP:MQTT服务器上对应的IP地址
+*ComNum MQTT服务器上对应的端口号,一般为1883
+*设置成功返回true 反之false
+*/
+bool ESP8266_MQTTCONN( char * Ip, int Num)
+{
+ char cCmd [120];
+ sprintf ( cCmd,"AT+MQTTCONN=0,\"%s\",%d,0", Ip,Num);
+ return ESP8266_Send_AT_Cmd( cCmd, "OK", NULL, 500 );
+}
+
+/*
+*订阅指定连接的 MQTT 主题, 可重复多次订阅不同 topic
+*LinkID 连接ID,目前只支持0
+*Topic 订阅的主题名字,这里设置为Topic
+*Qos值:一般为0,这里设置为1
+*设置成功返回true 反之false
+*/
+bool ESP8266_MQTTSUB(char * Topic)
+{
+ char cCmd [120];
+ sprintf ( cCmd, "AT+MQTTSUB=0,\"%s\",1",Topic );
+ return ESP8266_Send_AT_Cmd( cCmd, "OK", NULL, 500 );
+}
+
+
+/*
+*在LinkID上通过 topic 发布数据 data, 其中 data 为字符串消息
+*LinkID 连接ID,目前只支持0
+*Topic 订阅的主题名字,这里设置为Topic
+*data:字符串信息
+*设置成功返回true 反之false
+*/
+bool ESP8266_MQTTPUB( char * Topic,char *temp)
+{
+ char cCmd [512];
+ sprintf (cCmd, "AT+MQTTPUB=0,\"%s\",\"%s\",0,0", Topic ,temp);
+ return ESP8266_Send_AT_Cmd( cCmd, "OK", NULL, 1000 );
+}
+
+/*
+*关闭 MQTT Client 为 LinkID 的连接, 并释放内部占用的资源
+*LinkID 连接ID,目前只支持0
+*Topic 订阅的主题名字,这里设置为Topic
+*data:字符串信息
+*设置成功返回true 反之false
+*/
+bool ESP8266_MQTTCLEAN(void)
+{
+ char cCmd [120];
+ sprintf ( cCmd, "AT+MQTTCLEAN=0");
+ return ESP8266_Send_AT_Cmd( cCmd, "OK", NULL, 500 );
+}
+
+//ESP8266发送字符串
+//enumEnUnvarnishTx是否使能透传模式
+//pStr字符串
+//ulStrLength字符串长度
+//ucId 连接号
+//设置成功返回true, 反之false
+bool MQTT_SendString(char * pTopic,char *temp2)
+{
+ bool bRet = false;
+
+ bRet = ESP8266_MQTTPUB(pTopic,temp2);
+
+ return bRet;
+}
+
diff --git a/firmware/stm32/smart_dormitory/User/xiaoyi_wifi/esp8266.h b/firmware/stm32/smart_dormitory/User/xiaoyi_wifi/esp8266.h
index 36963b82..572025b0 100644
--- a/firmware/stm32/smart_dormitory/User/xiaoyi_wifi/esp8266.h
+++ b/firmware/stm32/smart_dormitory/User/xiaoyi_wifi/esp8266.h
@@ -1,5 +1,5 @@
-#ifndef __ESP8266_H__
-#define __ESP8266_H__
+#ifndef __ESP8266_H
+#define __ESP8266_H
#include "main.h"
@@ -7,6 +7,33 @@
#include
#include
+#if defined ( __CC_ARM )
+#pragma anon_unions
+#endif
+
+//ESP8266模式选择
+typedef enum
+{
+ STA,
+ AP,
+ STA_AP
+}ENUM_Net_ModeTypeDef;
+
+//网络传输层协议,枚举类型
+typedef enum{
+ enumTCP,
+ enumUDP,
+} ENUM_NetPro_TypeDef;
+//连接号,指定为该连接号可以防止其他计算机访问同一端口而发生错误
+typedef enum{
+ Multiple_ID_0 = 0,
+ Multiple_ID_1 = 1,
+ Multiple_ID_2 = 2,
+ Multiple_ID_3 = 3,
+ Multiple_ID_4 = 4,
+ Single_ID_0 = 5,
+} ENUM_ID_NO_TypeDef;
+
#define ESP8266_RST_Pin GPIO_PIN_4 //复位管脚
#define ESP8266_RST_Pin_Port GPIOA //复位
@@ -26,62 +53,11 @@
#define PC_USART(fmt, ...) printf(fmt, ##__VA_ARGS__) //这是串口打印函数,串口1,执行printf后会自动执行fput函数,重定向了printf。
+
#define RX_BUF_MAX_LEN 1024 //最大字节数
-
-#define User_SSID "brown1" //wifi名
-#define User_PWD "123456789a" //wifi密码
-
-
-//ESP8266模式选择
-typedef enum
+extern struct STRUCT_USART_Fram //数据帧结构体
{
- STA,
- AP,
- STA_AP
-}ENUM_Net_ModeTypeDef;
-
-//网络传输层协议,枚举类型
-typedef enum{
- enumTCP,
- enumUDP,
-} ENUM_NetPro_TypeDef;
-
-//连接号,指定为该连接号可以防止其他计算机访问同一端口而发生错误
-typedef enum{
- Multiple_ID_0 = 0,
- Multiple_ID_1 = 1,
- Multiple_ID_2 = 2,
- Multiple_ID_3 = 3,
- Multiple_ID_4 = 4,
- Single_ID_0 = 5,
-} ENUM_ID_NO_TypeDef;
-
-
-//ESP8266网络状态
-typedef enum{
- NET_STATUS_INIT = 0,
- NET_STATUS_WIFI_CONNECTING,
- NET_STATUS_WIFI_CONNECTED,
- NET_STATUS_WIFI_FAILED,
- NET_STATUS_CLOUD_SUCCESS,
- NET_STATUS_CLOUD_FAIL,
-}connect_status_e;
-
-//ESP8266网络状态
-typedef enum{
- TYPE_RECV_CONNECT = 0,
- TYPE_RECV_DISCONNECT,
- TYPE_RECV_GOT_IP,
- TYPE_RECV_SUBSCRIBE, // 接收MQTT下发订阅消息
- TYPE_RECV_NONE,
-}type_recv_e;
-
-typedef int (*wifi_data_arrvied)(type_recv_e type, uint8_t *data, int len); // 函数指针,接收WIFI发来的数据
-
-#pragma anon_unions
-typedef struct STRUCT_USART_Fram //数据帧结构体
-{
- uint8_t Data_RX_BUF[RX_BUF_MAX_LEN];
+ char Data_RX_BUF[RX_BUF_MAX_LEN];
union
{
__IO uint16_t InfAll;
@@ -91,17 +67,15 @@ typedef struct STRUCT_USART_Fram //
__IO uint16_t FramFinishFlag :1; // 15
}InfBit;
};
- wifi_data_arrvied wifi_data_recv_cb;
-}STRUCT_USART_Fram_t;
-extern STRUCT_USART_Fram_t ESP8266_Fram_Record_Struct;
+}ESP8266_Fram_Record_Struct;
+
//初始化和TCP功能函数
void ESP8266_Init(uint32_t bound);
-void ESP8266_AT_Test(void);
void ESP8266_ATE0(void);
bool ESP8266_Send_AT_Cmd(char *cmd,char *ack1,char *ack2,uint32_t time);
-char ESP8266_Rst(void);
+void ESP8266_Rst(void);
bool ESP8266_Net_Mode_Choose(ENUM_Net_ModeTypeDef enumMode);
bool ESP8266_JoinAP( char * pSSID, char * pPassWord );
bool ESP8266_Enable_MultipleId ( FunctionalState enumEnUnvarnishTx );
@@ -110,8 +84,15 @@ bool ESP8266_SendString(FunctionalState enumEnUnvarnishTx, char * pStr, uint32_t
bool ESP8266_UnvarnishSend ( void );
void ESP8266_ExitUnvarnishSend ( void );
uint8_t ESP8266_Get_LinkStatus ( void );
-void hal_AT_printf( char * Data, ... );
-char WiFi_Connect_IoTServer(void);
+void USART_printf( char * Data, ... );
+
+//MQTT功能函数
+bool ESP8266_MQTTUSERCFG( char * pClient_Id, char * pUserName,char * PassWord);
+bool ESP8266_MQTTCONN( char * Ip, int Num);
+bool ESP8266_MQTTSUB(char * Topic);
+bool ESP8266_MQTTPUB( char * Topic,char *temp);
+bool ESP8266_MQTTCLEAN(void);
+bool MQTT_SendString(char * pTopic,char *temp2);
#endif
diff --git a/firmware/stm32/smart_dormitory/User/xiaoyi_wifi/mqtt.c b/firmware/stm32/smart_dormitory/User/xiaoyi_wifi/mqtt.c
index b4025c99..1cc303a4 100644
--- a/firmware/stm32/smart_dormitory/User/xiaoyi_wifi/mqtt.c
+++ b/firmware/stm32/smart_dormitory/User/xiaoyi_wifi/mqtt.c
@@ -1,340 +1,37 @@
#include "mqtt.h"
-#include "usart.h"
-char str[] = "{\"deviceNum\": \"E8DB84933089\",\"relayStatus\": 0,\"lightStatus\": 0,\"isOnline\": 1,\"rssi\": -54,\"deviceTemperature\": 38}";
-
-static int mqtt_send(uint8_t head, uint32_t vlen, uint8_t *vhead,
- uint32_t pay_len, uint8_t *payload)
+void ESP8266_STA_MQTTClient_Init(void)
{
- int32_t tmp_encode, tmp_x;
- uint32_t i = 0;
- uint8_t msg[RX_BUF_MAX_LEN];
- msg[i++] = head;
-
- tmp_x = vlen + pay_len;
- do {
- tmp_encode = tmp_x % 128;
- tmp_x = tmp_x / 128;
- if (tmp_x > 0) {
- tmp_encode = tmp_encode | 128;
- }
- msg[i++] = tmp_encode;
- } while (tmp_x > 0);
-
- if (vlen != 0) {
- memcpy(&msg[i], vhead, vlen);
- i = i + vlen;
- }
- if (pay_len != 0) {
- memcpy(&msg[i], payload, pay_len);
- i = i + pay_len;
- }
- ESP8266_Fram_Record_Struct.InfBit.FramFinishFlag = 0;
- ESP8266_Fram_Record_Struct.InfBit.FramLength = 0;
- HAL_UART_Transmit(&huart3, msg, i, 0xFFFF);
-
- return 0;
-}
-
-static int mqtt_str_fill(uint8_t *outbuff, char *instr)
-{
- uint8_t *p_tmp;
- p_tmp = &outbuff[2];
- outbuff[0] = strlen(instr) / 256;
- outbuff[1] = strlen(instr) % 256;
- strcpy((char*) p_tmp, (char*) instr);
- return 0;
-}
-
-static int mqtt_recv(uint8_t *ackbuff, uint16_t *ack_len, int timeout)
-{
- do {
- if(1 == ESP8266_Fram_Record_Struct.InfBit.FramFinishFlag)
- {
- memcpy(ackbuff, ESP8266_Fram_Record_Struct.Data_RX_BUF, ESP8266_Fram_Record_Struct.InfBit.FramLength);
- *ack_len = ESP8266_Fram_Record_Struct.InfBit.FramLength;
- ESP8266_Fram_Record_Struct.InfBit.FramFinishFlag = 0;
- return 0;
- }
-
- if (timeout > 0) {
- HAL_Delay(100);
- } else {
- return -1;
- }
- } while (timeout--);
- return -1;
-}
-
-static int mqtt_ack_check(uint8_t head, int timeout, uint16_t msg_id)
-{
- uint8_t recv_head;
- uint8_t recv_buff[RX_BUF_MAX_LEN];
- uint16_t recv_len;
-
- if (mqtt_recv(recv_buff, &recv_len, timeout) != 0) {
- return -1;
- }
- recv_head = recv_buff[0];
-
- if ((head & recv_head) != head) {
- return -1;
- }
- switch (recv_head & 0xF0) {
- case MQTT_CONNACK:
- return 0;
- case MQTT_PUBACK:
- return 0;
- case MQTT_SUBACK:
- return 0;
- case MQTT_PINGRESP:
- return 0;
- default:
- return -1;
- }
- return -1;
-}
-
-/*-------------------------------------------------*/
-/*函数名:连接TCP服务器 */
-/*参 数:timeout: 超时时间(100ms的倍数) */
-/*返回值:True:正确 False:错误 */
-/*-------------------------------------------------*/
-char mqtt_tcp_connect(int timeout)
-{
- char cCmd [120];
+ char str[] = "{\"deviceNum\":\"863488052352477\"\,\"relayStatus\":0\,\
+ \"lightStatus\":0\,\"isOnline\":1\,\"rssi\":-54\,\"deviceTemperature\":40\,\"airTemperature\":0\,\
+ \"airHumidity\":0\,\"triggerSource\":0\,\"brightness\":11\,\"lightInterval\":432\,\
+ \"lightMode\":0\,\"fadeTime\":259\,\"red\":255\,\"green\":0\,\"blue\":0}";
- sprintf (cCmd, "AT+CIPSTART=\"TCP\",\"%s\",%d\r\n", User_MQTTServer_IP, User_MQTTServer_PORT);
+ printf("正在配置ESP8266参数\r\n");
+ ESP8266_ATE0();//取消回显
+ ESP8266_Net_Mode_Choose(STA);
+ while(!ESP8266_JoinAP(WIFI_SSID, WIFI_PWD));
- return ESP8266_Send_AT_Cmd ( cCmd, "OK", "WIFI GOT IP", timeout);
-}
+ // 配置用户参数
+ ESP8266_MQTTUSERCFG(WIFI_client_id,WIFI_username,WIFI_password);
+ delay_ms(200);
+ // 连接MQTT服务器
+ ESP8266_MQTTCONN( WIFI_MQTTServer_IP, WIFI_MQTTServer_PORT);
+ // 订阅主题
+ ESP8266_MQTTSUB( WIFI_MQTTServer_Topic_SUB);
+ printf("\r\nMQTT配置完成");
+
+ delay_ms(200);
-static int mqtt_connect(char *name, char *pwd, char *client_id)
-{
- uint32_t i, j;
- uint8_t vhead[512];
- uint8_t payload[512];
- uint8_t connec_flag = 0;
- uint8_t head;
- uint16_t keep_alive = 60;
-
- i = 0;
- vhead[i++] = 0;
- vhead[i++] = 4;
- vhead[i++] = 'M';
- vhead[i++] = 'Q';
- vhead[i++] = 'T';
- vhead[i++] = 'T';
- vhead[i++] = 4;
-
- if (name != NULL) {
- connec_flag = connec_flag | CONNECT_FLAG_NAME;
- }
- if (pwd != NULL) {
- connec_flag = connec_flag | CONNECT_FLAG_PWD;
- }
- vhead[i++] = connec_flag;
- vhead[i++] = keep_alive / 256;
- vhead[i++] = keep_alive % 256;
-
- j = 0;
- mqtt_str_fill(&payload[j], client_id);
- j = j + strlen(client_id) + 2;
- mqtt_str_fill(&payload[j], name);
- j = j + strlen(name) + 2;
- mqtt_str_fill(&payload[j], pwd);
- j = j + strlen(pwd) + 2;
-
- head = MQTT_CONNECT;
-
- mqtt_send(head, i, vhead, j, payload);
- if (mqtt_ack_check(MQTT_CONNACK, 100, 0) != 0) {
- return -1;
- }
- return 0;
-}
-
-static int mqtt_disconnect(void)
-{
- uint8_t head;
- head = MQTT_DISCONNECT;
- mqtt_send(head, 0, NULL, 0, NULL);
-}
-static int mqtt_publish(char *topic, uint8_t *msg, uint16_t msg_len,
- uint16_t msg_id)
-{
- uint32_t i, j;
- uint8_t vhead[512];
- uint8_t head;
- uint8_t payload[512];
-
- head = 0;
- head = head | MQTT_PUBLISH;
- head = head | PUBLISH_FLAG_RETN;
- head = head | PUBLISH_FLAG_QOS1;
-
- i = 0;
- mqtt_str_fill(&vhead[i], topic);
- i = i + strlen(topic) + 2;
- vhead[i++] = msg_id >> 8;
- vhead[i++] = msg_id;
-
- j = 0;
- memcpy(payload, msg, msg_len);
- j = j + msg_len;
-
- mqtt_send(head, i, vhead, j, payload);
-
- if (mqtt_ack_check(MQTT_PUBACK, 100, msg_id) != 0) {
- return -1;
- }
- return 0;
-}
-
-static int mqtt_publish_ack(uint16_t msg_id)
-{
- uint32_t i, j;
- uint8_t vhead[512];
- uint8_t head;
- uint8_t payload[512];
- head = MQTT_PUBACK;
- i = 0;
- vhead[i++] = msg_id >> 8;
- vhead[i++] = msg_id;
- j = 0;
- mqtt_send(head, i, vhead, j, payload);
- return 0;
-}
-
-static int mqtt_subscriber(char *topic, uint16_t msg_id)
-{
- uint32_t i, j;
- uint8_t vhead[512];
- uint8_t payload[512];
- uint8_t head;
- head = MQTT_SUBSCRIBE;
- head = head | 0x02;
- i = 0;
- vhead[i++] = msg_id >> 8;
- vhead[i++] = msg_id;
-
- j = 0;
- mqtt_str_fill(&payload[j], topic);
- j = j + strlen(topic) + 2;
- payload[j++] = 1;
- mqtt_send(head, i, vhead, j, payload);
- if (mqtt_ack_check(MQTT_SUBACK, 100, msg_id) != 0) {
- return -1;
- }
- return 0;
-}
-
-static int mqtt_publish_from_cloud(uint8_t *ackbuff, uint16_t ack_len)
-{
- uint32_t i = 0;
- uint16_t multiplier = 1;
- uint32_t remain_len = 0;
- uint32_t vhead_len;
- uint32_t payload_len;
- uint8_t byte;
- uint8_t payload[512];
- uint16_t msg_id;
- uint8_t topic[256];
- i = 1;
-
- memset(topic, 0, 256);
- memset(payload, 0, 256);
- do {
- byte = ackbuff[i++];
- remain_len += (byte & 0x7F) * multiplier;
- multiplier *= 128;
- if (multiplier > 128 * 128 * 128) {
- return -1;
- }
- } while ((byte & 0x80) != 0);
- vhead_len = ackbuff[i++];
- vhead_len = (vhead_len * 256) + ackbuff[i++];
- memcpy(topic, &ackbuff[i], vhead_len);
-
- i = i + vhead_len;
- msg_id = ackbuff[i++];
- msg_id = (msg_id * 256) + ackbuff[i++];
-
- payload_len = remain_len - vhead_len - 4;
-
- memcpy(payload, &ackbuff[i], payload_len);
- if (strcmp((char*) topic, User_MQTTServer_Topic_SUB) == 0) {
- // sensor_data_set(payload);
- ;
- }
- mqtt_publish_ack(msg_id);
- return 0;
-}
-
-uint16_t msg_id = 1;
-
-int mqtt_beat(void)
-{
- uint8_t head = MQTT_PINGREQ;
- uint8_t vhead[5];
- uint8_t payload[5];
- uint32_t i = 0, j = 0;
- mqtt_send(head, i, vhead, j, payload);
- if (mqtt_ack_check(MQTT_PINGRESP, 100, 0) != 0) {
- if (mqtt_connect(User_Username, User_Password, User_Client_ID) != 0) {
- return -1;
- }else{
- return 0;
- }
- }
- return 0;
-}
-
-int mqtt_handle(void)
-{
- uint8_t recv_head;
- uint8_t recv_buff[RX_BUF_MAX_LEN];
- uint16_t recv_len;
-
- if (mqtt_recv(recv_buff, &recv_len, 0) != 0) {
- return -1;
- }
- recv_head = recv_buff[0];
-
- switch (recv_head & 0xF0) {
- case MQTT_PUBLISH:
- return mqtt_publish_from_cloud(recv_buff, recv_len);
- default:
- return -1;
- }
- return -1;
-}
-
-int mqtt_publish_update(uint8_t *msg, uint16_t msg_len)
-{
- if (mqtt_publish(User_MQTTServer_Topic_PUB, msg, msg_len, msg_id++) != 0) {
- return -1;
- }
- return 0;
-}
-
-int mqtt_init(void)
-{
- if (mqtt_connect(User_Username, User_Password, User_Client_ID) != 0) {
- printf("MQTT handshake error\r\n");
- return -1;
+ //发送数据到MQTT服务器
+ if (MQTT_SendString (WIFI_MQTTServer_Topic_PUB, str))
+ {
+ printf("send data to mqtt server success\r\n");
}else
{
- printf("MQTT handshake success\r\n");
+ printf("send data to mqtt server error\r\n");
+ printf(": %s\r\n", str);
}
-
- if (mqtt_subscriber(User_MQTTServer_Topic_SUB, msg_id++) != 0) {
- printf("subscribe error\r\n");
- return -1;
- }else
- {
- printf("subscribe success\r\n");
- }
- return 0;
+
}
diff --git a/firmware/stm32/smart_dormitory/User/xiaoyi_wifi/mqtt.h b/firmware/stm32/smart_dormitory/User/xiaoyi_wifi/mqtt.h
index 9ba15965..ddcff045 100644
--- a/firmware/stm32/smart_dormitory/User/xiaoyi_wifi/mqtt.h
+++ b/firmware/stm32/smart_dormitory/User/xiaoyi_wifi/mqtt.h
@@ -1,57 +1,26 @@
-#ifndef __MQTT_H__
-#define __MQTT_H __
+#ifndef __MQTT_H
+#define __MQTT_H
#include "main.h"
#include "esp8266.h"
-#define User_Client_ID "50fccfefb50a48b98a93ce27bb04592f" //MQTTclientID 用于标志client身份 最长256字节
-#define User_Username "admin" //用于登录 MQTT 服务器 的 username, 最长 64 字节
-#define User_Password "admin123" //用于登录 MQTT 服务器 的 password, 最长 64 字节
-#define User_MQTTServer_IP "106.12.9.213" //MQTT本地服务器IP
-#define User_MQTTServer_PORT 1883 //服务器端口号
-#define User_MQTTServer_Topic_PUB "status" //发布MQTT主题
-#define User_MQTTServer_Topic_SUB "status/set/E8DB84933088" //订阅MQTT主题
+/*
+*以下参数需要用户自行修改才能测试用过
+*/
-typedef enum {
- MQTT_NULL = 0,
- MQTT_CONNECT = 1 << 4,
- MQTT_CONNACK = 2 << 4,
- MQTT_PUBLISH = 3 << 4,
- MQTT_PUBACK = 4 << 4,
- MQTT_PUBREC = 5 << 4,
- MQTT_PUBREL = 6 << 4,
- MQTT_PUBCOMP = 7 << 4,
- MQTT_SUBSCRIBE = 8 << 4,
- MQTT_SUBACK = 9 << 4,
- MQTT_UNSUBSCRIBE= 10 << 4,
- MQTT_UNSUBACK = 11 << 4,
- MQTT_PINGREQ = 12 << 4,
- MQTT_PINGRESP = 13 << 4,
- MQTT_DISCONNECT = 14 << 4,
-}MQTT_HEAD_T;
-typedef enum{
- CONNECT_FLAG = 0,
- CONNECT_FLAG_NAME = 1 << 7,
- CONNECT_FLAG_PWD = 1 << 6,
- CONNECT_FLAG_RETAIN = 1 << 5,
- CONNECT_FLAG_QOS = 1 << 4,
- CONNECT_FLAG_FLAG = 1 << 2,
- CONNECT_FLAG_CLS = 1 << 1,
-}CONNECT_T;
+#define WIFI_SSID "DianJing" //wifi名
+#define WIFI_PWD "wzry6666" //wifi密码
-typedef enum{
- PUBLISH_FLAG_RETN = 1,
- PUBLISH_FLAG_QOS0 = 0,
- PUBLISH_FLAG_QOS1 = 1 << 1,
- PUBLISH_FLAG_QOS2 = 1 << 2,
- PUBLISH_FLAG_DUP = 1 << 3,
-}PUBLISH_FLAG_T;
+#define WIFI_client_id "50fccfefb50a48b98a93ce27bb04591f" //MQTTclientID 用于标志client身份 最长256字节
+#define WIFI_username "admin" //用于登录 MQTT 服务器 的 username, 最长 64 字节
+#define WIFI_password "admin13" //用于登录 MQTT 服务器 的 password, 最长 64 字节
+#define WIFI_MQTTServer_IP "106.12.9.213" //MQTT本地服务器IP
+#define WIFI_MQTTServer_PORT 1883 //服务器端口号
+#define WIFI_MQTTServer_Topic_PUB "status" //发布MQTT主题
+#define WIFI_MQTTServer_Topic_SUB "status/set/863488052352477" //订阅MQTT主题
-int mqtt_init(void);
-int mqtt_handle(void);
-int mqtt_beat(void);
-int mqtt_publish_update(uint8_t *msg, uint16_t msg_len);
-#endif /* __MQTT_H */
+void ESP8266_STA_MQTTClient_Init(void);
+#endif
diff --git a/firmware/stm32/smart_dormitory/User/xiaoyi_wifi/tcp.c b/firmware/stm32/smart_dormitory/User/xiaoyi_wifi/tcp.c
new file mode 100644
index 00000000..429a4b94
--- /dev/null
+++ b/firmware/stm32/smart_dormitory/User/xiaoyi_wifi/tcp.c
@@ -0,0 +1,42 @@
+#include "tcp.h"
+
+volatile uint8_t TcpClosedFlag = 0;
+
+void ESP8266_STA_TCPClient_Test(void)
+{
+ uint8_t res;
+
+ char str[100]={0};
+ ESP8266_ATE0();
+ printf("正在配置ESP8266\r\n");
+ ESP8266_Net_Mode_Choose(STA);
+ while(!ESP8266_JoinAP(User_ESP8266_SSID, User_ESP8266_PWD));
+ ESP8266_Enable_MultipleId ( DISABLE );
+ while(!ESP8266_Link_Server(enumTCP, User_ESP8266_TCPServer_IP, User_ESP8266_TCPServer_PORT, Single_ID_0));
+ while(!ESP8266_UnvarnishSend());
+ printf("\r\n配置完成");
+ while ( 1 )
+ {
+ sprintf (str,"深圳市安信可科技有限公司" );//格式化发送字符串到TCP服务器
+ ESP8266_SendString ( ENABLE, str, 0, Single_ID_0 );
+ delay_ms(1000);
+ if(TcpClosedFlag) //判断是否失去连接
+ {
+ ESP8266_ExitUnvarnishSend(); //退出透传模式
+ do
+ {
+ res = ESP8266_Get_LinkStatus(); //获取连接状态
+ }
+ while(!res);
+
+ if(res == 4) //确认失去连接,重连
+ {
+
+
+ while (!ESP8266_JoinAP(User_ESP8266_SSID, User_ESP8266_PWD ) );
+ while (!ESP8266_Link_Server(enumTCP, User_ESP8266_TCPServer_IP, User_ESP8266_TCPServer_PORT, Single_ID_0 ) );
+ }
+ while(!ESP8266_UnvarnishSend());
+ }
+ }
+}
diff --git a/firmware/stm32/smart_dormitory/User/xiaoyi_wifi/tcp.h b/firmware/stm32/smart_dormitory/User/xiaoyi_wifi/tcp.h
new file mode 100644
index 00000000..828d0606
--- /dev/null
+++ b/firmware/stm32/smart_dormitory/User/xiaoyi_wifi/tcp.h
@@ -0,0 +1,22 @@
+#ifndef __TCP_H
+#define __TCP_H
+
+#include "main.h"
+#include "esp8266.h"
+
+/*
+*以下参数需要用户自行修改才能测试用过
+*/
+
+#define User_ESP8266_SSID "miot_default" //wifi名
+#define User_ESP8266_PWD "123456789x" //wifi密码
+
+#define User_ESP8266_TCPServer_IP "192.168.31.16" //服务器IP
+#define User_ESP8266_TCPServer_PORT "8888" //服务器端口号
+
+
+extern volatile uint8_t TcpClosedFlag; //连接状态标志
+
+void ESP8266_STA_TCPClient_Test(void);
+
+#endif