Unable to program FPGA from Linux

362 views
Skip to first unread message

Cameron McQuinn

unread,
Jan 6, 2018, 2:50:33 AM1/6/18
to snickerdoodle forum
Hi everyone,

I am completely unable to program the FPGA from Linux. cat bitstream.bit > /dev/xdevcfg gives "cat: write error: Connection timed out". I did some research on my own and came across a post on the Xilinx forum that said that this method of programming the FPGA uses DMA, and that IRQ number 40 should be received when the FPGA configuration is done. The post suggested checking /proc/interrupts to see if this was happening, so I did that, and sure enough there is no record of IRQ40 ever happening. Programming the FPGA at boot time with u-boot works just fine.

I read somewhere else that this is caused by the FSBL not properly configuring the system, so I rebuilt BOOT.bin using an FSBL generated from the hardware description for the project my bitstream came from, and u-boot that I build from source, but that did not work either. I know that my bitstream is not the problem because I can successfully program the FPGA using u-boot or JTAG.

I am running a Debian Stretch system that I build myself using qemu-debootstrap, and my kernel configuration is here. You can rebuild my kernel by following the instructions in README.snickerdoodle and running ./build.sh PATH_TO_UBOOT_DIR. I have a snickerdoodle black.

Has anybody else faced this problem and successfully resolved it?

Thanks much,
Cameron

Bush

unread,
Jan 7, 2018, 11:55:25 PM1/7/18
to snickerdoodle forum
The fact that you are able to load the bitstream using U-Boot and JTAG points to an issue with the Linux system which means that its "just" software and nothing that can't be fixed. I will look at your configuration and try to reproduce the issue. It looks like you are trying to build in real-time support for your system which may be a source of the issue.
Reply all
Reply to author
Forward
0 new messages