当前位置: 首页 > 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.jsqmd.com/news/888478/

相关文章:

  • PowerSetting极速下载优化方案全解析
  • 破解软件开发中的90%完成悖论:从任务分解到团队协作的实战指南
  • 2025-2026年天津国际学校推荐:五大高性价比选择评测课程衔接案例市场份额 - 品牌推荐
  • 微信小游戏19MB主包体积控制实战指南
  • 记一次Android进程native内存泄漏分析
  • 2025-2026年上海搬家公司推荐:五大口碑评测办公室搬迁高效停工注意事项性价比高 - 品牌推荐
  • FreeRTOS 实战:互斥量与优先级继承——从代码到现象完全解析
  • AI智能体构建:从概念到工程实践的完整指南
  • 告别多模型集成噩梦:DMXAPI如何用“改两行配置”统一调用DeepSeek、豆包等大模型
  • 冷门实用插件盘点,大幅缩减作图时长
  • AI重塑IT文档工作流:从日志到专业报告与SOP的自动化实践
  • Python数据类型转换实战:隐式陷阱、显式代价与结构迁移
  • 2025-2026年北京家庭定制游旅行社推荐:TOP5口碑产品评测三代同行避拥挤性价比高注意事项 - 品牌推荐
  • 版图新手避坑指南:画电阻时,为什么你的LVS总报错?(附蛇形连线实战)
  • AMD Ryzen 7 3800X + VMware 15.1.0 保姆级教程:手把手带你搞定macOS Catalina虚拟机(含避坑指南)
  • 2026年4月2205双相钢圆棒厂商推荐,2205不锈钢圆棒/904L不锈钢圆棒,2205双相钢圆棒品牌哪家好 - 品牌推荐师
  • awk入门
  • 昇腾CANN社区治理:一个PR从提交到合并的全过程
  • 2026年4月套膜机产品推荐,打包缠膜一体机/行李包装机/自动缠膜机/摇臂缠膜机/自动缠绕机/包装机,套膜机制造商如何选 - 品牌推荐师
  • 利用AI编程助手30分钟快速上手陌生代码库的方法论
  • Unity游戏翻译深度解析:XUnity.AutoTranslator原理与优化实战
  • Unity微信小游戏实战:突破首包限制与WXSS兼容性难题
  • 线程任务执行报错后,线程会不会挂掉,Java线程池
  • 多平台同稿如何一键改写?5款AI文案工具对比帮你避坑
  • Python TDD实战入门:从red-green-refactor到高覆盖率测试套件
  • Git 给 main 分支打 Tag(版本标记)完整教程
  • 昇腾CANN开源竞赛,从参赛到获奖的实战攻略
  • UOS系统维护实战:用一条命令批量清理旧内核与无用依赖,为你的系统‘瘦身’
  • 2026年5月上海搬家公司推荐:五个口碑搬家服务专业评测价格适用场景 - 品牌推荐
  • AI智能体规模化运维:从上下文污染到系统防劣化的工程实践