使用J-Link SEGGER RTT来打印输出调试信息

1.使用JLINK SEGGER RTT打印调试信息

很简单,首先从Jlink官网上下载RTT代码,然后将这四个文件添加到自己工程中去,并且在主程序工程中添加SEGGER_RTT.h文件

2. 下载集成文件(4个)

很简单,首先从Jlink官网上下载RTT代码,然后将这四个文件添加到自己工程中去,并且在主程序工程中添加SEGGER_RTT.h文件

之后可以使用SEGGER_RTT_printf(0," mes_id = 0x%02X, cur_flg = 0x%02X \r\n", msg_id, cur_flg); 打印调试信息,在JLINK安装目录中打开J-Link RTT Viewer,就可以看到调试信息。初步测试好像不能打印浮点型的数据。

3.RTT Viewer使用

使用J-Link SEGGER RTT来打印输出调试信息_第1张图片

注意device以及RTT Control Block配置,成功输出后,则如下图显示:

使用J-Link SEGGER RTT来打印输出调试信息_第2张图片

自行开发上位机显示RTT Viewer,这样就可以增加Timestamp来定位log产生的时间戳:

使用J-Link SEGGER RTT来打印输出调试信息_第3张图片

至于时间戳的显示,使用QT的富文本编辑器,采用HTML格式进行显示:

import os
from datetime import datetime
from PyQt5.QtCore import Qt, QRect, QSize
from PyQt5.QtWidgets import QWidget, QPlainTextEdit, QTextEdit
from PyQt5.QtGui import QColor, QPainter, QTextFormat

class QCodeEditor(QPlainTextEdit):
    def __init__(self, parent=None):
        super().__init__(parent)

    def setHtml(self, text):
        line = '[{}] {}'.format(datetime.now().strftime("%H:%M:%S.%f"), text)
        self.appendHtml(line)

这个可以参考pyJlink,这个是SEGGER提供的,在官方网站可以下载,在github下载也是可以的。

 

你可能感兴趣的:(Python,pyqt5,嵌入式)