当前位置: 首页 > news >正文

嵌入式测试学习第 18 天:固件基础:烧录、升级、OTA

固件基础:烧录、升级、OTA

    • 一、固件是什么
    • 二、固件烧录(本地烧录)
      • 1. 实物:烧录器+目标板
      • 2. 核心接口(SWD/JTAG)
      • 3. 烧录流程(PC端)
      • 4. 测试要点
      • 5. 常见故障
    • 三、固件升级(本地升级)
      • 1. 概念
      • 2. 实物:USB/串口+目标板
      • 3. 升级流程(IAP:In‑Application Programming)
      • 4. 测试要点
    • 四、OTA升级(远程无线升级)
      • 1. 概念
      • 2. 实物:带无线模块的开发板
      • 3. 核心原理(双分区备份,防变砖)
      • 4. 典型架构
      • 5. 测试要点
    • 五、烧录/升级/OTA 对比速览

一、固件是什么

固件(Firmware)是写入芯片Flash中的程序+配置+参数,相当于嵌入式设备的“系统+APP”。

  • 格式:.hex/.bin/.elf
  • 存放:MCU内部Flash或外部SPI Flash(如W25Q64)
  • 作用:硬件上电后运行固件,实现功能(采集、控制、通信)

二、固件烧录(本地烧录)

1. 实物:烧录器+目标板

常见工具:ST‑LINK、J‑LINK、DAP‑LINK、脱机烧录器


  • ST‑LINK/V2:STM32最常用,USB连PC、SWD连目标板
  • J‑LINK:速度快、支持多内核(ARM/RISC‑V)
  • 脱机烧录器:工厂量产,无需PC,一键烧录

2. 核心接口(SWD/JTAG)

以STM32为例(4线SWD最常用):

  • SWCLK:时钟
  • SWDIO:数据
  • VCC:3.3V
  • GND:地

3. 烧录流程(PC端)

  1. 安装驱动与软件(如STM32CubeProgrammer、J‑Link Commander)
  2. 烧录器USB插PC,SWD线接目标板
  3. 打开软件→选择芯片→加载.hex/.bin
  4. 点击“Download”→自动擦除→编程→校验
  5. 提示“Verify OK”即成功

4. 测试要点

  • 烧录后上电能正常启动(LED/串口有输出)
  • 校验通过:防止数据错误
  • 重复烧录10次以上,无失败、无坏块
  • 异常:连接失败、校验错误、上电不运行

5. 常见故障

  • 接线错(SWDIO/SWCLK反了)
  • 目标板未供电或电压不足
  • Flash写保护未解除
  • 烧录器驱动不匹配

三、固件升级(本地升级)

1. 概念

升级=旧固件→新固件(同硬件、功能迭代)

  • 本地升级:USB/串口/SD卡,需现场接线或插卡
  • 区别于烧录:不擦除Bootloader,只更新应用区

2. 实物:USB/串口+目标板

  • USB虚拟串口(VCP):开发板Micro/Type‑C直连PC
  • 串口模块(CH340):TX/RX交叉接目标板

3. 升级流程(IAP:In‑Application Programming)

  1. 芯片有Bootloader(引导程序)
  2. PC发新固件(.bin)→USB/串口→目标板
  3. Bootloader接收并写入应用Flash区
  4. 重启→运行新固件

4. 测试要点

  • 升级后功能正常、版本号更新
  • 升级过程不掉电、不断连
  • 断电后重启,新固件不丢失
  • 异常:升级失败、重启回退旧版、功能错乱

四、OTA升级(远程无线升级)

1. 概念

OTA(Over‑the‑Air)=空中下载,通过Wi‑Fi/蓝牙/4G远程更新固件,无需现场、无需拆机

  • FOTA:Firmware OTA(底层固件)
  • SOTA:Software OTA(应用层)

2. 实物:带无线模块的开发板

  • ESP32:Wi‑Fi+蓝牙,内置Flash,支持OTA

  • STM32+Wi‑Fi模块(ESP‑01S):外接无线,远程升级

  • 4G模块(WH‑GM5):物联网设备远程维护

