From 713d6ecca9c31e846e0e63ad9ca06e63f0df72dc Mon Sep 17 00:00:00 2001 From: helei Date: Sun, 9 Aug 2026 11:43:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20After=20Build=20=E5=A4=8D?= =?UTF-8?q?=E5=90=88=E5=91=BD=E4=BB=A4=E5=BC=95=E5=8F=B7=E5=B5=8C=E5=A5=97?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=20bin=20=E5=8F=AF=E8=83=BD=E4=B8=8D=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=EF=BC=9A=E6=8B=86=E6=88=90=E4=B8=A4=E6=9D=A1=E7=8B=AC?= =?UTF-8?q?=E7=AB=8B=E7=94=A8=E6=88=B7=E5=91=BD=E4=BB=A4=EF=BC=88=E5=BB=BA?= =?UTF-8?q?=E7=9B=AE=E5=BD=95+fromelf=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- V1.1/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx | 10 +++++----- V1.2/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx | 10 +++++----- V1.3/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx | 10 +++++----- V1.4-Chinese/STM32F103_App1/HardWare/CAR/air780e.h | 2 +- .../STM32F103_App1/HardWare/SYSINIT/app_loop.c | 2 +- .../STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx | 10 +++++----- V1.4-Chinese/STM32F103_App1/Src/stm32f1xx_it.c | 12 +++++++++--- V1.4/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx | 10 +++++----- 8 files changed, 36 insertions(+), 30 deletions(-) diff --git a/V1.1/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx b/V1.1/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx index 45c033a..3785620 100644 --- a/V1.1/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx +++ b/V1.1/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx @@ -59,7 +59,7 @@ 0 0 - 0 + 1 0 @@ -69,7 +69,7 @@ 0 - 0 + 1 0 @@ -79,9 +79,9 @@ 1 - 0 - cmd /c "if not exist ..\OutputBin mkdir ..\OutputBin" & C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin --output ..\OutputBin\STM32F103rb_App1.bin ..\Object\STM32F103rb_App1.axf - + 1 + cmd /c if not exist ..\OutputBin mkdir ..\OutputBin + C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin --output ..\OutputBin\STM32F103rb_App1.bin ..\Object\STM32F103rb_App1.axf 0 0 0 diff --git a/V1.2/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx b/V1.2/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx index 8390c05..adc3e45 100644 --- a/V1.2/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx +++ b/V1.2/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx @@ -59,7 +59,7 @@ 0 0 - 0 + 1 0 @@ -69,7 +69,7 @@ 0 - 0 + 1 0 @@ -79,9 +79,9 @@ 1 - 0 - cmd /c "if not exist ..\OutputBin mkdir ..\OutputBin" & C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin --output ..\OutputBin\STM32F103rb_App1.bin ..\Object\STM32F103rb_App1.axf - + 1 + cmd /c if not exist ..\OutputBin mkdir ..\OutputBin + C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin --output ..\OutputBin\STM32F103rb_App1.bin ..\Object\STM32F103rb_App1.axf 0 0 0 diff --git a/V1.3/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx b/V1.3/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx index 7762665..b69c343 100644 --- a/V1.3/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx +++ b/V1.3/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx @@ -59,7 +59,7 @@ 0 0 - 0 + 1 0 @@ -69,7 +69,7 @@ 0 - 0 + 1 0 @@ -79,9 +79,9 @@ 1 - 0 - cmd /c "if not exist ..\OutputBin mkdir ..\OutputBin" & C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin --output ..\OutputBin\STM32F103rb_App1.bin ..\Object\STM32F103rb_App1.axf - + 1 + cmd /c if not exist ..\OutputBin mkdir ..\OutputBin + C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin --output ..\OutputBin\STM32F103rb_App1.bin ..\Object\STM32F103rb_App1.axf 0 0 0 diff --git a/V1.4-Chinese/STM32F103_App1/HardWare/CAR/air780e.h b/V1.4-Chinese/STM32F103_App1/HardWare/CAR/air780e.h index 2a2c88b..96b681b 100644 --- a/V1.4-Chinese/STM32F103_App1/HardWare/CAR/air780e.h +++ b/V1.4-Chinese/STM32F103_App1/HardWare/CAR/air780e.h @@ -26,7 +26,7 @@ typedef struct { /* 默认 MQTT 参数已迁移到 main.h 的 MQTT_xxx 宏,避免多处维护不一致 */ /*===== U2_CopyBuff =====*/ -#define U2_COPY_SIZE 20480 +#define U2_COPY_SIZE 10240 extern uint8_t U2_CopyBuff[U2_COPY_SIZE]; extern volatile uint16_t U2_CopyIndex; extern volatile uint8_t U2_CopyFlag; diff --git a/V1.4-Chinese/STM32F103_App1/HardWare/SYSINIT/app_loop.c b/V1.4-Chinese/STM32F103_App1/HardWare/SYSINIT/app_loop.c index f80112b..df41827 100644 --- a/V1.4-Chinese/STM32F103_App1/HardWare/SYSINIT/app_loop.c +++ b/V1.4-Chinese/STM32F103_App1/HardWare/SYSINIT/app_loop.c @@ -59,7 +59,7 @@ void app_init(void) { log_info(""); log_info("* * * * * * * * * * * * * * * * * *"); - log_info("* 版本: 1.4.0 (RTOS) *"); + log_info("* 版本: 1.4.1 (RTOS) *"); log_info("* * * * * * * By Helei * * * *"); /* EEPROM 中的 MQTT/版本配置 */ diff --git a/V1.4-Chinese/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx b/V1.4-Chinese/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx index 9d2f983..a47fd85 100644 --- a/V1.4-Chinese/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx +++ b/V1.4-Chinese/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx @@ -59,7 +59,7 @@ 0 0 - 0 + 1 0 @@ -69,7 +69,7 @@ 0 - 0 + 1 0 @@ -79,9 +79,9 @@ 1 - 0 - cmd /c "if not exist ..\OutputBin mkdir ..\OutputBin" & C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin --output ..\OutputBin\STM32F103rb_App1.bin ..\Object\STM32F103rb_App1.axf - + 1 + cmd /c if not exist ..\OutputBin mkdir ..\OutputBin + C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin --output ..\OutputBin\STM32F103rb_App1.bin ..\Object\STM32F103rb_App1.axf 0 0 0 diff --git a/V1.4-Chinese/STM32F103_App1/Src/stm32f1xx_it.c b/V1.4-Chinese/STM32F103_App1/Src/stm32f1xx_it.c index 03e8271..1ea9e4b 100644 --- a/V1.4-Chinese/STM32F103_App1/Src/stm32f1xx_it.c +++ b/V1.4-Chinese/STM32F103_App1/Src/stm32f1xx_it.c @@ -88,9 +88,15 @@ void NMI_Handler(void) */ void HardFault_Handler(void) { - /* USER CODE BEGIN HardFault_IRQn 0 */ - - /* USER CODE END HardFault_IRQn 0 */ + /* 硬件错误兜底:用轮询方式往 USART1 打一条消息(中断已不可靠), + * 之后停在这里由 IWDG 复位。串口看到 "HARD FAULT" 即说明发生过硬错误 */ + { + static const char msg[] = "\r\n!!! HARD FAULT, wait IWDG reset !!!\r\n"; + for (unsigned i = 0; i < sizeof(msg) - 1; i++) { + while ((USART1->SR & USART_SR_TXE) == 0) { } + USART1->DR = msg[i]; + } + } while (1) { /* USER CODE BEGIN W1_HardFault_IRQn 0 */ diff --git a/V1.4/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx b/V1.4/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx index 16627d2..da6347c 100644 --- a/V1.4/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx +++ b/V1.4/STM32F103_App1/MDK-ARM/STM32F103rb_App1.uvprojx @@ -59,7 +59,7 @@ 0 0 - 0 + 1 0 @@ -69,7 +69,7 @@ 0 - 0 + 1 0 @@ -79,9 +79,9 @@ 1 - 0 - cmd /c "if not exist ..\OutputBin mkdir ..\OutputBin" & C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin --output ..\OutputBin\STM32F103rb_App1.bin ..\Object\STM32F103rb_App1.axf - + 1 + cmd /c if not exist ..\OutputBin mkdir ..\OutputBin + C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin --output ..\OutputBin\STM32F103rb_App1.bin ..\Object\STM32F103rb_App1.axf 0 0 0