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

TMS320x28035和TMS320x28335定义的全局变量的空间有什么区别吗?如果全局变量过多会导致什么情况?

TMS320x28335能正常运行的电机控制程序,转移至TMS320x28035中,算法能正常运行,但是在进一步添加全局变量时,发现影响到算法正常运行,有没有同行遇到过类似的问题?

Susan Yang:

user5901225 说:但是在进一步添加全局变量时,发现影响到算法正常运行

请问在编译时是否有警告或者advice?您添加的全局变量是已初始化还是未初始化?能否大概描述一下?

根据您的描述,有可能是cmd文件的问题

,

user5901225:

您好,非常感谢您的回复!以下是我出现问题的部分截图和过程:编译过程中没有报关于空间不够的警告,以下是编译过程的警告

在进行电机控制时,我删减定义的几个未经初始化的无关变量,或是修改无关函数,改变初始化变量的值均会导致算法不收敛,以下是我删减的无关变量。

另外编译器的优化等级也会导致算法不收敛,应该是编译过程中出现的问题。

为定位问题,我对比了两次删减全局变量前后的map文件,发现c_int00()地址和main函数地址发生变化,从电机运行角度来看,初始状态发生变化,以下是正常和非正常运行下的c_int00()地址。

电机正常运行时的入口函数地址:

电机非正常运行时的入口函数地址:

具体定位仍然不清晰,请问一下,有没有遇到过类似的问题,该如何排查呢?

,

user5901225:

您好,非常感谢您的回复!以下是我出现问题的部分截图和过程:

程序中未报关于空间不够的警告,警告如下:

在进行电机控制时,删减定义的未经初始化的无关变量以及无关函数的修改,改变初始化变量的初始值均会导致算法不收敛。

以下我在定义全局变量的.h文件中删减了这几个没有进行算法计算的无关变量,电机就不能正常起动了。

根据以上问题,我对比两次删减无关变量前后的map文件,发现c_int00()地址和main函数地址发生变化,从电机运行角度来看,初始状态发生变化。

电机正常运行时的入口函数地址:

电机非正常运行时的入口函数地址:

另外编译器的优化等级也会导致算法不收敛,应该是编译过程中出现的问题。

但是目前具体定位仍不清晰,请问一下,有没有遇到过类似的问题,该如何排查呢?

,

Susan Yang:

确实很奇怪,入口地址居然也发生了变化。若是可以的话,能否私信一下工程?

,

user5901225:

您好,杨女士,非常感谢您回答我的问题,系统目前啊限制我给您发私信,我可以先发您一下我修改的cmd文件,您能先帮我看一下吗?.h文件定义的变量有限制吗?我现在主要认为是编译过程的问题,因为编译器的优化等级也会影响我的结果,其次变量的删减影响结果似乎有些说不通,因为不是增加导致的空间不够,目前从电机反馈情况看,主要是影响我的初始化状态,您是否遇到过类似情况导致影响初始化状态呢?

,

Susan Yang:

好的 请您发一下cmd文件,谢谢

,

user5901225:

您好,系统限制我给您发私信,是需要管理员权限吗?

,

Susan Yang:

很抱歉,之前漏掉了您的回复。请问您现在问题解决了没有?若还是没有请发一下cmd文件。

发私信是不要管理员权限的

,

user5901225:

您好,感谢您的回复,cmd文件已私信发给您,谢谢 !

赞(0)
未经允许不得转载:TI中文支持网 » TMS320x28035和TMS320x28335定义的全局变量的空间有什么区别吗?如果全局变量过多会导致什么情况?
分享到: 更多 (0)