Skip to main content
Arnold Lee
Associate
June 7, 2018
Question

FCCU stuck on state change [SPC564L70]

  • June 7, 2018
  • 1 reply
  • 1343 views
Posted on June 07, 2018 at 09:09

Hi guys,

I have a problem with my code where FCCU get stuck waiting for state change from NORMAL to CONFIG.

I have isolated the FCCU configuration code which I can share with you for demonstration.

But this peace of SW if company confidential and I cannot share it on public community.

Could you help me with it?

Peter

    This topic has been closed for replies.

    1 reply

    Erwan YVIN
    ST Employee
    June 7, 2018
    Posted on June 07, 2018 at 11:14

    Hello Arnold ,

    Maybe , you should check :

    'The software must not modify the OPR field until the completion of the operation (any write

    operation will be ignored until then). After the operation has been completed, the OPS field is set

    and the OPR field is automatically cleared (OPR = 000).'

       Best regards

               Erwan

    Arnold Lee
    Associate
    June 11, 2018
    Posted on June 11, 2018 at 09:26

    Hi Erwan,

    There is no other ongoing operation as this is first time since reset I am entering into CONFIG mode.

    I do as follow:

    1. Unlock FCCU for OP1  (FCCU_CTRLK = 0x9137_56AF)

    2. waiting for operation compleate

    But here I never pass the while loop.

    As I said I have project where I can demonstrate my issue, but I cannot share it publicly here.

    Could you help me?

    Arnold
    Erwan YVIN
    ST Employee
    June 11, 2018
    Posted on June 11, 2018 at 11:04

    Hello Arnold ,

    Have you tried this code ?

    #define CTRL_OPR10x00000001/* 00001: Set the FCCU into the CONFIG state [OP1] */
    #define CTRLK_OP10x913756AF/* = 913756AFh: Key for the operation OP1 */
    �?�?
    /********************************************************************************
    * FUNCTION : FCCU_CONFIG_STATE
    *
    * DESCRIPTION : The system goes in CONFIG State
    *
    * CALLS :
    *
    * INPUT :
    *
    * OUTPUT :
    *********************************************************************************/
    uint32_t FCCU_CONFIG_STATE(void){
     FCCU.CTRLK.R = CTRLK_OP1;/* Key for the operation OP1 */
    
     FCCU.CTRL.R = CTRL_OPR1;/* Set the FCCU into the CONFIG state [OP1] */
    // while((FCCU.CTRL.R != 0x1C0)); /* wait for the completion of the operation */
    /* C.Aub, 28Jan14: replaced with next line*/
    /* wait for the completion of the operation */
    while(FCCU.CTRL.B.OPS != 3) { asm('nop'); };
     return(PASSED);
    }�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?

    Best regards

    Erwan