Starting in Vivado 2016.4, the upper 2GB DDR initialization is added when ECC is enabled.
However FSBL hangs due to this function. How do I prevent the hang from occurring?
This occurs because of an issue in Windows where all the 64-bit addresses are truncated to 32-bit (PCIe, DDR) in xparameters.h, leading the FSBL to hang during the upper DDR ECC initialization.
Linux hosts are not affected.
The work-around is to manually modify the xparameters.h as follow:
Before:
After:
This issue is fixed in Vivado 2017.1 and later versions.
Answer Number | Answer Title | Version Found | Version Resolved |
---|---|---|---|
68211 | Zynq UltraScale+ MPSoC - FSBL does not initialize above first 2GB of PS DDR when using ECC, causing program exceptions | N/A | N/A |
AR# 68582 | |
---|---|
Date | 05/04/2017 |
Status | Active |
Type | General Article |
Devices | |
Tools |