.. _retained_mem_api: Retained Memory ############### Overview ******** The retained memory driver API provides a way of reading from/writing to memory areas whereby the contents of the memory is retained whilst the device is powered (data may be lost in low power modes). Configuration Options ********************* Related configuration options: * :kconfig:option:`CONFIG_RETAINED_MEM` * :kconfig:option:`CONFIG_RETAINED_MEM_INIT_PRIORITY` * :kconfig:option:`CONFIG_RETAINED_MEM_MUTEX_FORCE_DISABLE` Mutex protection **************** Mutex protection of retained memory drivers is enabled by default when applications are compiled with multithreading support. This means that different threads can safely call the retained memory functions without clashing with other concurrent thread function usage, but means that retained memory functions cannot be used from ISRs. It is possible to disable mutex protection globally on all retained memory drivers by enabling :kconfig:option:`CONFIG_RETAINED_MEM_MUTEX_FORCE_DISABLE` - users are then responsible for ensuring that the function calls do not conflict with each other. API Reference ************* .. doxygengroup:: retained_mem_interface