fix(vd960DBN): 复位原因位定义错位修正 — RST_REASON=0x08000000=PORRSTF
现场: RST_REASON 打印 0x08000000, 对照 WCH ch32v20x.h 发现 offlog.h 位定义整体错位 (IWDG=bit31❌实为bit29, SFT=bit24❌实为bit28, POR=bit25❌实为bit27, LPWR=bit29❌实为bit31) 结论: 0x08000000=PORRSTF=上电/掉电复位 → 电源跌落方向 (SPI擦除电流脉冲?) 修正: - offlog.h 位定义对齐 WCH 库, 新增 OFFLOG_RST_RMVF=bit24 - peripheral_main.c RMVF 清除改 bit24 (原写 bit27=PORRSTF 只读位, 复位标志从未清除, 历史累积污染诊断) - 协议文档 boot 事件位解析同步 测试回归全过
This commit is contained in:
@@ -319,7 +319,7 @@ int main(void)
|
||||
{
|
||||
uint32_t rcc_rst = OFFLOG_RCC_RSTSCKR;
|
||||
offlog_boot(rcc_rst);
|
||||
OFFLOG_RCC_RSTSCKR |= (1UL << 27); /* RMVF: 清复位标志 */
|
||||
OFFLOG_RCC_RSTSCKR |= OFFLOG_RST_RMVF; /* RMVF (bit24): 清复位标志 (原写 bit27=PORRSTF 无效) */
|
||||
}
|
||||
|
||||
load_cfg_from_flash();
|
||||
|
||||
Reference in New Issue
Block a user