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

TMS320F28035的map文件中,c_int00()地址和main函数地址发生变化,导致初始化变量值发生改变

在进行电机控制时,增加和删减 定义的无关变量个数以及无关函数的修改均会导致算法不收敛,对比两次的map文件,发现c_int00()地址和main函数地址发生变化,从电机运行角度来看,初始状态发生变化,程序中没有任何错误和警告。

另外编译器的优化等级也会导致算法不收敛,应该是编译过程中出现的问题,但是具体定位不清晰,请问一下,有没有遇到过类似的问题,该如何排查呢?

Green Deng:

c_int00()地址和main函数地址理论上都是固定的,而且你是操作的无关变量个数和无关函数,应该跟这两个地址没什么关系啊。
你是使用的例程吗?具体可以举个例子吗?
优化等级一般来说跟算法没什么关系,如果会影响算法的话建议还是把优化调低一些。

,

user5901225:

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

这是我在定义变量的.h文件中删减了这几个没有进行算法计算的无关变量,电机就不能正常起动了。是在例程的基础上进行修改的,之前使用过程中也没出现这个错误,但是在查程序中,通过查询map和反汇编文件,只能发现删减变量后,map文件中显示CINT00位置改变和main函数位置改变以及.text顺序发生改变,别的没有看出其他问题,因为这个问题是可重复出现的,只要我加上这几个无关变量就能正常运行,编译过程是否影响到我的初始化变量状态呢?电机正常运行时的入口函数地址:

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

,

Green Deng:

你好,图片没有成功上传。请在“使用高级编辑器编辑文本”中上传图片。

,

user5901225:

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

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

是在例程的基础上进行修改的,之前使用过程中也没出现这个错误,但是在查程序中,通过查询map和反汇编文件,只能发现删减变量后,map文件中显示CINT00位置改变和main函数位置改变以及.text顺序发生改变,别的没有看出其他问题,因为这个问题是可重复出现的,只要我加上这几个无关变量就能正常运行,编译过程是否影响到我的初始化变量状态呢?

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

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

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28035的map文件中,c_int00()地址和main函数地址发生变化,导致初始化变量值发生改变
分享到: 更多 (0)