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

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