09-19-2019 11:18 AM
Hello Xilinx Community,
What is the difference between generating a FSBL.elf using Petalinux vs SDK? Using the same hdf file, I beyond compared both fsbl files and there seemed to be a whole lot of differences. The petalinux fsbl.elf is working, and the SDK FSBL is not.
Thanks,
Jonathan
09-20-2019 09:01 AM
There should be no differences to the sources used to build. The difference might be the compiler options. For example, if you are using a ZCU102 board, the petalinux will set the extra compiler flags with this info (XPS_BOARD_ZCU102), this is needed to init the clocks, and reset the PHY on the board.
Are you using a custom board?
Also, by default the petalinux (yocto) is setup to delete the sources to save space. This can be disabled by adding INHERIT += "rm_work" in the file build/conf/local.conf.
You can then view the MAKE file used by Petalinux to build your FSBL in the ${TMPDIR}/work/aarch64-xilinx-linux/zynqmp_fsbl/1.0-r0/
Note: you can get the TMP dir in petalinux-config --> Yocto-settings --> TMPDIR.
09-20-2019 09:01 AM
There should be no differences to the sources used to build. The difference might be the compiler options. For example, if you are using a ZCU102 board, the petalinux will set the extra compiler flags with this info (XPS_BOARD_ZCU102), this is needed to init the clocks, and reset the PHY on the board.
Are you using a custom board?
Also, by default the petalinux (yocto) is setup to delete the sources to save space. This can be disabled by adding INHERIT += "rm_work" in the file build/conf/local.conf.
You can then view the MAKE file used by Petalinux to build your FSBL in the ${TMPDIR}/work/aarch64-xilinx-linux/zynqmp_fsbl/1.0-r0/
Note: you can get the TMP dir in petalinux-config --> Yocto-settings --> TMPDIR.
09-20-2019 09:10 AM
Yes I am using a custom board. Could you to point me to where these extra compiler flags are located? Currently, I am having trouble with bringing up GEM3 (correct) when booting up U-boot, I am currently configured to connect to GEM2 (incorrect).
09-20-2019 09:19 AM
i dont think the reason i described previously is related here. so you are saying in uboot this works, but in sdk it doesnt? how are you testing the ethernet here. are you using lwip? the difference over u-boot v baremetal would be the devicetree. if yiu are using a custom board, im assuming you have updated the gem node in the system-user.dtsi. also, the lwip doesnt support all phy types.
how are you testing in baremetal?
09-20-2019 09:34 AM