Device does not boot anymore after incorrectly firmware boot

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

cross mob
maHe_281876
Level 1
Level 1

Hallo,

   

I download my image file into the RAM of the FX3 with the CyControl. After that, the device dont boot, perhaps because the firmware is incorrectly. If I reset the the device, the FX3 also didtnt boot as cypress device. So that it does again, I need a reboot of the PC.

   

What is the problem?

   

My system is Win7 64 with the latest renesas driver.

   

Marco

0 Likes
9 Replies
Anonymous
Not applicable

Sounds like a PC issue. I've seen issues like this when we violate the spec on the protocol side like say sending a 1024 byte bulk packet in high speed mode.

   

When this happens have you tried power cycling FX3 board and connect it to another PC?

   

Regards,

   

Anand

0 Likes
maHe_281876
Level 1
Level 1

Hallo,

   

The only thing that I do, I take the example BulkLoopManualInOut and change the SS-Interface decriptor at NumerOfEP: 1 and remove the SS-ProducerEP. With this steps, the device didnt boot. With no changes on this example, the device works fine.

   

On the other hand, CyControl reports "programming failed" on every firmware download, regardless if the firmware works or not.

   

 

   

Thanks

0 Likes
maHe_281876
Level 1
Level 1

Hallo,

   

 

   

In the case that the device didnt boot after programming and reset, I plug it on a USB2 port and the Cypress Bootloader is booted.

0 Likes
Anonymous
Not applicable

 I've seen inconsistency in the descriptor table cause these kind  of issues.

   

The host parses the descriptor something (esp length) doesn't match can drive it crazy. Please upload your descriptor file here, I would like to take a look at it.

   

Regards,

   

Anad

0 Likes
lock attach
Attachments are accessible only for community members.
maHe_281876
Level 1
Level 1

Hallo here is my descriptor file, that dont works.

0 Likes
Anonymous
Not applicable

It seems like you've not edited the /* Length of this descriptor and all sub descriptors */ field with appropriate length.

   

So the response would be claiming to send more data than it is actually sending which would confuse the hosts parsing algorithm.

   

Regards,

   

Anand

0 Likes
maHe_281876
Level 1
Level 1

Hallo,

   

 

   

Can you tell me the point exactly? I dont no what you mean.

0 Likes
Anonymous
Not applicable

I'm talking about the value 0x2C, 0x00 in the ss descriptor it gives the total length of the configuration descriptor. If you remove the endpoint and companion descriptor of a endpoint it has to be decreased accordingly.

   

Regards,

   

Anand

0 Likes
maHe_281876
Level 1
Level 1

Wow thank you very much. It works 🙂

   

               Best Regards

   

Marco

0 Likes