This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Choosing loggers

Hi

I am wondering how to choose among different logger mechanisms available in nRF SDK v16.0.

I noticed that some examples doesn't use any logger at all (e.g. blinky) while many examples uses logging. I would like to choose a proper logging thus need a comprehensive comparison of different logger choices?

  • Logging mode: I guess deferred logging is high performing but it requires RAM overhead and app trigger of NRF_LOG_PROCESS(). 
  • Logging backend: RTT is faster than UART, but requires JLink connection (also contains extra empty line after each line)
  • Resource usage: in terms of # of pins, PPI channels, GPIOTE channels, RAM etc.

Can someone share some insights or experiences?

I am currently using RTT logger, assuming it uses no extra PINs. Not sure if this is the right choice?

Regards,

yf13

Parents
  • Hi,

    You read about the logger(nrf_log) at this link.

    RTT logger, assuming it uses no extra PINs.

    Correct. You only need the debugger/programmer pins(SWD IO/CLK).

    Not sure if this is the right choice?

    It depends on what suits your needs the best. If you have a JLink connection, then using RTT is very good choice. If you are using Segger Embedded Studio you can get the RTT log directly in the IDE terminal, and you don’t need to open another terminal program to see the log.

Reply
  • Hi,

    You read about the logger(nrf_log) at this link.

    RTT logger, assuming it uses no extra PINs.

    Correct. You only need the debugger/programmer pins(SWD IO/CLK).

    Not sure if this is the right choice?

    It depends on what suits your needs the best. If you have a JLink connection, then using RTT is very good choice. If you are using Segger Embedded Studio you can get the RTT log directly in the IDE terminal, and you don’t need to open another terminal program to see the log.

Children
Related