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自动执行

相关推荐
代码游侠5 分钟前
学习笔记——51单片机学习
笔记·stm32·单片机·嵌入式硬件·51单片机
轻竹办公PPT17 分钟前
2026 年工作计划汇报 PPT:AI 生成方案实测对比
人工智能·python·powerpoint
山土成旧客22 分钟前
【Python学习打卡-Day42】打开深度学习“黑箱”:从Hook回调到Grad-CAM可视化
python·深度学习·学习
axinawang39 分钟前
四、Python程序基础--考点--浙江省高中信息技术学考(Python)
python·浙江省高中信息技术
red润1 小时前
python win32COM 对象介绍调用Word、WPS 与应用生态
python
旦莫1 小时前
Python测试开发工具库:测试环境变量统一配置与加载工具
python·测试开发·自动化·ai测试
Hello.Reader1 小时前
Flink Avro Format Java / PyFlink 读写、Schema 细节与坑点总结
java·python·flink
我是海飞1 小时前
杰理 AC792N WebSocket 客户端例程使用测试教程
c语言·python·单片机·websocket·网络协议·嵌入式·杰理
shy^-^cky1 小时前
Python程序设计完整复习要点(含实例)
python·期末复习