基於 芯片 nordic 52832 rtt 調試(Mac 電腦)

  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);
        }

     

  3. 工具查看   使用 jlinkExe 命令行來進入命令行,來進行配置連接方式,通信速率。使用jlinkRttClient來觀察log。
  4.  

  5.  

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章