ZHDA246 July   2026 AM2434

 

  1.   1
  2.   摘要
  3.   商标
  4. 简介
  5. ENET FOTA 机制
  6. 以太网设置
    1. 3.1 Linux 系统
    2. 3.2 Windows 系统
  7. 经身份验证的 FOTA
    1. 4.1 对固件进行签名
  8. 加密的 FOTA
    1. 5.1 对固件进行签名和加密
  9. 软件结构
    1. 6.1 AM243x/AM64x
    2. 6.2 AM275x
  10. 预期输出
    1. 7.1 AM243x/AM64x
    2. 7.2 AM275x
  11. 性能指标
  12. 总结
  13. 10参考资料

ENET FOTA 机制

ENET FOTA 通过以太网更新固件:接收新映像,使用 x509 证书验证真实性和完整性,将其存储在非易失性闪存存储器中,然后重新引导以运行更新的固件。此过程只需极少的用户干预,同时可确保仅应用授权的更新。

对于 ENET FOTA,AM243x/AM64x 和 AM275x 器件上可用的默认闪存器件是 S28HS512T 串行 NOR OSPI 闪存。图 2-1 中所示的闪存存储器布局用于 ENET FOTA:

 ENET FOTA 的闪存存储器配置图 2-1 ENET FOTA 的闪存存储器配置
  1. 默认情况下,SBL 位于 0x0 处。此偏移量保持不变,因为 ROM 期望 SBL 位于 0x0 偏移处。
  2. 将应用映像加载和/或写入存储器位置 A 和 B,它们分别从存储器位置 0x80000 和 0x900000 开始。
  3. 存储在 0x1000000 闪存存储器中的 1 字节引导标志,指示 SBL OSPI 引导加载程序在复位后必须从哪个存储器位置引导。

对于 ENET FOTA,执行以下步骤:

 ENET FOTA 的步骤 1-3图 2-2 ENET FOTA 的步骤 1-3

EVM 通电,SBL 检查标志的值,并将存储器位置 A 中的当前应用映像加载到 SRAM 中。

 ENET FOTA 的步骤 4图 2-3 ENET FOTA 的步骤 4

主机通过以太网传输新应用映像。主机和目标器件必须连接到具有兼容网络设置的同一本地网络。当前应用映像会侦听预定义 UDP 端口上的传入固件更新。

固件映像通过 UDP 以可管理数据包的形式进行传输。每个数据包都包含固件段以及时序信息,无论到达顺序或重新传输要求如何,器件都可以重建完整的映像。

 ENET FOTA 的步骤 5-8图 2-4 ENET FOTA 的步骤 5-8

应用将传入的数据包存储在 DDR 存储器缓冲区中,并应答来自主机的接收。接收完整的映像后,应用就会对固件进行身份验证,检验其是否源自可信的来源,且在传输过程中未进行修改。

如果身份验证失败,器件会拒绝该固件。成功完成身份验证后,应用会将新固件写入新的闪存存储器位置,并仅在写入成功完成后更新引导标志。

该应用使用双闪存存储器位置:新固件写入新的存储器位置 B,而当前存储器位置 A 保留当前工作的固件。

如果编程过程中发生电源故障或新固件损坏,原始固件在当前存储位置仍保持完好。由于引导标志仅在成功完成后才会更新,因此任何失败都会导致引导原始固件,确保器件保持正常运行。

 ENET FOTA 的步骤 9-11图 2-5 ENET FOTA 的步骤 9-11

标志成功更新后,执行 SoC 热复位。然后,SBL 检查更新的标志值,并将新应用映像从存储器位置 B 加载到 SRAM 中。

同样,从存储器位置 B 运行新应用映像时,传入的应用映像将存储在存储器位置 A。由于位置 A 现在未使用,因此会覆盖之前的旧应用映像。下图展示了 ENET FOTA 在两个存储器位置 A 和 B 之间的切换特性。

 布局 1图 2-6 布局 1
 布局 2图 2-7 布局 2
 布局 3图 2-8 布局 3
 布局 4图 2-9 布局 4