# GD32_OTA **Repository Path**: OceanDylan/gd32_ota ## Basic Information - **Project Name**: GD32_OTA - **Description**: GD32重新学习OTA - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-03-23 - **Last Updated**: 2026-03-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GD32 OTA 项目 这是一个基于 GD32H757 的 OTA 工程仓库。 ## 目录说明 - `APP/` App 侧 OTA 下载链路。 - `Bootloader/` Boot 侧 OTA 执行链路。 - `Docs/` 项目文档与跨模块契约。 ## 当前 OTA 架构 1. App 通过 UART DMA + Ymodem 接收 OTA 升级包。 2. OTA 升级包写入外部 W25 Flash。 3. App 侧写入持久化 `OTA_META`。 4. Bootloader 上电后读取 `OTA_META`。 5. Bootloader 根据 metadata 判断执行跳转 A、处理 OTA、回退或进入 failsafe。 6. 升级过程中,Bootloader 负责将 A 区备份到 B 区、将新镜像写入 A 区并进行校验。 ## 当前工程约定 - 内部 Flash 中的 `OTA_META` 是正式持久化状态源。 - RTC BKP 不再作为正式 OTA 状态源。 - OTA 包格式以 `Docs/OTA_APP_BOOT_CONTRACT.md` 为准。 - `main.c` 保持最小启动入口,OTA 流程 owner 归 `Boot_Manager`。 ## 说明 当前仓库以 Keil MDK 工程为主,包含 App 与 Bootloader 两侧工程。 构建产物、本地 IDE 状态以及中间文件通过 `.gitignore` 排除。