How can LiteX find boot.bin but then be unable to mount the filesystem when running catalog in LiteOs on Arty-100T? #110
Replies: 5 comments 1 reply
-
The only possible explanation that I have is that there are some differences in the way the LiteX BIOS initializes the SDCard and the way I'm doing it in LiteOS. The best way to figure out what happens is digging into the sources of the LiteX BIOS and see whether there are differences with LiteOS.
I took a quick look and for now I do not see a difference. Here is what the LiteX BIOS does:
You have another possibility: graft the Another possibility: examine what LiteX BIOS's |
Beta Was this translation helpful? Give feedback.
-
I think I got it ! A hint: from your logs, the BIOS thinks the CPU runs at 100 MHz, whereas LiteOS thinks it runs at 48MHz, so I bet you have on the SDCard a LiteOS image that does not correspond to your SOC (I'd bet this is the Although the instruction set is the same (because you used You need to recompile LiteOS according to your SOC ( |
Beta Was this translation helpful? Give feedback.
-
Thanks! I noticed the difference in frequency but I rebuilt LiteOS after building the SoC and the problem persisted. I will now very carefully clear the SD card, recompile LiteOS and all my .elf programs after building the SoC for the arty to see if the frequencies for LiteX and LiteOS will match |
Beta Was this translation helpful? Give feedback.
-
Something else: make sure you point to the right subdirectory of |
Beta Was this translation helpful? Give feedback.
-
Thanks everything works now! I had the orangecrab hardcoded in makefile.inc and also I was also not setting BUILD_DIR in the LiteOS makefile. Two pretty stupid mistakes, sorry about that. I have learnt my lesson not to hard code these things in the makefile. I should now have everything I need to run my experiments, thanks for bearing with me and my many questions! |
Beta Was this translation helpful? Give feedback.
-
I built a LiteX generated SoC with:
python3 -m litex_boards.targets.digilent_arty --cpu-type femtorv --cpu-variant gracilis --variant a7-100 --toolchain vivado --with-spi-sdcard --sdcard-adapter digilent --build --load
I then ran make for LiteOS, copied it to the SD card and ran
litex_term /dev/ttyUSB1
I got a message "Could not mount filesystem"I am confused as to how it can find and mount boot.bin but then cannot find and run other files present on the same SD card. Confusingly the same SD card works fine on the orangecrab and has not trouble mounting. Could this be something to do with the fact that LiteX forces me to build the SoC with a 100MHz clock frequency? See : enjoy-digital/litex#1726
Image of hardware setup here:
Beta Was this translation helpful? Give feedback.
All reactions