Okay, I’ve tried to get it to work, so such luck.
StarFive Vision5 2
Samsung Pro Endurance 32GB SD card
Using Balena Etcher (on macOS), I’ve tried:
I’ve tried the DIP switches in all four possible positions.
I’ve connected a USB<->Serial cable to pins 6, 8, & 10.
I get nothing other than a red LED and a lit Ethernet LED, no green LED, nothing on HDMI, nothing on the serial port (sound familiar)?
I have no clue what to do with the u-boot-spl.bin.normal.out and visionfive2_fw_payload.img files. As best I can tell from the amazingly crappy documentation is that you have to have the Vision5/2 up and running to do anything with these files.
I’m not a kernel hacker, I just want to use the board to write some RISC-V assembly code. If I knew the board wasn’t ready for prime time, I would have waited another year and tried again.
Anyone got some simple solutions? I really can’t afford to waste too much more time with this; I have real work to do.
read through this:
Nothing seems to apply to me, most of the examples assume something comes up at some point or another.
I think changing the dip switches was a wrong move. Try to get them back in the original position.
Image V55 and sdcard.img should at least work by flashing the green led (can take like 20s or more before that happens).
Image 55 should output a signal on the HDMI port, but there are people reporting problems with monitors with a higher resolution than 1080p.
sdcard.img doesn’t output on the HDMI port, but it has ssh enabled. Once you have this image working, you can update the firmware (u-boot-spl.bin.normal.out and visionfive2_fw_payload.img).
Also discovered that I had the TXD/RXD wires switched (for some reason, had labeled the wires from my adapter RXD and TXD meaning “connect to RXD and TXD” rather than the actual functions on the adapter.
Logged in on the HDMI display. Screen went blank after entering password. On Serial port, I’m getting “soft lockup, CPU#1 stuck for nnnn secs”.
I realize they have to be swapped.
I reversed the labels on my cable to match TXD to TXD and RXD to RXD.
Alas, I forgot I’d done that and did the normal RXD->TXD and RXD->TXD.
That’s what I get for trying to make life a little less confusing.
There are strange situations where you really do want to connect RX->RX and TX->TX e.g. with an Arduino. Because the labels on the ports are for 99.999% of normal use cases and not for how the hardware can really be used if you are actually thinking totally outside the box. And misleading labelling would add an extra layer of confusion to the confusion!
Here is the comment from the very strange source code which makes you wonder what is going on, what they are doing looks really stupid, but is the total opposite:
It is a neat trick. The summary would be: Arduino your task is to ignore everything, do absolutely nothing at all. I’m just going to borrow this built-in USB to UART that is normally used to program you, or watch output from your UART, to debug some other hardware.