屏障定时器流程测试方法以及使用此方法

电子说

1.2w人已加入

描述

XAPP1247 是对应使用屏障镜像时的多重启动 (Multiboot) 和回退 (Fallback) 的示例应用。

本篇博文提供了一种屏障定时器流程测试方法以及使用此方法时可能出现问题。

屏障定时器流程测试方法多种多样,包括以下 2 种方法:

移除镜像末尾部分

尝试破坏同步 (Sync) 字

对于选项 1(删除镜像末尾部分),可观察到由于超时错误导致的回退。

但使用选项 2(破坏同步字)时则可能出现问题。

例如,您已编辑同步字,将其从 AA995566 更改为 ABCDABCD,导致其损坏。

如果使用十六进制编辑器编辑同步字,那么它会加载更新镜像,而不是执行回退。

为何即使已破坏更新镜像的同步字,仍会加载更新镜像?

在定时器镜像 1/屏障镜像 1 中已检测到同步字。

由于在定时器镜像 1/屏障镜像 1 中不含去同步 (DESYNC) 字,因此它不会在更新镜像中查找同步字。

如何解决此问题:

在此情况下,仅破坏同步字并不会导致发生回退。

但如果在定时器镜像后添加 DESYNC 字,就会引发回退至黄金镜像的操作。

如何在定时器镜像 1/屏障镜像 1 末尾添加 DESYNC:

在编辑器中打开 MCS 文件。包括:黄金镜像、屏障镜像 1、多重启动镜像和屏障镜像 2。

在屏障镜像 1 末尾添加 30008001(写 CMD 寄存器),后接 0000000D(DESYNC 字)。以下截屏显示如何添加 30008001(写 CMD 寄存器),后接 0000000D(DESYNC 字)。

然后保存此 MCS 文件。

现在,您即可使用此 MCS 文件来从闪存启动,并测试是否能正常引发回退。

注释:

上述方法将包含在 XAPP1247 文档后续版本中。

在 XAPP1247 中描述的是对应 7 系列器件的屏障镜像流程,此流程同样适用于 UltraScale 和 UltraScale+ 器件。
       责任编辑:pj

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分