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