Python RCL 调试劳德巴赫

Python RCL 调试劳德巴赫

  • 比较旧的调试方式是TRACE32 Remote API, 看起来比较麻烦

  • 新的是RCL

  • trace32的安装路径下有官方的python教程, 用浏览器可以打开

    • <path>/demo/api/python/rcl/doc/html/index.html
  • 需要先安装python库, 也在trace32安装路径下

    • <path>/demo/api/python/rcl/doc/dist
    • pip install lauterbach_trace32_rcl-latest-py3-none-any.whl
  • 原理是python与Trace32客户端通过TCP通信, 所以需要先配置config.t32文件, 填入端口等等

    bash 复制代码
    <mandatory blank line>
    
    RCL=NETASSIST
    PORT=20000
    PACKLEN=1024
    
    RCL=NETTCP
    PORT=20000
    
    <mandatory blank line>
  • 然后先打开trace32, 再在python中连接

    python 复制代码
    import lauterbach.trace32.rcl as t32
    dbg = t32.connect(node='localhost', port=20000, protocol="TCP", timeout=10.0)
    dbg.print("Hello World!")
  • 点进rcl可以看到提供的接口, 这里用类封装了一些常用的, 比如调用cmm脚本, 打印, 暂停, 继续, 设置系统变量等; 还有设置地址,变量,控制内存,断点等等功能

python 复制代码
import lauterbach.trace32.rcl as t32
import datetime
import time

def time_now():
  return datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]")

class classLauterbach():
  def __init__(self) -> None:
    self.dbg = t32.connect(node="localhost", port=20000, protocol="TCP", timeout=10.0)

  def print(self, msg):
    self.dbg.print(msg)

  def my_script(self):
    self.dbg.cmm(cmd="./my_script.cmm", timeout=15.0)
    
  def pause(self):
    self.dbg.break_()
    self.dbg.print(f"{time_now()} mcu pause")

  def go(self):
    self.dbg.go()
    self.dbg.print(f"{time_now()} mcu go")

  def system_down(self):
    self.dbg.cmd("SYStem.Mode Down")
    self.dbg.print(f"{time_now()} mcu system down")

  def system_up(self):
    self.dbg.cmd("SYStem.Mode Up")
    self.dbg.print(f"{time_now()} mcu system up")

if __name__ == '__main__':
  Lauterbach = classLauterbach()
  Lauterbach.system_up()
  print(f"{time_now()} system up")
  time.sleep(30)
  Lauterbach.pause()
  time.sleep(30)
  Lauterbach.go()
  time.sleep(30)

ref

Python 脚本调用trace32自动执行

相关推荐
玄奕子7 小时前
F280049C学习笔记之EPWM
单片机·嵌入式硬件·dsp开发·ti c2000·f280049c
风轻扬7779 小时前
SQLAlchemy2.0使用
python·sqlalchemy·orm框架
潘帕斯的雄鹰9 小时前
直观理解注意力机制
python·transformer·注意力机制·自注意力机制
打酱油程序员9 小时前
Python数据挖掘详细学习指南
python
三品吉他手会点灯10 小时前
stm32f103学习笔记-16-RCC(第2节)-讲解系统时钟配置函数SetSysClockTo72()
笔记·stm32·单片机·嵌入式硬件·学习
范纹杉想快点毕业10 小时前
100道关于STM32的问题解答共十万字回答,适用入门嵌入式软件初级工程师,筑牢基础,技术积累,校招面试。
驱动开发·单片机·嵌入式硬件·fpga开发·硬件工程
天天进步201511 小时前
Python全栈项目:结合Puppeteer和AI模型操作浏览器
开发语言·人工智能·python
闲人编程11 小时前
用Python识别图片中的文字(Tesseract OCR)
开发语言·python·ocr·识图·codecapsule
盘古开天166612 小时前
从零开始:如何搭建你的第一个简单的Flask网站
后端·python·flask
国科安芯12 小时前
多输出电压条件下同步整流效率测试与优化
网络·单片机·嵌入式硬件·安全