diff --git a/AGENTS.md b/AGENTS.md index 5ebbbb7..0a96765 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -641,6 +641,22 @@ the multiboot menu reads firmware slots rather than apps. **The answer was writt the flasher's own translation file**, not in the firmware source I had been reading -- so when a feature's entry point is missing, the host tool that installs it is the document. +**"Init ... DO NOT POWER OFF" that never ends is a pending multiboot state marker.** Measured +on a real image: `0x100000` held `FMP3` next to a committed slot 0, so the factory bootloader +reflashed the internal flash from that slot on every power-on and reset again -- a restore loop. +The firmware's own banner reappeared once a cycle in the serial log (7 -> 8 in 25 s) while the +screen never changed. Clearing the two marker sectors (`0x100000..0x101FFF`, which stops just +before the app region at `0x102000`, so installed apps are untouched) ended it: the banner count +stopped rising and the radio booted once and stayed. + +That loop explained a second surprise: edits made through the page vanished. The emulator writes +its in-memory image back when it exits, and the looping guest's copy was older than the file, so +powering it off overwrote what had just been installed. With the loop gone the same installs +survive a power cycle -- verified by installing, powering off, seeing them still listed, powering +on, seeing them still listed, and having the radio answer `0x0730` with all three. **A stale +write-back is worth suspecting whenever an edit "does not stick"**, and a guest that is quietly +rebooting is exactly how one happens. + ## The keypad: two real bugs, both fixed The old note here said "keys reach the firmware but the UI does not react" and diff --git a/AGENTS.zh-CN.md b/AGENTS.zh-CN.md index e2d38fd..80cce8b 100644 --- a/AGENTS.zh-CN.md +++ b/AGENTS.zh-CN.md @@ -520,6 +520,17 @@ UVStudio 的 `locales/en.js` 原文是 "launch them from the F + 7 menu" —— app 区被读过 —— 而多系统菜单读的是**固件槽**,不是应用。**答案写在刷机工具自己的翻译文件里**, 不在我一直在读的固件源码里 —— 所以当一个功能的入口找不到时,**安装它的那个主机工具就是文档**。 +**永远停不下来的 "Init ... DO NOT POWER OFF" 是一个待执行的多系统状态标记。** 在真实镜像上量到: +`0x100000` 里是 `FMP3`,而槽 0 已提交 —— 于是出厂引导**每次开机都从槽 0 重刷内部 flash 再重启**, +成了恢复循环。串口日志里固件横幅**每个周期出现一次**(25 秒里 7 → 8),而屏幕一直不动。清掉那两个 +标记扇区(`0x100000..0x101FFF`,正好停在应用区 `0x102000` 之前,所以**已安装的应用不受影响**) +之后循环结束:横幅数不再增长,电台启动一次就稳定了。 + +这个循环还解释了第二件怪事:**通过页面装的东西会消失**。模拟器退出时会把内存里的镜像写回文件, +而循环中的客人手里那份比文件更旧,于是"断电"这一下就把刚装进去的覆盖掉了。循环消失后,同一批安装 +**扛得住断电重上电** —— 实测:装上、断电仍在、上电仍在,并且电台用 `0x0730` 确认了三个都在。 +**每当"改了不生效",都值得怀疑一次过期的写回**,而一个在悄悄重启的客人正是它发生的典型方式。 + ## 键盘:两个真 bug,都已修复 这里原来的笔记写的是"按键到达了固件但界面不反应",并且归咎于机器模型。结果发现有**两个