cancel
Showing results for 
Search instead for 
Did you mean: 

USB Superspeed Peripherals

user_4683771
New Contributor

Hello all,

I have a custom FX3 board with S25FS064S. I programmed the spi flash via control center. I changed the PMODE[0:2] 11F to 1F0 to enable boot from spi flash. When i program a new flash, FX3 can boot from the flash. But when i want to change the img file in the flash, FX3 can't be programmed anymore. I tested the img files with a evaluation board and it worked well with both of the img files. What could be the problem?

Best Regards 

0 Likes
Reply
7 Replies
Hemanth
Moderator
Moderator
0 Likes
Reply
user_4683771
New Contributor

Thank you for your reply.

I am aware of that article. But the flash in my design is S25FS064S, not S25FS128S. In AN76405 EZ-USB® FX3™/FX3S™ Boot Options, the "selecting SPI flash" subsection says that S25FS064S is suitable for FX3. What should i modify in CyBootProgrammer.img ? 

0 Likes
Reply
Hemanth
Moderator
Moderator

Hi,

S25FS064S also has hybrid sectors and hence needs Flash register (CR3NV) write to disable 4KB Erase. The changes mentioned in above KBA is only for  S25FS128S and we need to check if it can be applied to S25FS064S as well (Small changes might be required with respect to address length)

Regards,

Hemanth
0 Likes
Reply
user_4683771
New Contributor

I modified the cyfxflashprog according to the article. Then i programmed the SPI flash with two different image to see whether i can change the program in the flash. I used Control Center to read SPI flash data. I read first 4096 bytes and detect some differences between reads. So it seems i can change program in the flash. Yet, when i set booting from SPI flash, FX3 still can't boot from  SPI  flash. 

In Control Center, FX3 USB Bootloader device seems to be connected. When i attemp to read SPI flash again, i got the following error. 

CONTROL IN transfer
CONTROL IN transfer failed with Error Code:997

Best Regards

0 Likes
Reply
Hemanth
Moderator
Moderator

Hi,

Please see attached snapshot from S25FS064S datasheet. Please let me know if you have taken care of this.

Regards,

Hemanth
0 Likes
Reply
user_4683771
New Contributor

Hello,

As far as i know, 3 bytes addressing is used. Since the default of CR2V is CR2NV and default state of CR2NV is 3 byte adressing, i don't know what to modify. Can you explain what to do?

image.png

Best Regards

0 Likes
Reply
Hemanth
Moderator
Moderator

Hi,

As the address length is 3-byte, no change to the code in KBA is needed. But I think you are already aware of the fact that CR3NV is OTP type register. Please make sure whether the register write you are making is taking effect.

Also please read out entire fx3 image from Flash after you used modified flashprog. Ensuring correct image in Flash is important for booting.

Regards,

Hemanth
0 Likes
Reply