-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Failing to reproduce the NaxRiscv/Debian setup #69
Comments
Hi,
What kernel were you using ? all the ones from the readthedoc ? you didn't recompiled anything right ? Note, i'm mostly based on https://github.com/SpinalHDL/NaxSoftware/blob/main/debian_litex/README.md |
Thanks for your quick reaction. Reassuring to hear that you experienced the same bios/boot hang. I was wondering whether it may be a problem with my board. Not a major issue, but it would be nice if we could resolve it. I was indeed using all the files from the readthedoc, including the dtb. And your guess was correct, the address mapping of the SPI has moved from spi@f0004800 to spi@f0005800. After updating the dts and putting the corresponding dtb on the card, I was able to boot debian. Nice! Thanks! I will now try to create a system based on your newer instructions. |
Nice :D Thanks for the update. |
I started with upgrading my config to the new instructions on step at a time:
Upgrading the opensbi was not successful. This is what I did: (I changed the CROSS_COMPILE to riscv64-unknown-elf-)
This leads to a hang at liftoff:
What I find strange is that you create the opensbi with the config of VexRiscv, which leads to a 32-bit executable. Then I created the new linux 6.1-rc2 linux kernel per your instructions, which went fine and booted correctly with the old opensbi:
I will now start working on updating the bitstreams, but wanted to let you know about my progress and hear your ideas on the opensbi issue. |
Ahhhh right, i had some local changes about opensbi. |
That solved it:
|
great :D |
Now I am running into problems with the network. DHCP is not working and when statically configured I get:
|
Hi, I didn't had particular with ethernet in debian, could it be aswell that the DTS memory address / interrupt id for the ethernet peripheral changed ? to see if the trafic goes both way |
For your information my setup is now as follows. I created the bitmap using the following command:
I reduced the speed to 75MHz as I noticed that Vivado signals that timing cannot be met at 100MHz. At 75MHz the booting hangs are completely resolved and I can use the SD card in non-SPI mode. At 100MHz the core was unable to read the files reliable from SD to bootstrap everything. And I increased the serial speed to 3Mbps (for serial boots). The dts is generated from csr.json, with the following modifications:
These are all the files I use, if you want to reproduce: Below are the requested ifconfig logs:
|
Ahh maybe on my devkit i more lucky, (vivado give me slack violation of around -0.6 ns) One thing you can do to increase fmax is to set alu-count=1,decode-count=1 instead The thing which is botthering with vivado, is that -0.6 ns violation mean it could run at 94 Mhz. But when i change setting to 90 Mhz, then vivado relax too much and still get timing violation XD Ahhh one thing to diagnostic is : To see if interrupts happen or not. |
Interrupts info:
I was wondering if you can reproduce with the files I provided. |
hmm doesn't look bad. |
I can reproduce the network issue on my side aswell now XD |
It seems related to a litex update which broke the peripheral interconnect. There was a fix in litex upstream which fixed most of it, but apparentlyit may not have fixed it all, as reverting to https://github.com/Dolu1990/litex.git 5e482d64 fix the issue on my board. |
Note if you try to revert litex to https://github.com/Dolu1990/litex.git 5e482d64 |
Thanks for testing and finding the problem so quickly. I will try to revert to the mentioned commit. |
Should have been fixed with enjoy-digital/litex#1831 (comment) ? |
Last week I was able to get networking running with reverting to the commit you mentioned and modifying the board file. Will try the "official fix" this week. |
ok, thanks :D |
Hi, I had time to test. With litex upstream all seems good now. let's me know how things goes on your side :D |
Working for me as well. But only tested at 75MHz. Will test for 100Mhz later and report back. Thanks again. |
With 100Mhz, indeed the memory hangs seem to be resolved. However, the lite-x bios fails to recognize my SD-card in non-SPI mode or has read failures, so not usable for me at 100MHz. |
Ahh on my side, critical path is on the SDcard side of things :
Is it the same for you ? |
Some are. I have several paths with negative slack, all related to
This one seems RAM related for example:
|
I am trying to reproduce the NaxRiscv/Debian setup as described here and am running into some issues.
Steps I have untertaken:
First issue
The fist issue I ran into is a "hang" after printing the memory write speed. Pressing reset the first time leads to a "hang" at the same spot. After pressing reset a second time the boot continues and I am running into the second issue.
Second issue
When the boot continues, files are loaded from the sd-card into memory, OpenSBI and the kernel are starting. However the kernel gets hung up on
litespi_rxtx
, see the logs below.This is bitstream I am using:
digilent_nexys_video.bin.gz
Hope you can help me, I really would like to get this working.
The text was updated successfully, but these errors were encountered: