Project

General

Profile

issue #35

Updated by 靖 贺 3 months ago

## 本周日期范围 
 2026-08-02 ~ 2026-08-07 

 ## [已完成] 

 ### STM32 OTA / IAP 工程(stm_at_client_ota_demo) 

 - 完成了 TCP 长连接 + HTTP Range 下载验证通过:在子仓库 stm_ota / esp_at_client 中合并 feat/tcp-range-ota,打 tag v0.2.0 并分别推送到 Gitee + GitHub 
 - 切换 STM32 子仓库为本地 FetchContent + Gitee 镜像(与 stm_log/segger_rtt 一致),主仓并入 `build: use local OTA 下载链路的端到端验证 repositories` 
 - 完成了 加最小 Bootloader(stm_bootloader),App 重新定位到 0x08008000:FLASH 32K Bootloader 跳转 + 224K App 的启动链验证 + 256K OTA 暂存区 
 - 完成了最小 按 ST 官方 IAP 风格收敛 Bootloader 与 跳转实现:MSP 区间、Thumb 位、向量表边界检查 + 设置 VTOR/MSP 后跳 App 的分区和跳转实现 Reset_Handler,验证 Bootloader → App 启动链(RTT 输出 `Boot (FreeRTOS -> RTT). Heap=20072`) 
 - 整理了双固件烧录工具脚本 配套工具:tools/program_dual.jlink 双固件一次烧录(erase + load bootloader.elf + load app.elf + reset + go),避免只烧 Bootloader 后 SWD 断连 
 - 补全了工程说明文档 readme 补全:硬件接线、Flash 分区、手动构建、双固件烧录、VS Code 调试入口、OTA 测试配置、当前 OTA 边界(暂未实现镜像提交/搬运/校验) 
 - 完成了三个仓库的分支合并与发布版本管理 
 - 完成了 多仓库分支策略:主仓 + esp_at_client + stm_ota 三仓统一 master / dev,feat/bootloader-app-offset → dev → master,清理已合并的 feat 分支 

 ### ESP-AT 客户端通信链路的核对 通信 

 - 经 git 历史核对,ESP-AT 客户端连通链路此前已完成(提交 `ESP_AT_COMMS_VERBOSE_LOG`、删除 `cwstate_already_got_ip` 等)。当前板子(PA2/PA3 接 ESP32-C3 GPIO6/GPIO7)AT 探测仍失败的根因不在客户端代码,需后续结合硬件/固件版本继续排查 

 ## [工时总计] 

 - 嵌入式 OTA / IAP:约 28 h h(Bootloader 收敛、跳转验证、双烧脚本、文档、仓库分支与发布管理) 
 - ESP-AT 通信排查:约 2 h h(确认客户端代码已落地,定位当前故障在硬件侧) 

 ## [下周计划] 

 - 推进 实现 OTA 镜像从暂存区到 镜像提交与搬运:0x08040000 暂存区 → 0x08008000 App 区的提交与搬运 区,含整包 CRC / 失败回滚 
 - 完善镜像头校验与失败回滚机制 启动前增加镜像头(版本 + 长度)和签名校验 
 - 排查当前 解决当前 ESP-AT 在新板子上的探测失败问题 在 PA2/PA3 ↔ ESP32-C3 GPIO6/GPIO7 上的探测失败问题(核对 ESP32-C3 固件版本、GPIO 复用、串口电平) 
 - 完善 FreeRTOS 任务划分与日志通道,给 任务划分与 RTT 日志通道,给 OTA 流程补分阶段日志 流程加上分阶段日志与错误码

Back