'-t' crashes the program running on soft CPU. What I mean is that it touches the flash memory, so the program running on the RISC-V crashes. Worse, it puts the flash in a state so that even when I hit nprogram, the FPGA can not reconfigure itself (done does not go high). So:
-
I think you should have two options: one to just read the FPGA's ID to verify that the connection is working, and another that does that, but also tries to probe the flash memory.
-
Try to figure out why the FPGA can't reconfigure and fix it. Maybe the flash gets into a bad state after ecpprog is done but the RISC-V again tries to read it, I'm not sure.
I've been trying it on the trenz electronic Cruvi Certux-NX board. This comes pre-progammed with the litex bootloader, this is the program that crashes when you use '-t'.
'-t' crashes the program running on soft CPU. What I mean is that it touches the flash memory, so the program running on the RISC-V crashes. Worse, it puts the flash in a state so that even when I hit nprogram, the FPGA can not reconfigure itself (done does not go high). So:
I think you should have two options: one to just read the FPGA's ID to verify that the connection is working, and another that does that, but also tries to probe the flash memory.
Try to figure out why the FPGA can't reconfigure and fix it. Maybe the flash gets into a bad state after ecpprog is done but the RISC-V again tries to read it, I'm not sure.
I've been trying it on the trenz electronic Cruvi Certux-NX board. This comes pre-progammed with the litex bootloader, this is the program that crashes when you use '-t'.