1.  代码配置
  2. // <e> NRF_LOG_BACKEND_SERIAL_USES_UART - If enabled data is printed over UART
    //==========================================================
    #ifndef NRF_LOG_BACKEND_SERIAL_USES_UART
    #define NRF_LOG_BACKEND_SERIAL_USES_UART 0 //选择为0
    #endif
    #if  NRF_LOG_BACKEND_SERIAL_USES_UART
    // <o> NRF_LOG_BACKEND_SERIAL_UART_BAUDRATE  - Default Baudrate
     
    // <323584=> 1200 baud 
    // <643072=> 2400 baud 
    // <1290240=> 4800 baud 
    // <2576384=> 9600 baud 
    // <3862528=> 14400 baud 
    // <5152768=> 19200 baud 
    // <7716864=> 28800 baud 
    // <10289152=> 38400 baud 
    // <15400960=> 57600 baud 
    // <20615168=> 76800 baud 
    // <30801920=> 115200 baud 
    // <61865984=> 230400 baud 
    // <67108864=> 250000 baud 
    // <121634816=> 460800 baud 
    // <251658240=> 921600 baud 
    // <268435456=> 57600 baud 
    
    #ifndef NRF_LOG_BACKEND_SERIAL_UART_BAUDRATE
    #define NRF_LOG_BACKEND_SERIAL_UART_BAUDRATE 30801920
    #endif
    
    // <o> NRF_LOG_BACKEND_SERIAL_UART_TX_PIN - UART TX pin 
    #ifndef NRF_LOG_BACKEND_SERIAL_UART_TX_PIN
    #define NRF_LOG_BACKEND_SERIAL_UART_TX_PIN 6
    #endif
    
    // <o> NRF_LOG_BACKEND_SERIAL_UART_RX_PIN - UART RX pin 
    #ifndef NRF_LOG_BACKEND_SERIAL_UART_RX_PIN
    #define NRF_LOG_BACKEND_SERIAL_UART_RX_PIN 8
    #endif
    
    // <o> NRF_LOG_BACKEND_SERIAL_UART_RTS_PIN - UART RTS pin 
    #ifndef NRF_LOG_BACKEND_SERIAL_UART_RTS_PIN
    #define NRF_LOG_BACKEND_SERIAL_UART_RTS_PIN 5
    #endif
    
    // <o> NRF_LOG_BACKEND_SERIAL_UART_CTS_PIN - UART CTS pin 
    #ifndef NRF_LOG_BACKEND_SERIAL_UART_CTS_PIN
    #define NRF_LOG_BACKEND_SERIAL_UART_CTS_PIN 7
    #endif
    
    // <o> NRF_LOG_BACKEND_SERIAL_UART_FLOW_CONTROL  - Hardware Flow Control
     
    // <0=> Disabled 
    // <1=> Enabled 
    
    #ifndef NRF_LOG_BACKEND_SERIAL_UART_FLOW_CONTROL
    #define NRF_LOG_BACKEND_SERIAL_UART_FLOW_CONTROL 0
    #endif
    
    // <o> NRF_LOG_BACKEND_UART_INSTANCE  - UART instance used
     
    // <0=> 0 
    
    #ifndef NRF_LOG_BACKEND_UART_INSTANCE
    #define NRF_LOG_BACKEND_UART_INSTANCE 0
    #endif
    
    #endif //NRF_LOG_BACKEND_SERIAL_USES_UART
    // </e>
    
    // <e> NRF_LOG_BACKEND_SERIAL_USES_RTT - If enabled data is printed using RTT
    //==========================================================
    #ifndef NRF_LOG_BACKEND_SERIAL_USES_RTT
    #define NRF_LOG_BACKEND_SERIAL_USES_RTT 1 //选择为1
    #endif
    #if  NRF_LOG_BACKEND_SERIAL_USES_RTT
    // <o> NRF_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE - RTT output buffer size. 
    // <i> Should be equal or bigger than \ref NRF_LOG_BACKEND_MAX_STRING_LENGTH.
    // <i> This value is used in Segger RTT configuration to set the buffer size
    // <i> if it is bigger than default RTT buffer size.
    
    #ifndef NRF_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE
    #define NRF_LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE 512
    #endif
    
    #endif //NRF_LOG_BACKEND_SERIAL_USES_RTT
    // </e>
    
    // </h> 
    //==========================================================
    
    // </h> 
    //==========================================================
    
    // <h> nRF_Segger_RTT 
    
    //==========================================================
    // <h> segger_rtt - SEGGER RTT
    
    //==========================================================
    // <o> SEGGER_RTT_CONFIG_BUFFER_SIZE_UP - Size of upstream buffer. 
    #ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_UP
    #define SEGGER_RTT_CONFIG_BUFFER_SIZE_UP 64
    #endif
    
    // <o> SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS - Size of upstream buffer. 
    #ifndef SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS
    #define SEGGER_RTT_CONFIG_MAX_NUM_UP_BUFFERS 2
    #endif
    
    // <o> SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN - Size of upstream buffer. 
    #ifndef SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN
    #define SEGGER_RTT_CONFIG_BUFFER_SIZE_DOWN 16
    #endif
    
    // <o> SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS - Size of upstream buffer. 
    #ifndef SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS
    #define SEGGER_RTT_CONFIG_MAX_NUM_DOWN_BUFFERS 2
    #endif
    
    makefile 里面 增加
    CFLAGS += -DNRF_LOG_USES_RTT=1#guang add
    CFLAGS += -DNRF_LOG_USES_UART=0#guang add


     

    增加头文件
    #include "SEGGER_RTT.h"
    
    #define NRF_LOG_MODULE_NAME "MAIN" #include "nrf_log.h" #include "nrf_log_ctrl.h"
    测试代码如下:
       SEGGER_RTT_Init();
       SEGGER_RTT_ConfigUpBuffer(0, NULL, NULL, 0, SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL);
        uint8_t rtt=0;
        while(1){
            xd_delay_ms(1000);
            xd_uart_printf("hello\n");
            NRF_LOG_INFO("UART Start!\r\n");
             rtt++;
            SEGGER_RTT_printf(0, "%d\r\n\r\n",rtt);
          SEGGER_RTT_WriteString(0, "###### Testing SEGGER_printf() ######\r\n");        //xd_uart_printf("\r\n%ds\r\n", i);
           SEGGER_RTT_printf(0, "%sResetting in %d second..%s\n", RTT_CTRL_BG_BRIGHT_RED, 1, RTT_CTRL_RESET);
        }

     

    SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
  3. 工具查看   使用 jlinkExe 命令行来进入命令行,来进行配置连接方式,通信速率。使用jlinkRttClient来观察log。
  4. 基于 芯片 nordic 52832 rtt 调试(Mac 电脑) 随笔 第1张

     

  5. 基于 芯片 nordic 52832 rtt 调试(Mac 电脑) 随笔 第2张

    基于 芯片 nordic 52832 rtt 调试(Mac 电脑) 随笔 第3张

     

  6. jlinkRTTClient 工具使用方法
  7. 打开JlinkRTTClient 即可打出log

 

基于 芯片 nordic 52832 rtt 调试(Mac 电脑) 随笔 第4张

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