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:
-
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 withbusybox
. -
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 thetftp
directory:sudo ptftpd -v enp3s0 .
Please note that the server IP in Litex is hardcoded to default to192.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.