You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Python API从双核TRACE32中获取变量实际值

解决TRACE32双核环境下Python API获取从核变量的问题

问题核心

你遇到的情况确实是T32_EvalGet()默认处于主核上下文,导致读取的是主核中totalcount的值(未初始化或为0),而非从核的实际变量值。

解决方案

1. 先切换到从核上下文

在调用T32_EvalGet()前,必须通过T32_Cmd()发送核切换命令,锁定从核的上下文:

# 替换1为你的从核编号(主核通常为0,根据实际配置调整)
t32api.T32_Cmd("CORE.SELECT 1")
# 等待上下文切换完成
t32api.T32_Cmd("WAIT")

2. 读取从核变量

切换完成后,直接用T32_EvalGet()读取目标变量:

# 读取静态变量totalcount
totalcount = t32api.T32_EvalGet("VAR.totalcount")
# 如果变量属于特定函数的静态变量,需指定完整作用域
# totalcount = t32api.T32_EvalGet("VAR.<目标函数名>::totalcount")

3. 可选:切回主核上下文

如果后续操作需要主核环境,读取完成后可以切回:

t32api.T32_Cmd("CORE.SELECT 0")
t32api.T32_Cmd("WAIT")

验证建议

  • 先在TRACE32 GUI中手动切换到从核,直接查看totalcount的值,确认变量本身已被正确赋值
  • 可以先用T32_Cmd("PRINT VAR.totalcount")输出变量值,验证上下文切换是否生效,再配合T32_EvalGet()使用

内容的提问来源于stack exchange,提问作者user2986042

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 07:04:54