Threading Primitives#

Threading primitive implementation for mbed TLS.

This file contains the glue logic between the mbed TLS threading API and CMSIS RTOS2 API.

In order to enable support for Micrium OS backend the user must make sure SL_CATALOG_MICRIUMOS_KERNEL_PRESENT is defined. In order to enable support for FreeRTOS backend the user must make sure SL_CATALOG_FREERTOS_KERNEL_PRESENT is defined.

Applications created using Simplicity Studio 5 the sl_component_catalog.h file will define one of the above in order to declare the presence of a specific RTOS.

Note

  • In order to use the Silicon Labs Hardware Acceleration plugins in multi-threaded applications, select Mbed TLS support for EFM32/EFR32 crypto acceleration component.

Functions#

void
mbedtls_threading_set_alt(void(*mutex_init)(mbedtls_threading_mutex_t *), void(*mutex_free)(mbedtls_threading_mutex_t *), int(*mutex_lock)(mbedtls_threading_mutex_t *), int(*mutex_unlock)(mbedtls_threading_mutex_t *))
void

Helper function for setting up the mbed TLS threading subsystem.

Function Documentation#

mbedtls_threading_set_alt#

void mbedtls_threading_set_alt (void(*)(mbedtls_threading_mutex_t *) mutex_init, void(*)(mbedtls_threading_mutex_t *) mutex_free, int(*)(mbedtls_threading_mutex_t *) mutex_lock, int(*)(mbedtls_threading_mutex_t *) mutex_unlock)
Parameters
TypeDirectionArgument NameDescription
void(*)(mbedtls_threading_mutex_t *)N/Amutex_init
void(*)(mbedtls_threading_mutex_t *)N/Amutex_free
int(*)(mbedtls_threading_mutex_t *)N/Amutex_lock
int(*)(mbedtls_threading_mutex_t *)N/Amutex_unlock

THREADING_setup#

static void THREADING_setup (void )

Helper function for setting up the mbed TLS threading subsystem.

Parameters
TypeDirectionArgument NameDescription
voidN/A