emard / ulx3s-bin

Quickstart binaries for flashing ULX3S to factory-default state
25 stars 8 forks source link

esp32 uploads fail every time... #11

Open sebeaumont opened 2 years ago

sebeaumont commented 2 years ago

All good until here -- then either get timeouts waiting for esp32 header or if I used latest esptools: esp32 wrong boot mode detected... do I need to be soldering caps on the board or is there some magic button?

cd esp32
./burn-efuse-flash-3v3.sh
Upload ESP32 websvf application and SPI filesystem to ESP32 (choose appropriate for 12F/25F/45F/85F chip)

cd esp32
./upload-executable.sh
./upload-spiffs.sh websvf_sd/websvf_sd_v20_12f.spiffs.bin
If upload fails with error or doesn't progress, press Ctrl-C and retry until it succeeds with:

Hash of data verified.

Really? Like how many times is reasonable?

Board is

ULX3S FPGA85K v3.0.8

It's worth mentioning that I've had a LiteX built RiscV core running quite successfully on the board so far; then I discovered this documentation and binaries for the board and would like to get the wireless JTAG working... is this feasible?

Self test and passthrough all seem to work as documented but the esp32 seems to be a troublesome beast, requiring caps to be hacked onto boards AFAICT but I would have thought you'd have solved that on this board here. Is there a recommended fix/patch?

sebeaumont commented 2 years ago

Note boards PCB v3.1.x: if esptool.py can't program when passthru bitstream is loaded, connect TMS and GND at JTAG header and try programming then.

This did not work either - seems like I've got a duff piece of kit here. I might just return it to Mouser.

sebeaumont commented 2 years ago

external JTAG seems not to work either... I've given up and gone back to RiscV softcores and LiteX. At least it works for that.

emard commented 2 years ago

HI!

Here's new binary which includes more recent passthru (but also write protects flash DFU bootloader area). openfpgaloader can override such protection.

For boards v3.0.x there is v20 compatible passthru. In fact v2.0.x and v3.0.x boards are electrically the same for passthruusage. New boards v3.1.7 are different because new ESP32 with extra RAM must be differently connected otherwise it won't boot with extra RAM enabled. Still I think passthru itself can be exchanged between boards with less reliability but it's best to match board version

https://github.com/emard/ulx3s-bin/tree/master/fpga/dfu/12f-v20 https://github.com/emard/ulx3s-bin/tree/master/fpga/dfu/85f-v20

On Thu, Apr 14, 2022 at 9:25 AM Simon Beaumont @.***> wrote:

external JTAG seems not to work either... I've given up and gone back to RiscV softcores and LiteX. At least it works for that.

— Reply to this email directly, view it on GitHub https://github.com/emard/ulx3s-bin/issues/11#issuecomment-1098792921, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC4K2R2Z55QKI4YTPKJGSW3VE7B7FANCNFSM5TMCJTEQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

sebeaumont commented 2 years ago

Many thanks for the update -- meanwhile I got the JTAG wires working nicely -- its superfast with openocd; I'll give it a try.