Hello, I've tried to implement rtt logging in my own project but the control block cannot be found. So I tried the saadc example and that did not work either, I tried to use the blinky example and enabled LOG_ENABLED and LOG_BACKEND_RTT_ENABLED without luck. I checked my map file and it says that _SEGGER_RTT is placed outside ram somehow, ie not included in ram.
I use nordic sdk 17.1.0 with my nrf52810 chip. Blinky works as the led blinks which means the board is working.
Here is my linker script:
SEARCH_DIR(.) GROUP(-lgcc -lc -lnosys) MEMORY { FLASH (rx) : ORIGIN = 0x0, LENGTH = 192K RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 24K } SECTIONS { } SECTIONS { . = ALIGN(4); .mem_section_dummy_ram : { } .log_dynamic_data : { PROVIDE(__start_log_dynamic_data = .); KEEP(*(SORT(.log_dynamic_data*))) PROVIDE(__stop_log_dynamic_data = .); } > RAM .log_filter_data : { PROVIDE(__start_log_filter_data = .); KEEP(*(SORT(.log_filter_data*))) PROVIDE(__stop_log_filter_data = .); } > RAM } INSERT AFTER .data; SECTIONS { .mem_section_dummy_rom : { } .log_const_data : { PROVIDE(__start_log_const_data = .); KEEP(*(SORT(.log_const_data*))) PROVIDE(__stop_log_const_data = .); } > FLASH .log_backends : { PROVIDE(__start_log_backends = .); KEEP(*(SORT(.log_backends*))) PROVIDE(__stop_log_backends = .); } > FLASH .nrf_balloc : { PROVIDE(__start_nrf_balloc = .); KEEP(*(.nrf_balloc)) PROVIDE(__stop_nrf_balloc = .); } > FLASH } INSERT AFTER .text INCLUDE "nrf_common.ld"
RTT logging works on my nrf51802 chip with sdk 12.3.0 so there is nothing wrong with my jlink or my jlink setup either.
Here is a part of my map file:
.bss._SEGGER_RTT 0x00000000 0x78 _build/nrf52810_xxaa/SEGGER_RTT.c.o
How can I resolve this?