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. jlinkRTTClient 工具使用方法
  5. 打开JlinkRTTClient 即可打出log

基于 芯片 nordic 52832 rtt 调试(Mac 电脑)的更多相关文章

  1. Mac电脑使用Android Studio进行真机调试

    第一步: 为mac电脑配置 adb 命令的环境变量,分为2小步 1.找到 Android Studio 为你安装的 SDK : 打开电脑中 Android studio 的工具的软件,在启动 Andr ...

  2. mac电脑的使用

    1. control + command + a 截图 2. shift + command + g 前往 3.在 Mac OS X 中怎样获取当前文件夹的路径 原文网址:https://www.zh ...

  3. Mac电脑如何设置DHCP

    通过设置MAC电脑的DHCP服务器可以为局域网内的其它设备自动分配IP地址,还能把物理地址和IP地址绑定起来,限制IP地址的获取.   OS X 10.11或以上版本已内置DHCP服务器软件,即boo ...

  4. MAC电脑下Appium + python3 + robotframework ios的真机测试环境搭建

    本人的环境搭建前的准备,MAC电脑一台(macOS Mojave 10.14.0及以上),Xcode 10.0及以上   ,自己注册的一个Apple ID 账户,必须你的电脑能连接互联网,最好不要用公 ...

  5. iOS中web app调试(mac)

    原文 iOS中web app调试(mac).md 目录 一.真机联调配置 二.mac上Safari配置及真机联调 三.iOS模拟器使用 四.在iOS模拟器中安装app 近期公司vue项目开发,目的是一 ...

  6. 远程Jenkins新增Mac电脑节点

    一,前言 上一篇博客Jenkins集成appium自动化测试(Windows篇)介绍了怎么使用远程Jenkins新建节点连接本地Windows电脑进行Appium自动化测试集成. 但是在做ios Ap ...

  7. Mac电脑 Android Studio连接小米手机

    1.设置>关于本机>点击5下MIUI版本>激活开发者模式 2.设置>更多设置>开发者选项>开启开发者选项>开启USB调试>开启USB安装>开启显示 ...

  8. 【工具使用】mac电脑使用技巧

    本文地址 分享提纲: 1.  mac命令行和finder的交互 2. 一些mac的插件 3. 一些开发的配置 1.mac命令行和findder交互           1)命令行中打开当前文件夹: o ...

  9. Mac电脑如何读取Android手机上的文件

    问题 一般Android手机用usb数据线连接到windows操作系统的电脑上后,会自动将手机存储卡以移动存储的方式显示在电脑里. 但是如果操作系统是Mac的,就没有这个存储设备.问题来了,Mac电脑 ...

随机推荐

  1. 用cmd命令行创建vue项目模板

    1.进入cmd命令行 输入存放项目的位置 2.通过vue create 项目名称 创建项目 3.选择Manually select features 4.通过空格选中第1.2.5.6.7.去掉8 4. ...

  2. 力扣 - 剑指 Offer 58 - I. 翻转单词顺序

    题目 剑指 Offer 58 - I. 翻转单词顺序 思路1 假如题目要求我们翻转字符串,那么我们可以从末尾往前开始遍历每一个字符,同时将每一个字符添加到临时空间,最后输出临时空间的数据就完成翻转了, ...

  3. Flink入门-第一篇:Flink基础概念以及竞品对比

    Flink入门-第一篇:Flink基础概念以及竞品对比 Flink介绍 截止2021年10月Flink最新的稳定版本已经发展到1.14.0 Flink起源于一个名为Stratosphere的研究项目主 ...

  4. hash 哈希表 缓存表

    系统初始hash表为空,当外部命令执行时,默认会从 PATH路径下寻找该命令,找到后会将这条命令的路径记录到 hash表中,当再次使用该命令时,shell解释器首先会查看hash 表,存在将执行之,如 ...

  5. 『学了就忘』Linux基础命令 — 23、文件基本权限的介绍和作用

    目录 1.基本权限的介绍 (1)权限位的含义 (2)权限的优先级 2.权限的基本作用 (1)权限含义的解释 (2)目录权限说明 1.基本权限的介绍 (1)权限位的含义 前面讲解ls命令时,我们已经知道 ...

  6. 为什么Hashtab的大小通常取远离2^n 的素数

    举个栗子 在Hashtab中我们通常 Hash(key) % M 来确定 key 所需要存放的位置 M就是Hashtab的大小,假设下面的两个场景 Hash(key1) = 108 Hash(key2 ...

  7. 【接口】SpringBoot+接口开发(一)

    一.接口的简单介绍 1.什么是接口:接口及服务: 2.接口的分类:(1)系统的内部接口;(2)第三方的外部接口; 3.简述接口原理图: 4.接口协议:是指客户端跟服务器之间或者接口与接口间进行的通讯时 ...

  8. leetcode 剪绳子系列

    ### 剪绳子一 利用动态规划 状态转移方程 为啥是这个样子?首先  代表 长度为i的绳子被剪去j,且继续剪(子问题)  表示长度为i的绳子被剪去j,不剪了的乘积 注意初始化: n<2 f=0 ...

  9. flask 中的endpoint有什么用?

    url到view function之间的一个中间概念,默认是view function的名字,相比于直接使用view function, 使用end point 提供了一个命名空间,可以让不同蓝图的v ...

  10. 日志收集之rsyslog to kafka

    项目需要将日志收集起来做存储分析,数据的流向为rsyslog(收集) -> kafka(消息队列) -> logstash(清理) -> es.hdfs: 今天我们先将如何利用rsy ...