关键问题
由于英特尔® Quartus® Prime 专业版软件版本 20.3 及更高版本的设备固件出现问题,SoC 远程系统更新 (RSU) 出厂更新或固件更新映像流程可能会在运行时失败并显示 RSU 状态错误代码 0xf004d003 或 0xf004d00c 如果更新映像位于 RSU 配置指针块 (CPB) 的最后一个插槽, 或仅后跟取消的 CPB 条目。
闪存中的 RSU 配置指针块 (CPB) 存储已启用的 RSU 引导分区的位置和顺序,并包含 508 个插槽。当表变满时,它会自动压缩。
请参阅 《英特尔 Agilex® 硬处理器系统远程系统更新用户指南》和 英特尔® Stratix® 10 硬处理器系统远程系统更新用户指南,了解有关远程系统更新的更多信息。
要变通解决此问题:
将出厂/固件更新映像写入闪存时,请确保它不是 CPB 表中的最后一个条目,否则强制 CBP 压缩(通过运行 rsu slot_disable <插槽>然后运行 rsu slot_enable <插槽> )
和
在将出厂/固件更新映像写入闪存之后,在 POR(并且更新映像正在运行)之前,不要取消(禁用)任何 RSU 插槽
要检测出厂/固件更新映像是否在最后一个插槽中: u-boot 示例:
使用 rsu save_cpb 命令将 CPB 保存到内存:rsu save_cpb <address>
使用 md.b 检查 CPB<地址+插槽偏移>8
RSU save_cpb 0x2000 0000
医学博士 0x20000ff0 8
MD.B 0x20000ff8 8
空插槽将包含 FF FF FF FF;清除的插槽将包含所有 00
此问题计划在面向 Intel Agilex® 和英特尔® Stratix 10 设备的设备固件未来版本中修复。