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.
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?
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.
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.
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.
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.
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.