# STM32H7_DEMO **Repository Path**: michaelhyg/stm32-h7_-demo ## Basic Information - **Project Name**: STM32H7_DEMO - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-31 - **Last Updated**: 2026-04-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: stm32 ## README # STM32H750-ETH Demo 这是一个基于 STM32H750 的以太网示例工程,当前已经接入基于 HTTP 的网页 OTA 升级能力。 ## 当前能力 - 上电后启动 LwIP,并在默认任务里启动 Web OTA 服务 - 访问设备 IP 的根路径 `/` 可打开升级页面 - 页面会显示当前固件版本号和当前活动 Bank - 上传 `.bin` 固件后,程序会写入逻辑 OTA 槽 `0x08100000` - 写入完成后会校验向量表、切换 Bank,并自动重启 ## 关键文件 - `User/web_ota/web_ota.c`:网页 OTA 服务、上传处理、Flash 写入和 Bank 切换 - `User/web_ota/web_ota.h`:Web OTA 对外接口 - `User/version/firmware_version.h`:当前固件版本号 - `Core/Src/freertos.c`:在网络初始化后启动 Web OTA 线程 - `STM32H750XX_FLASH.ld`:当前运行镜像链接到 1 MB 的活动槽 - `CMakeLists.txt`:构建后自动导出最新 `.bin` ## 构建方法 使用当前工程里的 CMake 配置直接构建: ```bash cmake --build build/Debug -j4 ``` 构建完成后会自动生成: - `build/Debug/STM32H750-ETH.elf` - `build/Debug/STM32H750-ETH.bin` ## OTA 使用方法 1. 板子联网后,浏览器打开设备 IP。 2. 在页面里确认当前版本号。 3. 选择新的 `.bin` 文件并上传。 4. 设备完成写入后会自动切换 Bank 并重启。 5. 重启后重新打开页面,确认版本号已经变化。 ## 版本管理 修改版本号请编辑: - `User/version/firmware_version.h` 当前仓库默认版本: - `v1.0.6` ## 测试固件保存 为方便后续回归测试,当前仓库额外保存了一份可直接上传的测试固件: - `firmware/STM32H750-ETH-v1.0.6-test.bin` 更详细的信息见: - `firmware/README.md` ## 项目规划 如果后续要把这个工程逐步扩展成工业物联网网关,专门的需求、阶段规划和验收标准见: - `docs/industrial_iot_gateway/README.md`