|
F439_CPP_TX-RX_LoRa_Project
|
Implementation of newlib lock interface. More...
#include <cmsis_compiler.h>#include <newlib.h>#include <stdatomic.h>#include "stm32_lock.h"#include <reent.h>
Data Structures | |
| struct | __attribute__ |
Functions | |
| __WEAK void | Error_Handler (void) |
| Global Error_Handler. | |
| void | __malloc_lock () |
| Acquire malloc lock. | |
| void | __malloc_unlock () |
| Release malloc lock. | |
| void | __env_lock (struct _reent *reent) |
| Acquire env lock. | |
| void | __env_unlock (struct _reent *reent) |
| Release env lock. | |
| void | __tz_lock () |
| Acquire tz lock. | |
| void | __tz_unlock () |
| Release tz lock. | |
| int | __cxa_guard_acquire (CxaGuardObject_t *guard_object) |
| Acquire __cxa_guard mutex. | |
| void | __cxa_guard_abort (CxaGuardObject_t *guard_object) |
| Abort __cxa_guard mutex. | |
| void | __cxa_guard_release (CxaGuardObject_t *guard_object) |
| Release __cxa_guard mutex. | |
Implementation of newlib lock interface.
This file implements locking glue necessary to protect C library functions and initialization of local static objects in C++. Lock strategies are defined in stm32_lock.h that implements different level of thread-safety.
For more information about which C functions need which of these low level functions, please consult the newlib libc manual, see https://sourceware.org/newlib/libc.html
For more information about the one-time construction API for C++, see https://itanium-cxx-abi.github.io/cxx-abi/abi.html#once-ctor
Copyright (c) 2025 STMicroelectronics. All rights reserved.
This software is licensed under terms that can be found in the LICENSE file in the root directory of this software component. If no LICENSE file comes with this software, it is provided AS-IS.
| __WEAK void Error_Handler | ( | void | ) |
Global Error_Handler.