在使用 32 或 64 位宽度(或 M_AXI_HP0_LPD 的 128 位)的 AXI 接口并使用 FSBL 初始化系统时,不配置总线宽度会引起数据损坏。
虽然该问题已在 Tcl 初始化工作流程的 2016.3 版本中解决(见 (Xilinx 答复 66295)),但仍然存在于 FSBL 工作流程中,因为它使用的是它自己的 PS-PL 隔离删除函数,而非 psu_ps_pl_isolation_removal_data()。
当前的解决方法是在 FSBL 初始化过程中纳入 psu_ps_pl_isolation_removal_data 函数:
u32 XFsbl_HookPsuInit(void)
{
u32 Status = XFSBL_SUCCESS;
/* Add the code here */
Status = (u32)psu_init();
if (XFSBL_SUCCESS != Status) {
XFsbl_Printf(DEBUG_GENERAL,"XFSBL_PSU_INIT_FAILED\n\r");
/**
* Need to check a way to communicate both FSBL code
* and PSU init error code
*/
Status = XFSBL_PSU_INIT_FAILED + Status;
}
/* AFI Configuration workaround */
psu_ps_pl_isolation_removal_data();
return Status;
}
此问题将在 2016.4 版本中得以修复。
AR# 68166 | |
---|---|
日期 | 12/21/2016 |
状态 | Active |
Type | 综合文章 |
器件 | |
Tools | |
IP |