3、python获取jlink数据显示

在嵌入式开发过程中用的比较多的是jlink烧写程序,有时需要通过jlink直接读取芯片内的数据
因此借用python工具去获取,并可以抓取任何想要的数据,就是直接读取地址就可以获取到。
电脑安装的jlink可以直接打开用
在这里插入图片描述
在这里插入图片描述
通过对应的命令既可以控制jlink读写数据
在这里插入图片描述

import pylink
import re, threading,time
from tkinter import filedialog  # 路径选择
from tkinter import *
import matplotlib
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk
from matplotlib.figure import Figure
import numpy as np
import tkinter
import os
from tkinter.messagebox import *
pwd = os.getcwd()
main_path=pwd + '\\save_wave\\'#文件保存路径,如果不存在就会被重建
if  not os.path.exists(main_path):#如果路径不存在
    os.makedirs(main_path)
'''参数'''
print('参数解析')

if 1:
    filepath = r'param.log'
    logfile = open(filepath, 'r',encoding="utf-8")
    line = logfile.readline()
    print(line)
    SN = re.findall(r"SN:([0-9]+)", line)[0]
    line = logfile.readline()
    print(line)
    dev_id = re.findall(r"DEV:([-a-zA-Z0-9_]+)", line)[0]
    line = logfile.readline()
    print(line)
    show_num = int(re.findall(r"SHOWNUM:([0-9]+)", line)[0])
    line = logfile.readline()
    print(line)
    addr_32 = int(re.findall(r"ADDR_32:([a-zA-Z0-9]+)", line)[0],16)
    line = logfile.readline()
    print(line)
    up_limit = int(re.findall(r"UP:([-0-9]+)", line)[0])
    line = logfile.readline()
    print(line)
    down_limit = int(re.findall(r"DOWN:([-0-9]+)", line)[0])
    line = logfile.readline()
    print(line)
    judge_32 = int(re.findall(r"JUDGE_32:([a-zA-Z0-9]+)", line)[0],16)
    line = logfile.readline()
    print(line)
    judge_cmd = re.findall(r"JUDGE_CMD:(.+)", line)[0]
    print("SN {} DEV {} shownum = {} addr32 = {} judge_32 {} up_limit {}  down_limit {} judge_cmd {}".format(SN,dev_id,show_num,addr_32,judge_32,up_limit,down_limit,judge_cmd))
    logfile.close()

root = Tk()  # 创建窗口对象的背景色
root.title("JlinkCapture")
root.geometry('700x500')
# root.iconbitmap('Jlink.ico')
 #按钮
# button = Button(root,text='选择文件',bg='lightblue',width=10,command=get_xl)
# button.place(x=400,y=1)

'''jlink'''
myJLINK = pylink.JLink()
'''59800879     59701276    4294967295'''
# myJLINK.open('59800879')
myJLINK.open(SN)
myJLINK.set_tif(pylink.enums.JLinkInterfaces.SWD)
myJLINK.connect(dev_id)

f = Figure(figsize=(1, 1), dpi=100)
fig1=f.add_subplot(211)
fig2=f.add_subplot(212)

canvas = FigureCanvasTkAgg(f, master=root)

canvas.get_tk_widget().pack(side=tkinter.BOTTOM, # 上对齐
fill=tkinter.BOTH, # 填充方式
expand=tkinter.YES) # 随窗口大小调整而调整

toolbar = NavigationToolbar2Tk(canvas, root)
toolbar.update()
canvas._tkcanvas.pack(side=tkinter.TOP, # get_tk_widget()得到的就是_tkcanvas
fill=tkinter.BOTH,
expand=tkinter.YES)
flag_start = True
show_data = []
show_data2 = []
t = []
time_record = []
max_show_num = 1000000
lock = threading.Lock()  # 申请一把锁
def is_number(s):
    try
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿Q学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值