Cypress Perform

Home > Design Support > Cypress Developer CommunityTM > Cypress Forums > USB Controllers > Forcing the FX3 to to do a hard reset

Bookmark and Share
Cypress Developer CommunityTM
Forums | Videos | Blogs | Training | Rewards Program | Community Components



Forcing the FX3 to to do a hard reset
Moderator:
RSKV

Post Reply
Follow this topic



Forcing the FX3 to to do a hard reset

tfritzke posted on 23 Feb 2012 11:23 PM PST
Member
3 Forum Posts

 

Hello everyone,

i'm trying to find a way how i can force the FX3 on the DVK to do a cold reset and reboot from an i2c eeprom.

I'd like to do this via a ep0 control transfer. I'd basically want to know what commands the 'DownloadFx' function is using to reset the FX3 after downloading new firmware into RAM.

 

I'm trying to optimize eeprom programming for production:

1. fresh FX3 with blank eeprom boots into USB bootmode

2. I'm loading the example USBFlashPlog image into the FX3 using the .NET library's DownloadFw function

3. The FX3 reboots into the FlashProgrammer. I'm programming my USB VID/PID into the FX3

Now i want the FX3 to reboot and re-enumerate with my VID/PID pair into USB bootmode.

The .NET calls 'ReConnect' and 'Reset' only seem to do a warm reset, since the FX3 keeps the IDs from the FlashProg.

If i hit the reset button on the DVK, the FX3 boots with my ID pair.

 

Anyone got any ideas?

Regards




Re: Forcing the FX3 to to do a hard reset

aasi posted on 23 Feb 2012 01:35 AM PST
Cypress Employee
1073 Forum Posts

Booting from contents in the EEPROM happens only on hardware reset. I don't think you would be able to achieve it through firmware.

By the way please let me know what is the reason behind this requirement?

Regards,

Anand



Re: Forcing the FX3 to to do a hard reset

RobK posted on 23 Feb 2012 02:32 AM PST
Top Contributor
56 Forum Posts

Hi,

did you try CyU3PDeviceReset(false) ?

Regards!



Re: Forcing the FX3 to to do a hard reset

tfritzke posted on 23 Feb 2012 03:12 AM PST
Member
3 Forum Posts

 My reason behind this is that i'd like to make initial programming of our new modules more automated.

I'm starting with an empty eeprom and the FX3 in USB bootmode and would like to end with a programmed eeprom with my ID pair and the FX3 with those IDs in USB bootmode.

I'd like to do that without replugging/cutting power the FX3 and only 1 application.

So far, all of the above works except the hard reset after i programmed the eeprom with my IDs.

 

I have expanded the USBFlashProg example with a vendor request which calls CyU3PDeviceReset(CyFalse); but that doesnt seem to do a hard reset either. 



Re: Forcing the FX3 to to do a hard reset

RobK posted on 23 Feb 2012 04:07 AM PST
Top Contributor
56 Forum Posts

Hm ... according to API-guide it should work with CyU3PDeviceReset(false): "If the warm boot option is selected, the
firmware in the FX3 RAM shall be maintained otherwise it shall be discarded and freshly loaded."

2nd option would be to wire a GPIO to #Reset-pin of FX3 and pull the GPIO to LOW to execute a hard reset.



Re: Forcing the FX3 to to do a hard reset

tfritzke posted on 23 Feb 2012 07:12 AM PST
Member
3 Forum Posts

 I must have done something wrong expanding the example with CyU3PDeviceReset.

It does work now and it also causes the FX3 to fetch the new IDs from the eeprom, so that's good.

Going to give the .NET functions another try.



Re: Forcing the FX3 to to do a hard reset

hixvon posted on 23 Mar 2012 07:31 AM PST
Member
2 Forum Posts

Hello,

I have added CyU3PDeviceReset function to my firmware and I have next results:

cold reset - resets and renumerate device, but device doesn't start up from SPI and appeers in "Device Manager" as BootLoader.

warm reset - device disappears from Device Manager.

Please comment. Thank you in advance.

Regards

 



Re: Forcing the FX3 to to do a hard reset

hixvon posted on 23 Mar 2012 08:21 AM PST
Member
2 Forum Posts

Hello,

I have found problem, it was in connected pereiphery.

Regards






ALL CONTENT AND MATERIALS ON THIS SITE ARE PROVIDED "AS IS". CYPRESS SEMICONDUCTOR AND ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY OF THESE MATERIALS FOR ANY PURPOSE AND DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THESE MATERIALS, INCLUDING BUT NOT LIMITED TO, ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHT. NO LICENSE, EITHER EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, IS GRANTED BY CYPRESS SEMICONDUCTOR. USE OF THE INFORMATION ON THIS SITE MAY REQUIRE A LICENSE FROM A THIRD PARTY, OR A LICENSE FROM CYPRESS SEMICONDUCTOR.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms and Conditions of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms and Conditions of this site. Cypress Semiconductor and its suppliers reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.