3. 核心原理(双分区备份,防变砖)

  1. Flash分A(运行区)、B(备份区)
  2. 设备联网→连云平台→检测新版本
  3. 后台下载新固件到B分区
  4. 校验(MD5/CRC)→标记B为启动区
  5. 重启→从B分区运行新固件
  6. 失败则回退A分区,永不死机

4. 典型架构

设备端(ESP32/STM32+无线)→路由器/基站→云服务器(版本仓库)

5. 测试要点

  • 正反场景:正常升级、网络中断、断电重启、版本回退
  • 稳定性:连续升级5次,无失败、无丢包
  • 安全性:固件加密+签名校验,防篡改
  • 性能:下载速度、升级耗时、内存占用
  • 异常:下载卡死、校验失败、重启后变砖、反复重启

五、烧录/升级/OTA 对比速览

方式连接方式适用场景核心风险
烧录SWD/JTAG(有线)量产、首次写入接线错、芯片锁死
本地升级USB/串口/SD卡现场维护、小批量掉电变砖、数据损坏
OTA升级Wi‑Fi/蓝牙/4G(无线)海量设备、远程维护网络攻击、版本兼容

http://www.gsyq.cn/news/1387949.html

相关文章:

  • Codex 官网访问 + 完整安装教程:macOS / Windows / Linux 一次跑通(2026)
  • 2025-2026年上海搬家公司推荐:五大口碑评测办公室搬迁高效停工注意事项性价比高 - 品牌推荐
  • 树莓派复古计算终端:拨号盘与聊天界面的硬件交互实践
  • SAP传输请求号翻车实录:SE09释放后如何修改?DEBUG救场指南
  • AI智能体构建:从概念到工程实践的完整指南
  • 2025-2026年北京家庭定制游旅行社推荐:TOP5口碑产品评测三代同行避拥挤性价比高注意事项 - 品牌推荐
  • Excel MATCH函数:定位逻辑与动态查找的核心原理
  • awk入门
  • 构建前端安全左移实践:从本地到CI/CD的npm依赖自动化防护链
  • Android开发中LiveData与观察者模式的实践指南
  • 版图新手避坑指南:画电阻时,为什么你的LVS总报错?(附蛇形连线实战)
  • linux配置DNS主从服务器的实验步骤
  • Excel #NAME? 错误全解析:六大根源与实战排查指南
  • API 接口自动化测试详细图文教程学习系列22--结合Pytest框架使用3-分组、跳过执行和参数化处理
  • Git 给 main 分支打 Tag(版本标记)完整教程
  • 利用AI编程助手30分钟快速上手陌生代码库的方法论
  • AI重塑IT文档工作流:从日志到专业报告与SOP的自动化实践
  • 【DeepSeek知识产权合规白皮书】:20年AI法务专家亲授3大高危雷区与7步自检清单
  • 鸿蒙 App 架构:为什么页面越来越薄?
  • 全球小型电动线性驱动器市场稳中有进:2025年15.25亿美元筑基,2032年剑指22.47亿,5.8%CAGR锚定长期稳健增长逻辑
  • 全球反应等离子体沉积设备市场:预计2032年将达到8.63亿美元
  • 如何在Windows 10/11上安装Android子系统:WSABuilds完整指南
  • Unity Sentis兼容YOLOv8的NMS层问题与C#后处理方案
  • 从零搭建 Prometheus + Grafana 监控平台全攻略
  • 哨声响,数据动:耐高总决赛背后的AI力量
  • AI辅助开发工作流:从GitHub Issue到PR合并的系统化实践
  • 别再只用plot了!Matlab plotyy双Y轴绘图保姆级教程(含刻度、图例、线型全设置)
  • 从 MIPI ERR1/ERR2 到视频处理高手:Camera 调试必须掌握的底层排障方法
  • UNION vs UNION ALL:去重机制与执行计划性能差异详解
  • Excel簇状柱形图实战指南:多维离散数据对比可视化