adamgreig/ecpdap

Flash programming errors out on a colorlight i5 development board

tomverbeure opened this issue · 3 comments

When I run various ecpdap flash commands, I always get an error. Sometimes the command still works, but flashing itself does not.

Results for different options:

id:

tom@thinkcenter:~/projects/spdif_pmod/fpga/colorlight_i5$ ~/Downloads/ecpdap_linux_x86_64 flash id
 2021-01-20T20:26:12.526Z ERROR spi_flash::sfdp > Did not read enough SFDP bytes: got 16, needed 24
Manufacturer 0xC8 (Apple Computer), Device 0x14/0x4015, Unique ID: 384832393117352D
Finished in 0.23s

scan:

tom@thinkcenter:~/projects/spdif_pmod/fpga/colorlight_i5$ ~/Downloads/ecpdap_linux_x86_64 flash scan
 2021-01-20T20:28:40.078Z ERROR spi_flash::sfdp > Did not read enough SFDP bytes: got 16, needed 24
Reading flash ID...
Manufacturer 0xC8 (Apple Computer), Device 0x14/0x4015, Unique ID: 384832393117352D

Reading flash parameters...
No SFDP header found. Check flash supports SFDP.
Reading status registers...
Status 1: 0x00, status 2: 0x00, status 3: 0x00
BP0: false, BP1: false, BP2: false, SEC: false, TB: false
Finished in 0.24s

erase: (seems to work)

tom@thinkcenter:~/projects/spdif_pmod/fpga/colorlight_i5$ ~/Downloads/ecpdap_linux_x86_64 flash erase
 2021-01-20T20:29:01.679Z ERROR spi_flash::sfdp > Did not read enough SFDP bytes: got 16, needed 24
  Erasing
Finished in 1.95s

write:

tom@thinkcenter:~/projects/spdif_pmod/fpga/colorlight_i5$ ~/Downloads/ecpdap_linux_x86_64 flash write spdif_test.bit 
 2021-01-20T20:29:46.450Z ERROR spi_flash::sfdp > Did not read enough SFDP bytes: got 16, needed 24
Error: No erase instruction has been specified.

I'm pretty sure this is the same bug that by coincidence someone else reported a few hours ago on the same board in #9; are you able to try building from this repository (or just cargo install ecpdap if you have Rust installed)? If not I can also upload a prebuilt binary to check against.

(Here's a pre-built Linux executable which hopefully will work for your flash, so long as your system has similar libc/libusb versions to me: ecpdap_linux_x86_64_spi-flash_0_2_2.zip)

The issue is fixed with the new binary. Thanks!