"Failed to register thread/mutex/semaphore/event monitoring GPIO, status = 255" - KBA218736

Version 2

    Version: **

     

    Question:

    How to resolve the problem of “Failed to register thread/mutex/semaphore/event monitoring GPIO, status = 255”

     

    Answer:

    This error appears if you do not enable CYU3P_PROFILE_EN macro because the libcyu3threadx.a library already has enabled the feature.

     

    UINT  tx_thread_set_profile_gpio(TX_THREAD *thread_ptr, ULONG gpio_id)
    {
    #ifdef CYU3P_PROFILE_EN
    /* *******************
    S…..……
    ………..
    **************/
         /* Return success to caller.  */
         return(TX_SUCCESS);
    #else
         /* Feature is not enabled, return error.  */
         return(TX_FEATURE_NOT_ENABLED);  //return error code 0xFF
    #endif
    }

     

    In the following snapshot of fx3_profile_debug.mak, when building the library, the definition CYU3P_PROFILE_EN=1 is enabled.

     

    1.png

     

    So, you could choose the library from the following steps.

     

    2.png

     

    This selection will the library in the following PATH: "${FX3_INSTALL_PATH}/fw_lib/${FX3SDKVERSION}/fx3_profile_debug"

     

    3.png

     

    Then you could NOT see the previously error.

     

    4.png