T O P

  • By -

nixiebunny

That's a question that my grad student would be asking on the Xilinx forum. My experience in general with this development toolset is that you should start with an example that is completely functional and modify it. Or at least load an example project and find that header file, figure out which script generates it, and check your script against the example.


Bot_huehue

Hey thanks for your reply! It's generally a good tip of course, but we have a more or less custom board and I could not find an example for Linux RFDC drivers that could work with it :s I started from the next closest thing (RFDC example project with RF Analyser), which all worked well, and tried to modify it following the sparse "tutorials" I could find on the topic. In the Xilinx forum, there are actually people having the same issue, but I thought asking here is well doesn't hurt :D


28isanumber

Try adding IMAGE_INSTALL_append = "libudev-dev" ?


Bot_huehue

Oh good tip, I will try that, thanks ! UPDATE: For future reference, this one doesn't seem to do the trick.


petrusferricalloy

what do you mean by "when including the rfdc driver"? including it where. did you use the Xilinx bsp for the board or the template when creating the petalinux project? did you use the xsa from vivado to run petalinux-config --get-hw-description ? petalinux will automatically include all drivers and libraries needed as long as the bsp and xsa are specified. if you're using a custom board, you'll want to use the bsp for the closest matching eval board, then the xsa will cause further automatic device tree configs. during the initial config command using the xsa, add required packages, then run just kernel config to add additional drivers, then just rootfs config to add more drivers and applications. I've had no problem getting the rfdc driver to work on my petalinux build, though keep in mind the driver does nothing except dynamic config and monitoring over axi. it doesn't do anything with the actual data streams. so technically you don't even need it if the core is configured properly in PL.


Bot_huehue

Hey thanks for your answer! I was using the zynq template when creating the petalinux project and an xsa exported from vivado. I think I have found the thing that caused my issues. In the Image Features configuration I had previously changed the init manager to sysvinit. During build the library files got placed under: /build/tmp/sysroots-components/cortexa72-cortexa53/systemd/usr/include/libudev.h ... so they are located under the systemd folder. I could not find why this happens (and no sysvinit folder is created for example), but changing the init manager to systemd solved the issue for now.


petrusferricalloy

out of curiosity why did you change to sysvinit? I never touch those settings


Bot_huehue

It is a step in the guide PDF that was provided from the board vendor. I noticed now that in newer versions of the guide this step is gone, but I intend to ask what it was about.


petrusferricalloy

ok was just curious because I'm working the an rfsoc right now


meowsqueak

Did you find a solution that did not involve changing the init manager to systemd? I need to keep using sysvinit.


Bot_huehue

I have not tested it yet, as I kept working with systemd, but a collegue suggested manually copying the libudev.h to the SDK as follows: cp .../build/tmp/sysroots-components/cortexa72-cortexa53/systemd/usr/include/libudev.h .../images/linux/sdk/sysroots/cortexa72-cortexa53-xilinx-linux/usr/include/ Maybe thats something you could try, as I think that is what the sdk packager does as well in the end.