Post Go back to editing

ADRV9009+ZCU102 no-OS: runtime failure

Thread Summary

The user encountered a segmentation fault when running headless.c on ADRV9009+ZCU102, built with arm-linux-gnueabihf-gcc. The final answer clarified that no-OS is intended for bare-metal execution, not Linux userspace, and suggested ensuring the correct Xilinx tools version (2018.2) is used. The user confirmed the issue was resolved when running the program through the Xilinx SDK.
AI Generated Content

Hello,

I am using the ADRV9009+ZCU102 and am trying to run headless.c.

I have taken the following steps:

1. Obtained the Linux image here: https://wiki.analog.com/resources/tools-software/linux-software/zynq_images I am using the system.dtb and BOOT.bin provided for the ZCU102 + ADRV9009 and the Linux image from zynqmp-common.

2. Built the FPGA project from here: https://github.com/analogdevicesinc/hdl

3. Obtained no-OS source code:  github.com/.../no-OS

4. In the Xilinx SDK, I followed these steps: https://wiki.analog.com/resources/eval/user-guides/adrv9009/no-os-setup

I am able to build the project successfully, but I get a segmentation fault when I try to run the resulting .elf. I found that the program is failing at the function AD9528_initDeviceDataStruct() in headless.c. This eventually calls function XGpioPs_WriteReg in xgpiops.c:

Additionally, I notice the following compiler warnings when building the program:

To build the project without error, I had to change the compiler in the SDK from arm-none-eabi-gcc to arm-linux-gnueabihf-gcc. Are the above warnings due to that? It seems that the BSP code is still being built with arm-none-eabi-gcc. What is the best way to change the compiler in the BSP project? Could this be the reason I'm running into a seg fault, or is there something else that I am missing?

I appreciate the help.