赛灵思
直播中

王淑珍

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

无法在KC705上初始化FLASH BPI的原因是什么?

嗨,
我有一个KC705评估板配置为在x16模式下使用BPI Flash。
在使用JTAG端口加载设计位文件的后,我可以初始化闪存。
但是,当我从BPI启动我的设计时,闪存初始化失败,但程序的其余部分似乎正常运行。
然后我尝试使用Xilinx rdfrdf0185-kc705-bist-c-2014-3.zip参考设计中包含的bist_app程序。
如果使用JTAG上的位文件加载FPGA,则bist程序闪存初始化工作正常。
但是,如果我从闪存启动相同的程序,我有同样的问题。
看起来flash初始化失败了查询功能。
无论程序是从闪存还是JTAG启动,所有其他bist函数都能正常工作。
谢谢你的帮助。

回帖(3)

魏荣梅

2020-8-5 13:24:21
事实证明,当调用XFlash_Initialization函数时,我必须启用IsPlatformFlash变量以强制执行A​​Sync操作模式。
这是奇怪的,因为比特流配置使用3MHz时钟,外部时钟被禁用,同步模式被关闭。
不知道为什么我们不处于异步模式。
无论如何,如果您在KC705主板上遇到此问题,请务必进行此更改。
顺便说一下,我选择的闪光灯部分是28f00ap30t-bpi-x16_0。
举报

陈琳

2020-8-5 13:33:44
如果FPGA配置为同步模式,则无法访问FLASH。
这仅适用于评估板和基于评估板的任何设计。
对于评估板,我可以通过将其添加到bist应用程序将FLASH重置为异步模式。
////需要在同步配置后将闪存返回到异步模式//将读配置寄存器RCR [15:0] //设置程序放在A [15:0]上,同时命令在数据总线上//寄存器
值必须左移一个// RCR [15:0] = 0x8000;
ASYNC MODE - 将向左移位一位WITE_FLASH_16(FLASH_BASE_ADDRESS + 0x10000,0x60); // WRITE_FLASH_16(FLASH_BASE_ADDRESS + 0x10000,0x03); //
举报

刘鹏

2020-8-5 13:48:02
@tschneider了解闪存处于与配置相同的读取模式非常重要。
例如,在同步读取模式下配置FPGA后,闪存保持同步读取模式。
在对闪存执行任何操作时,Vivado设备编程器将闪存重置为异步模式。
-Pratham ------------------------------------------------
----------------------------------------------请注意 - 请
如果提供的信息有用,请将答案标记为“接受为解决方案”。给予您认为有用并回复导向的帖子。感谢K-
--------------------------------------------------
-----------------------
举报

更多回帖

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