The logging module data is assigned to the memory partition 'k_log_partition' so that a user mode thread can access this data (see k_mem_domain_add_thread()). The 'k_log_partition' is created when: - CONFIG_USERSPACE=y - CONFIG_LOG_ALWAYS_RUNTIME=y The option CONFIG_NO_OPTIMIZATIONS=y forces the logging module to use the runtime message creation CONFIG_LOG_ALWAYS_RUNTIME=y. This raises a MPU violation when logging is used in a user mode thread since this thread is not allowed to access the module data (e.g. __log_level, __log_current_const_data). Note that the user mode thread may also require access to the partition 'z_libc_partition'. Signed-off-by: Christoph Winklhofer <cj.winklhofer@gmail.com> |
||
|---|---|---|
| .. | ||
| backends | ||
| frontends | ||
| mipi_syst | ||
| CMakeLists.txt | ||
| Kconfig | ||
| Kconfig.filtering | ||
| Kconfig.formatting | ||
| Kconfig.links | ||
| Kconfig.misc | ||
| Kconfig.mode | ||
| Kconfig.processing | ||
| Kconfig.template.log_config | ||
| Kconfig.template.log_config_inherit | ||
| Kconfig.template.log_format_config | ||
| log_cache.c | ||
| log_cache.h | ||
| log_cmds.c | ||
| log_core.c | ||
| log_link_ipc_service.c | ||
| log_mgmt.c | ||
| log_minimal.c | ||
| log_msg.c | ||
| log_multidomain_link.c | ||
| log_output_custom.c | ||
| log_output_dict.c | ||
| log_output_syst.c | ||
| log_output.c | ||