I am currently working on a project using the Zedboard and some Pmods from Digilent. As of now, I have booted Ubuntu 16.04 onto the ARM core using the Petalinux tools through an SD card. I have also been looking into the GPS pmod and got the bare-metal example to work from programming the FGPA. Through my personal computer (Ubuntu 18.04), I have been able to interface with the Ubuntu 16.04 on the ARM and the GPS pmod. However, I am a little confused as to how the GPS pmod in the PL communicates with the Ubuntu on the ARM. I would really appreciate some insight on the last leg of this triangle of communication.
For the bare-metal exercise, I used the IP blocks provided in the vivado-library. I noticed that there were a few files under the driver folder that were related to the software side, but I'm unsure how to move forward. When I rebuilt the Petalinux package with the hdf that included my GPS pmod, the module did not show up on Ubuntu.
Do I need to create the hardware driver separate from the vivado-library files? If yes, is that using the petalinux tools or SDK or something different?
I have already looked into most of the forum posts and Xilinx documentation provided for the Zedboard, pmods, and petalinux, but did not find an explicit explanation.
Thank you in advance!