Embedded 如何通过Trace32调试器向目标发送数据?

Embedded 如何通过Trace32调试器向目标发送数据?,embedded,trace32,lauterbach,Embedded,Trace32,Lauterbach,我需要一种方法通过Trace32向ucontroller发送一些数据。我听说这在某种程度上是可能的,但我不知道从哪里开始。 我实际上要做的是在Aurix TC297 ucontroller上运行一段代码来进行一些测量(运行时、RAM等)。这段代码实际上是一个卡尔曼滤波器,它需要一个结构向量作为输入,我也通过Trace32从计算机发送了这个向量。请帮忙 “通过Trace32向ucontroller发送一些数据的方法”有点模糊。有多种可能性,这取决于您实际尝试实现的目标,也可能取决于所使用的CPU系

我需要一种方法通过Trace32向ucontroller发送一些数据。我听说这在某种程度上是可能的,但我不知道从哪里开始。
我实际上要做的是在Aurix TC297 ucontroller上运行一段代码来进行一些测量(运行时、RAM等)。这段代码实际上是一个卡尔曼滤波器,它需要一个结构向量作为输入,我也通过Trace32从计算机发送了这个向量。请帮忙

“通过Trace32向ucontroller发送一些数据的方法”有点模糊。有多种可能性,这取决于您实际尝试实现的目标,也可能取决于所使用的CPU系列和目标操作系统。无论如何,以下其中一项可能有效:

  • 只需使用
    data.Set
    命令将一些原始数据写入目标内存即可
  • 要将大量数据(甚至整个应用程序)从文件传输到目标内存,data.LOAD命令可能是正确的选择。例如,原始二进制文件的
    Data.LOAD.Binary
    命令
  • 使用
    Var.set
    命令在应用程序中设置变量,甚至启动C样式的数据数组
  • 要将数据写入NOR闪存或onchip闪存,除了前面提到的命令外,还需要
    flash.AUTO
    命令(在将闪存声明为TRACE32之后)
  • 要将数据写入NAND、SPI或其他串行闪存,您可能应该使用
    FLASHFILE.Set
    命令(在FLASHFILE编程系统初始化后)
  • 要在CPU运行时将数据从TRACE32传输到目标,您可能必须正确配置SYStem.MemAccess,并使用内存访问类前缀“E”
    例如
    数据集E:

    变量集%E
  • 您可以使用
    FDX
    在调试器和正在运行的目标应用程序之间进行双向数据传输
  • 要使目标应用程序能够从运行TRACE32的计算机上打开和读取文件,必须使用合适的半宿主代码编译应用程序,并使用
    TERM.GATE
    命令在TRACE32中启动半宿主

该问题的答案可能取决于您的具体目标和工具链-如果您希望获得答案,而不是否决投票或结束,则应添加该信息。您可能需要在调试器和/或工具链文档中查找与“半托管”相关的信息—这允许目标使用调试器主机上的I/O。什么是“发送数据”?请澄清。很抱歉这个模糊的问题。我实际上要做的是在Aurix TC297 ucontroller上运行一段代码来进行一些测量(运行时、RAM等)。这段代码实际上是一个卡尔曼滤波器,它需要一个结构向量作为输入,我也通过Trace32从计算机上发送了这个向量。谢谢你的回复!很抱歉问了这么模糊的问题。我实际上要做的是在Aurix TC297 ucontroller上运行一段代码来进行一些测量(运行时、RAM等)。这段代码实际上是一个卡尔曼滤波器,它需要一个结构向量作为输入,我也通过Trace32从计算机发送了这个向量。根据您所说的,我将在代码中声明我的结构,然后使用Var.set设置它。我从未使用过Trace32。Var.Set是实现我想要的目标的最佳方法吗?对于设置声明为struct的向量,Var.Set无疑是最简单的解决方案。但是,您可能需要多次调用Var.Set来初始化结构的所有元素和数组的所有结构。因此,我建议通过一个实践脚本来实现这一点:创建一个后缀为“.cmm”的文本文件,并将所有必需的Var.Set命令放在其中。您可能还希望在此脚本中使用WHILE循环,或者使用脚本中的OPEN/READ/CLOSE命令首先从纯文本文件读取数据。还要感谢一帮霍尔格!!