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文件已私信发给您,谢谢 !