Question About Using Xilinux

Questions and discussions about the Xillybus IP core and drivers

Question About Using Xilinux

Postby Guest »

Hello all,

I hope this is the right place to post this. I know Xillinux is by Xillybus so I thought this would be the best place.

I have a Zynq 7000 Development board and have been using Vivado 2014.4 to create a design using the Programmable Logic (PL). I have been using Xilinux as the embedded environment. My Vivado design is not using any Xillybus IP cores.

My question is: I have successfully generated a bitstream (.bit file) from my Vivado design and would like to continue using Xilinux as the Linux distribution. Since I implemented custom logic and added some peripherals, do I need to also generate a new BOOT.bin and device tree so that Xilinux will recognize the changes in the hardware? Or does the new bitstream handle all of that? The reason I am confused is because in the "Getting Started Xilinux for Zynq -7000 EPP" guide it says the following:
Additional HDL files with custom logic designs may be added to the project presented in paragraph 3.5, and then rebuilt the same way it was done the first place. To boot the system with the updated logic, copy the new xillydemo.bit into the (Micro)SD’s card’s boot partition, overwriting the existing one


That seems to imply that if I create custom logic that all I need to do is copy the new bitstream to the SD card. Will Xilinux know about the new peripherals I added in my design from the bitstream file alone or do I need to update the device tree and/or BOOT.bin file?

I am new to FPGA so I'm sorry if this is a dumb question. Any help would be very much appreciated.

Thanks,
Chris
Guest
 

Re: Question About Using Xilinux

Postby support »

Hello,

To begin with, Vivado 2014.4 is currently not supported, so even if you managed to get something that apparently works, you're on slippery ice. In particular, the Xillybus interfaces may not work properly (but you don't use them, so maybe that's OK for you). The problem is that Vivado 2014.4 creates a slightly different environment to the processor than 2014.1 as the initiating Tcl script runs.

Now to your question -- In general, if you just made changes to the logic, there in no need to rebuild boot.bin. However if you changed the parameters of the processor (e.g. changes of the PS' I/O pins or PLL frequencies), the FSBL needs to be updated, and hence the boot.bin which contains it.

As for adding peripherals, that depends on how you connected them to the processor. If you needed to activate an HP port for example, odds are that the FSBL needs to be updated to reflect the change. If you added a peripheral to a bus connection that was used anyhow, there is no such need.

A last thing about detecting the hardware by Xillinux -- if you need a standard Linux driver to detect a standard peripheral (say, a UART), you'll need to modify the device tree to inform the kernel about the hardware it faces. The kernel can't guess which peripheral is mapped to what address, and which driver to apply to it. The device tree contains that information.

Regards,
Eli
support
 
Posts: 802
Joined:

Re: Question About Using Xilinux

Postby Guest »

Hello Eli,

Thank you very much for your reply. I have been wondering how my using Vivado 2014.4 would affect things, but since I am not using any Xillybus interfaces I am hoping this is not a problem. I guess it seems silly that I am using Xillinux at all since I am not using the Xillybus interfaces, but I have been using it for a while now to do other tasks related to the project so at this point I'd like to keep using the same distribution. If it does pose problems I suppose I'll have to switch over to PetaLinux or some other alternative.

I don't believe I made any changes to the processor's parameters that would require me to have to rebuild the boot.bin. I did however enable UART0 on the PS that uses the EMIO to route the interface to one of the pmods. This seems like it may fall under PS I/O pin changes you mentioned. So in the case of adding UART0, will I need to update the FSBL and thus the boot.bin?

So it seems I definitely need to update the Device Tree, which I figured I needed to. Could you link me to any guides or tutorials on how to re-generate the boot.bin? It seems there are a few files that go with it (a .elf, uboot, etc) and I'm not quite sure on how to do this.

Thank you for the help.

Chris
Guest
 

Re: Question About Using Xilinux

Postby Guest »

Sorry for the double post, I couldn't figure out how to edit my previous post.

I found a guide on how to regenerate the boot.bin. I got the .elf file needed, have a the .bit file, and the .dts (which I will compile into .dtb). My question is regarding uboot. In the guide for getting started with Xillinux it mentions that Xillinux relies on uboot. I believe uboot is one of the files needed to generate boot.bin (a guide I found said it is optional but I think in this case I need it). Where can I find the source for the Xillinux uboot so I can use it to generate the boot.bin?

Thank you,
Chris
Guest
 

Re: Question About Using Xilinux

Postby support »

Hello,

Please refer to /usr/src/xillinux/uboot-patches/README.TXT in Xillinux distribution's file system for how to obtain the sources used to compile U-boot for Xillinux. It's most recommended to use Xilinx' cross compiler for this.

Regards,
Eli
support
 
Posts: 802
Joined:


Return to Xillybus