The attachment is missed.
Please let me know what is your default PMODE settings on your board.
SPI or I2C or USB?
Please share the (PMODE part) schematic.
Hello，we now use a Dip Swith to control the two PMODE pins
and our default swith state is Pmode1=float, Pmode2=0.
Actually,we'd like to fix the Pmode1 and Pmode2 to One state,and using an external Key to realize firmware upgrade
We have the following booting options in CX3:
PMODE[2:0] Boot From
F11 USB boot
F1F I2C, On failure, USB boot is enabled
1FF I2C only
0F1 SPI, On failure, USB boot is enabled
>> our default swith state is Pmode1=float, Pmode2=0.
Is SPI, On failure, USB boot (0F1) is default boot mode?
Is the boards already have a valid firmware?
Yes，I mean the boards already have a valid firmware，and how to update the firmware if I fix Pmode1=float, Pmode2=0？
Then, the device by default boots the same firmware.
If the default firmware loaded in the SPI flash has any way to corrupt the first sector of SPI flash via vendor commands (like - vendor commands to write to SPI Flash), then the device will come up as boot looader after a reset. Becasue the default firmware is corrupted one; so it will fall back to USB bootloader mode. Then, you can update the new firmware.
I have try to pull SPI_CLK to GND ，when I plug the usb connector to PC。And It's recognized as USB mode，So I think it's a method to fall back to usb mode even I fix Pmode1=float, Pmode2=0
Yes, this method works as well.
To do this, you need to touch the hardware right?
If you are fine with this, please go ahead.