赛灵思
直播中

孙缅禧

7年用户 255经验值
私信 关注
[问答]

Virtex6后备故障如何解决

我正在运行一个使用Master SPI配置的virtex6。
我的黄金图像位于地址0x000000处,它指向0x100000以供下一个要加载的图像。
当地址0x100000具有良好的图像时,它会正确加载。
当地址0x100000具有几乎好的图像时 - 内存中的几个位置被更改 - 它会加载黄金图像。
当0x100000加载了良好图像的后半部分时,则FPGA无法启动。
当我读取状态时,这是iMPACT的输出:
==================================================
==
信息:iMPACT - 当前时间:11/8/2013 2:18:15 PM // *** BATCH CMD:ReadStatusRegister -p 1此设备链的最大TCK工作频率:66000000.Validating chain ...边界扫描链
验证成功.1:器件温度:当前读数:48.90 C,Min。
阅读:48.41 C,Max。
读数:50.38 C1:VCCINT电源:电流读数:1.031 V,Min。
阅读:1.031 V,Max。
读数:1.034 V1:VCCAUX电源:电流读数:2.502 V,最小值
阅读:2.502 V,最大
阅读:2.525 V'1':读取训练寄存器内容...... [0]
VALID_0 - 错误或启动结束(EOS)检测:0 [1] FALLBACK_0 - FALLBACK TRIGGERED RECONFIGURATION:0 [2] IPROG_0 - 内部WARMBOOT(IPROG)触发重新配置:0 [3] WTO_ERROR_0 - 看门狗超时错误:0 [4
] ID_ERROR_0 - FPGA器件IDCODE错误:0 [5] CRC_ERROR_0 - 循环冗余校验(CRC)错误:0 [6] WRAP_ERROR_0 - BPI闪存地址计数器绕错误:0 [7] HMAC_ERROR_0 - HMAC错误:0 [8] VALID_1
- 检测到错误或结束启动(EOS):0 [9] FALLBACK_1 - FALLBACK TRIGGERED RECONFIGURATION:0 [10] IPROG_1 - 内部WARMBOOT(IPROG)触发重新配置:0 [11] WTO_ERROR_1 - 看门狗超时错误:0 [12]
ID_ERROR_1 - FPGA器件IDCODE错误:0 [13] CRC_ERROR_1 - 循环冗余校验(CRC)错误:0 [14] WRAP_ERROR_1 - BPI闪存地址计数器绕错误:0 [15] HMAC_ERROR_1 - HMAC错误:0'1':读取
状态寄存器内容... [0]
CRC错误:0 [1]解密器错误:0 [2] PLL锁定状态:1 [3] DCI匹配状态:1 [4]启动结束(EOS)状态:0 [5] GTS_CFG_B状态:0 [6] GWE
状态:0 [7] GHIGH STATUS:0 [8] MODE PIN M [0]:1 [9] MODE PIN M [1]:0 [10] MODE PIN M [2]:0 [11] INIT_B内部信号状态
:1 [12] INIT_B引脚:1 [13]完成内部信号状态:0 [14]完成引脚:0 [15] IDCODE错误:0 [16]安全错误:0 [17]系统监控超温报警状态:
0 [18] CFG启动状态机阶段:0 [19] CFG启动状态机阶段:0 [20] CFG启动状态机阶段:0 [21]保留:0 [22] SPI闪存选择密码FS [0]:1
[23] SPI闪存选择引脚FS [1]:0 [24] SPI闪存选择引脚FS [2]:1 [25] CFG总线宽度检测:0 [26] CFG总线宽度检测:0 [27]保留:0
[28] HSWAPEN PIN:0 [29] BAD PACKET ERROR:0 [30]保留:0 [31] EFUSE BUSY STATUS:0
==================================================
==
有什么我想念的吗?
我试图打开看门狗以配置黄金图像,但它没有做任何事情。
启动它的命令永远不会被加载,因为它发生在IPROG命令之后。
我在测试回退重新配置的有效性时发现了这个问题。
在部署系统之后,我需要有一种可靠的更新闪存的方法,而不会让用户意外地将其嵌入。
有任何想法吗?
谢谢,
乔纳森

回帖(2)

王山崎

2020-6-15 12:41:41
嗨乔纳森,以下错误可以触发回退:IDCODE错误,CRC错误,看门狗定时器超时错误或BPI地址环绕错误。从状态寄存器报告中,我没有看到上述错误。可以。
请让我知道你如何破坏良好的形象?问候,克里希纳
--------------------------------------------------
---------------------------------------------请将帖子标记为
如果提供的信息能够回答您的问题/解决您的问题,请“接受为解决方案”。给予您认为有用的帖子。
举报

曾佳宁

2020-6-15 12:55:53
嗨克里希纳,
为了使回退失败,我加载了一个使用3/4闪存并从0x000000开始的旧固件。
然后我从0x000000开始加载“黄金”固件。
“黄金”固件加载WBSTAR 0x100000并发出IPROG。
“黄金”图像小于此。
较旧的固件要大得多。
当FPGA启动时,它会跳转到0x100000,这是旧固件中间的某个位置,无法启动。
我之前发布的状态寄存器内容反映了这种情况。
另外,两个固件都能达到我的预期。
较旧的固件正确加载,并且在完全芯片擦除后加载“黄金”固件时正确加载。
这回答了你的问题了吗?
乔纳森
举报

更多回帖

发帖
×
20
完善资料,
赚取积分