TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28075: 环境延迟变量无法正常显示赋值

Part Number:TMS320F28075

在ccs中添加脚本重命名文件,需要提取项目中的特定内容,赋值给变量,引用了环境延迟变量无法正常显示赋值内容,直接显示环境变量名称,请问如何解决?

Yale Li:

不是很明白你的意思,能否进一步解释说明?或者提供一下你的参考资料

,

zyy:

就是我使用tokens指令提取一个程序中某一行的特定内容,然后重命名进文件名,但是编译进程序中无法提取这个特定内容,直接显示我的变量名。

,

Yale Li:

zyy said:就是我使用tokens指令提取一个程序中某一行的特定内容,

是通过CCS的GEL脚本实现的吗?

你想在上位机中监控目标器件上的变量,所以用你说的方法提取了目标文件上相应位置的变量,并将这个变量赋值给上位机本地脚本文件中的观测用的变量,但是上位机中的这个变量只能显示目标文件中变量的名称,而不是实时的值。我这么理解正确吗?

中间实现的具体操作,还请你详细描述一下。

,

zyy:

对,是你理解的这样。请问应该怎么解决?

,

Yale Li:

这个变量具体是什么变量?作用域是什么?存在于哪一个段中?

为什么不直接通过CCS的Expression窗口来查看或者操作呢?

首先如果想要追踪某一个变量的值,必须在编译的时候就创建相应的debug symbol,这一步已经由编译器完成;

通过CCS的GEL来读取debug symbol(变量)的值是非常简单的,通过简单的赋值语句即可实现,再通过GEL的IO函数就能将数据保存到本地。可以参考一下这几个链接:

https://software-dl.ti.com/ccs/esd/documents/users_guide_zh/gel/function.html

https://software-dl.ti.com/ccs/esd/documents/users_guide_zh/gel/sym_expr.html

https://software-dl.ti.com/ccs/esd/documents/users_guide_zh/gel/io.html

我并不清楚你具体是怎么实现的,但根据你的描述来看,你的操作有一些刻舟求剑的感觉。也就是说你的脚本只从目标文件中提取了相关的变量,但是并没有参与到debug的过程。只与目标文件互动是没有效果的。当然这只是我的推测,所以如果方便的话请介绍一下你的具体实现方法,可以帮助我们更好地解决问题。

,

zyy:

有参与,我需要把提取到的值当作版本号命名到文件名中,并通过ccs调用脚本(如图),将脚本写进框内,结果出来是直接显示变量名

,

Yale Li:

能详细说明一下你的需求和解决方法吗?我和相关的工程师讨论一下

,

zyy:

我的需求是在编写脚本实现提取项目程序中的版本号(使用tokens语句提取指定内容也就是版本号赋值到变量str1),然后再自动编译重命名文件生成带版本号的烧录文件(这里令文件名为new),通过ccs调用后(如上图将脚本写进框内),生成的文件直接显示为new,而不是我想要的带版本号的文件名,想问如何解决?

,

Yale Li:

zyy said:我的需求是在编写脚本实现提取项目程序中的版本号(使用tokens语句提取指定内容也就是版本号赋值到变量str1),

js脚本?

,

zyy:

bat脚本,只是编写内容,最后还是通过写进上面图片框内来调用

,

Yale Li:

好的。我在你的新帖中继续跟进:

https://e2echina.ti.com/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/779459/tms320f28075-tokens

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28075: 环境延迟变量无法正常显示赋值
分享到: 更多 (0)