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