ZHDA246 July 2026 AM2434
ENET FOTA 通过以太网更新固件:接收新映像,使用 x509 证书验证真实性和完整性,将其存储在非易失性闪存存储器中,然后重新引导以运行更新的固件。此过程只需极少的用户干预,同时可确保仅应用授权的更新。
对于 ENET FOTA,AM243x/AM64x 和 AM275x 器件上可用的默认闪存器件是 S28HS512T 串行 NOR OSPI 闪存。图 2-1 中所示的闪存存储器布局用于 ENET FOTA:
图 2-1 ENET FOTA 的闪存存储器配置对于 ENET FOTA,执行以下步骤:
图 2-2 ENET FOTA 的步骤 1-3EVM 通电,SBL 检查标志的值,并将存储器位置 A 中的当前应用映像加载到 SRAM 中。
图 2-3 ENET FOTA 的步骤 4主机通过以太网传输新应用映像。主机和目标器件必须连接到具有兼容网络设置的同一本地网络。当前应用映像会侦听预定义 UDP 端口上的传入固件更新。
固件映像通过 UDP 以可管理数据包的形式进行传输。每个数据包都包含固件段以及时序信息,无论到达顺序或重新传输要求如何,器件都可以重建完整的映像。
图 2-4 ENET FOTA 的步骤 5-8应用将传入的数据包存储在 DDR 存储器缓冲区中,并应答来自主机的接收。接收完整的映像后,应用就会对固件进行身份验证,检验其是否源自可信的来源,且在传输过程中未进行修改。
如果身份验证失败,器件会拒绝该固件。成功完成身份验证后,应用会将新固件写入新的闪存存储器位置,并仅在写入成功完成后更新引导标志。
该应用使用双闪存存储器位置:新固件写入新的存储器位置 B,而当前存储器位置 A 保留当前工作的固件。
如果编程过程中发生电源故障或新固件损坏,原始固件在当前存储位置仍保持完好。由于引导标志仅在成功完成后才会更新,因此任何失败都会导致引导原始固件,确保器件保持正常运行。
图 2-5 ENET FOTA 的步骤 9-11标志成功更新后,执行 SoC 热复位。然后,SBL 检查更新的标志值,并将新应用映像从存储器位置 B 加载到 SRAM 中。
同样,从存储器位置 B 运行新应用映像时,传入的应用映像将存储在存储器位置 A。由于位置 A 现在未使用,因此会覆盖之前的旧应用映像。下图展示了 ENET FOTA 在两个存储器位置 A 和 B 之间的切换特性。
图 2-6 布局 1
图 2-7 布局 2
图 2-8 布局 3
图 2-9 布局 4