logging: subsystem major redesign
Adding new implementation of logging subsystem. New features includes: support for multiple backends, improving performance by deferring log processing to the known context, adding timestamps and logs filtering options (compile time, runtime, module level, instance level). Console backend added as the example backend. Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
This commit is contained in:
parent
0b00493d86
commit
bbeef4155c
22 changed files with 3212 additions and 1 deletions
|
@ -15,6 +15,13 @@
|
|||
SHELL_INIT_SECTIONS()
|
||||
} GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
|
||||
|
||||
SECTION_DATA_PROLOGUE(log_dynamic_sections, (OPTIONAL),)
|
||||
{
|
||||
__log_dynamic_start = .;
|
||||
KEEP(*(SORT(.log_dynamic_*)));
|
||||
__log_dynamic_end = .;
|
||||
} GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
|
||||
|
||||
SECTION_DATA_PROLOGUE(_static_thread_area, (OPTIONAL), SUBALIGN(4))
|
||||
{
|
||||
_static_thread_data_list_start = .;
|
||||
|
|
|
@ -59,3 +59,17 @@
|
|||
_bt_settings_end = .;
|
||||
} GROUP_LINK_IN(ROMABLE_REGION)
|
||||
#endif
|
||||
|
||||
SECTION_DATA_PROLOGUE(log_const_sections, (OPTIONAL),)
|
||||
{
|
||||
__log_const_start = .;
|
||||
KEEP(*(SORT(.log_const_*)));
|
||||
__log_const_end = .;
|
||||
} GROUP_LINK_IN(ROMABLE_REGION)
|
||||
|
||||
SECTION_DATA_PROLOGUE(log_backends_sections, (OPTIONAL),)
|
||||
{
|
||||
__log_backends_start = .;
|
||||
KEEP(*(".log_backends"));
|
||||
__log_backends_end = .;
|
||||
} GROUP_LINK_IN(ROMABLE_REGION)
|
||||
|
|
|
@ -107,6 +107,11 @@
|
|||
KEEP(*(".shell_cmd_*")); \
|
||||
__shell_cmd_end = .; \
|
||||
|
||||
/*
|
||||
* link in shell initialization objects for all modules that use shell and
|
||||
* their shell commands are automatically initialized by the kernel.
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_APPLICATION_MEMORY
|
||||
|
||||
#ifndef NUM_KERNEL_OBJECT_FILES
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue