MNT RKX7 (Kintex-7 FPGA Processor Module) Hints

As I am QA testing some more RKX7 modules at the moment, I wanted to document some hints here so that you can have a good experience when testing the module for the first time.

I am preflashing the Litex bitfile from our git repo on the SPI flash of the module and setting the MODE2 jumper so that the FPGA will immediately boot from SPI. So if you just plug in RKX7 to your mainboard and listen on the serial port 1, you’ll see Litex/VexRiscv-SMP output and can interact with the BIOS console after a while.

I did the preflashing by using my own addition to Litex commands called flash_from_sdcard <filename.bit>, so you can also store a different bitfile on an SD card’s first FAT partition and then flash it to SPI using this command. Note that you have to erase the SPI flash first using the flash_erase command.

You now have at least two options for booting Linux or baremetal software:

  1. The easiest way: You can boot from SD card. Just format the first partition as FAT and copy the files from the tftp folder of the repo. The Litex BIOS will automatically boot this and you’ll see output on the eDP display pretty soon. After logging in as root you can interact with busybox.

  2. Alternatively you can connect ethernet and boot the same files over tftp. This is very useful during development as you don’t need to juggle SD cards. I personally use the python3 ptftp module like this in the tftp directory: sudo ptftpd -v enp3s0 . Please note that the server IP in Litex is hardcoded to default to 192.168.0.100.

There’s currently something weird going on with the Linux Image, in that the kernel turns on debugging of device node add/remove (maybe VFS?) which creates a ton of spam during boot.

1 Like