From 567085ead3f6adaabd884f16ab4b17c62e8f0403 Mon Sep 17 00:00:00 2001
From: yincheng.zhong <634916154@qq.com>
Date: 星期日, 21 十二月 2025 22:28:09 +0800
Subject: [PATCH] OTA升级功能调通,准备增加boot的代码
---
STM32H743/HAL/MCUFlash.c | 34 ++++++++++++++++++++++------------
1 files changed, 22 insertions(+), 12 deletions(-)
diff --git a/STM32H743/HAL/MCUFlash.c b/STM32H743/HAL/MCUFlash.c
index 834f679..14fab11 100644
--- a/STM32H743/HAL/MCUFlash.c
+++ b/STM32H743/HAL/MCUFlash.c
@@ -124,25 +124,23 @@
}
else
{
-#if 0
- /* Bank 2 锟斤拷锟斤拷 8-15 */
+ /* Bank 2 鎵囧尯 0-7 (瀹為檯缂栧彿8-15锛屼絾HAL搴撲娇鐢�0-7) */
if (address <= FLASH_SECTOR8_END)
- return FLASH_SECTOR_8;
+ return FLASH_SECTOR_0;
else if (address <= FLASH_SECTOR9_END)
- return FLASH_SECTOR_9;
+ return FLASH_SECTOR_1;
else if (address <= FLASH_SECTOR10_END)
- return FLASH_SECTOR_10;
+ return FLASH_SECTOR_2;
else if (address <= FLASH_SECTOR11_END)
- return FLASH_SECTOR_11;
+ return FLASH_SECTOR_3;
else if (address <= FLASH_SECTOR12_END)
- return FLASH_SECTOR_12;
+ return FLASH_SECTOR_4;
else if (address <= FLASH_SECTOR13_END)
- return FLASH_SECTOR_13;
+ return FLASH_SECTOR_5;
else if (address <= FLASH_SECTOR14_END)
- return FLASH_SECTOR_14;
+ return FLASH_SECTOR_6;
else if (address <= FLASH_SECTOR15_END)
- return FLASH_SECTOR_15;
-#endif
+ return FLASH_SECTOR_7;
}
return 0xFFFFFFFF;
@@ -315,8 +313,20 @@
/* 宸叉摝闄ゆ牎楠岋細褰撳墠 Flash 涓 32 瀛楄妭蹇呴』鍏ㄤ负 0xFF */
for (HIDO_UINT32 i = 0; i < MCU_FLASH_WORD_BYTES; i++)
{
- if (*(volatile HIDO_UINT8 *)(addr + i) != 0xFF)
+ HIDO_UINT8 byteVal = *(volatile HIDO_UINT8 *)(addr + i);
+ if (byteVal != 0xFF)
{
+ /* 鎵撳嵃璇︾粏鐨勬摝闄ゆ鏌ュけ璐ヤ俊鎭� */
+ HIDO_Debug("[MCUFlash] Write failed: Address 0x%08X+%d not erased (value=0x%02X, expected=0xFF)\r\n",
+ addr, i, byteVal);
+ /* 鎵撳嵃鍛ㄥ洿8瀛楄妭鐨勫唴瀹� */
+ HIDO_UINT32 dumpStart = (i >= 4) ? (i - 4) : 0;
+ HIDO_Debug("[MCUFlash] Context[%d-%d]: ", dumpStart, dumpStart + 7);
+ for (HIDO_UINT32 j = dumpStart; j < dumpStart + 8 && j < MCU_FLASH_WORD_BYTES; j++)
+ {
+ HIDO_Debug("%02X ", *(volatile HIDO_UINT8 *)(addr + j));
+ }
+ HIDO_Debug("\r\n");
return HIDO_ERR; /* 鏈摝闄ゆ垨鑴忔暟鎹紝闇�鍏堣皟鐢� MCUFlash_Erase */
}
}
--
Gitblit v1.10.0