Jumping between programs without USB re-enumeration

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

cross mob
Anonymous
Not applicable
    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   
0 Likes
1 Reply
Anonymous
Not applicable
    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   
0 Likes