ZYNQ-Custom-Board-Bring-Up-Guide
ZYNQ-Custom-Board-Bring-Up-Guide copied to clipboard
Instead of hello world?
In order to test the uart, one could use the fsbl to print to the uart. This way one would not need to do the hello world app at all.
Use the xsct tool to generate the fsbl:
bash> xsct xsct% setws . xsct% createhw -name zynqmp_proj -hwspec system.hdf xsct% createapp -name FSBL -app {Zynq MP FSBL} -proc psu_cortexa53_0 -hwproject zynqmp_proj -os standalone xsct% configapp -app FSBL define-compiler-symbols FSBL_DEBUG_INFO xsct% createapp -name PMU -app {ZynqMP PMU Firmware} -proc psu_pmu_0 -hwproject zynqmp_proj -os standalone xsct% projects -build
This way, the FSBL will be fairly "noisy".
Running FSBL in verbose mode is OK for healthy boards. But since FSBL runs ps7_init/psu_init() in C style, if something goes wrong in ps7_init/psu_init(), it's hard to say it's a UART problem or initialization problem.
In bring-up stage, I prefer test one feature at a time. If we run psu_init.tcl + Hello World in OCM, it's relatively easier to distinguish these two kinds of errors. Especially if it's stuck at psu_init in tcl, XSCT will report which line it stops at when Ctrl+C is pressed, which will be helpful to diagnose the configuration or hardware problem.
Thank you for the comments. I'll add the reason to the main article.