The board seems to have wrong firmware

I just got this HiFive1 RevB board which I got through sifive.com, but it was delivered from mouser.com,

It looks like the board has wrong fimrware:

  • it does not print the message shown in the ‘getting started’ guide, this is what it prints instead:
rst:0x1 (POWERON_RESET),boot:0x12 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:5552
ho 0 tail 12 room 4
load:0x40078000,len:0
load:0x40078000,len:13756
entry 0x40078fb4
I (30) boot: ESP-IDF v3.0.1 2nd stage bootloader
...
I (709) wifi: mode : null
E (710) HSPI-AT: Cannot get read data address.
I (711) wifi: mode : sta (3c:71:bf:b9:81:bc) + softAP (3c:71:bf:b9:81:bd)
I (720) wifi: mode : null
I (1543) wifi: flush txq
I (1544) wifi: stop sw txq
I (1544) wifi: lmac stop hw txq

It does show up as a removable storage device in the File manager window, but attempts to open it result in an error pop up "Could not display /media/{USER}/HiFive. The location is not a folder’

Is there any way to revive this?

Hi,
There are two serial devices visible to a host machine connected to HiFive1 revB via USB. Please check the serial output from the other serial device (the lower enumerated device).

Ah, you are rgiht! I thought I checked both, but I guess not.

So, I see the advertized output on ACM0, but still see the “The location is not a folder” error.

How is this supposed to work - the firmware implements USB storage device?

Hi,

Good to hear that the board is working for you and thanks for reaching out for help.

You can drag-n-drop a hex file to write the flash on the board. First compile a program and create a hex file, then you can drag-n-drop the hex file using a file explorer on the host machine to program the board.

I don’t seem to be able to copy the program to the board using GUI, I get the same “The destination is not a folder” error

Ah, never mind, after I tried to upload a program using e-sdk a window popped up suggesting to update the board firmware which I allowed, and then I was able to load the test program to the board.

Thank you for your help Jim

One more question: do I get it right that there is no external RAM on HiFive1 RevB, and all there is is the onchip 16KB?

That’s right. You could add more RAM via SPI (for example). The FE310-G002 has three SPI interfaces. One is used for the flash, one for communication with the ESP32, and one is available on Arduino GPIO pins 2,3,4,5,9,10. I don’t know which pin is which – I think it’s got multiple chip-select pins.

You’d have to fully manage copying things back and forth to external RAM yourself.