Firmware update (change to USB Boot Mode by software?)

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi,

   

I have configured the Boot Mode to "SPI, USB on failure". If i want to update the firmware, i have to change the configuration on the PMODE pins to "USB" boot. I'm now asking myself if there is a possibility to download the firmware without changing the PMODE pins? I mean for developemnt it's not a problem. But if we deliver the device and the customer should set some jumpers or press a button to make a firmware update, this wouldn't be very nice. Can we do something by software?

   

 

   

Best regards

   

Walt

0 Likes
1 Solution
Anonymous
Not applicable

Yes. We can do that.

   

You can develop a small application in the PC to send a specific vendor command (let say Cmd_to_Erase) to FX3.

   

Your application firmware should be supporting this command. When FX3 gets the required vendor commad then do erase the signature of the image file that is stored in the SPI EEPROM. And when the end user hits the reset (disconnect and connect it back) then FX3 bootloader falls back to USB since there is some invalid image in the SPI EEPROM. Then user can re-program it.

   

Regards,

   

sai krishna.

View solution in original post

0 Likes
8 Replies
Anonymous
Not applicable

Yes. We can do that.

   

You can develop a small application in the PC to send a specific vendor command (let say Cmd_to_Erase) to FX3.

   

Your application firmware should be supporting this command. When FX3 gets the required vendor commad then do erase the signature of the image file that is stored in the SPI EEPROM. And when the end user hits the reset (disconnect and connect it back) then FX3 bootloader falls back to USB since there is some invalid image in the SPI EEPROM. Then user can re-program it.

   

Regards,

   

sai krishna.

0 Likes
Anonymous
Not applicable

Hey Sai,

   

thanks for your reply. That's a good idea and i will try it that way.

   

Best regards

   

Walt

0 Likes
Anonymous
Not applicable

If you implement a vendor comand to erase the first bytes of SPI flash, you can implement the whole code to erase all the flash content and write the new firmware image to the flash. I think this is only a very litte more work...

0 Likes
Anonymous
Not applicable

Hi Chris,

   

Yes you are right. Thank you.

   

Best regards

   

Walt

0 Likes
Anonymous
Not applicable

Hi Krishna/all,

Can you please give an example of how to do this? I can send the command via the vendor, but I'm unsure how to do the following step:

When FX3 gets the required vendor commad then do erase the signature of the image file that is stored in the SPI EEPROM. And when the end user hits the reset (disconnect and connect it back) then FX3 bootloader falls back to USB since there is some invalid image in the SPI EEPROM. Then user can re-program it.

I need code to simply invalidate the image stored on the SPI EEPROM, can you please help with this?

Thankyou!

0 Likes

You can simply erase the code stored in the spi flash.

Or is this the problem?

0 Likes
Anonymous
Not applicable

Hi,

I would like to know how to erase the spi flash in firmware on the FX3. Can you please help with this?

Thanks,

0 Likes

The fact is that the "firmware" is not in the chip FX3 itself, but in the external chip, it's SPI flash chip.

Here it must be programmed (including erase)

You can write a separate program code part that would erase this chip using other, unused pins.

You can use the software implementation of SPI.

0 Likes