Cypress Perform

Home > Design Support > Cypress Developer CommunityTM > Cypress Forums > USB Controllers > Jumping between programs without USB re-enumeration

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



Jumping between programs without USB re-enumeration
Moderator:
RSKV

Post Reply
Follow this topic



Jumping between programs without USB re-enumeration

kalev posted on 18 Sep 2012 4:54 AM PST
Senior Member
15 Forum Posts
Hi,
 
I need to jump between programs without USB re-enumeration in any combination: from boot loader to application, from application to boot loader, from application to application, from boot loader to boot loader. Additionally, every program is built with different FX3 API version.
Unfortunately currently supported jump variants are too limited. For example it's not supported jumping from initial application (loaded from I2C flash at power on) to secondary boot loader (loaded by application).
I detected that there is some memory area at address 0x40002000 used for passing parameters between boot loader and application. API functions verify and update this data before/after performing the jump. Could you make this data structure public so the designers could build/modify it according the programs they jump from/to.
 
BTW, what is the intention of CyU3PUsbSetBooterSwitch function.  I see that CyU3PUsbJumpBackToBooter performs a jump only if CyU3PUsbSetBooterSwitch has been called before. But why it's separated from CyU3PUsbJumpBackToBooter and not included/hidden in it.
 
Regards,
K



Re: Jumping between programs without USB re-enumeration

kalev posted on 19 Sep 2012 12:31 AM PST
Senior Member
15 Forum Posts
Hi,
 
Along with making parameters structure public, please consider providing also more general jump function that does not verify/modify parameters. Jump function does not know where I jump (i.e. it does not know what parameters the next program expects), especially if I jump to program that is built with newer (currently not existing) FX API version. Let the users to be responsible for setting correct parameters for programs they jump to - only they know where they jump.
 
Thanks,
K





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.