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

TMS320F28377S: 用C2PROG烧录F28377之后,有个变量被强制写0

Part Number:TMS320F28377SOther Parts Discussed in Thread:UNIFLASH

你好,我们有个问题想请教一下:
1.在用F28377开发过程中,发现用C2Prog烧录代码之后开机,会出现锁相异常,原因是CLA中有一个变量被强制写0;
如果用C2Prog烧录之后,把DSP下电并重新上电开机,CLA的这个变量就是正常的,可以正常赋值。

如果用uniflash烧录,就不会有这个问题。
2.这个异常的变量地址是一个CLA中定义和调用的结构体中的b这个变量,其他a,c两个变量都没有问题。
typedef struct {

float32 a;

float32 b;

float32 c;

}f_THREE_PHASE_ABC;

3.这个异常的变量地址在0x0000a1f6,其中我们划分了0x00A000-0x00B000用于CLA Data区,0x008000-0x00A000用于CLA Prog。

4.我们有试过把这2种烧录工具,烧录完成之后的文件从DSP中复制出来,并没有发现有区别。

我们担心代码中有什么BUG导致这种现象,想问一下: 什么情况下会导致这种烧录之后变量一直被强制写0,而且这种现象会在重新上电后消失;
Vivian Gao:

感谢您对TI产品的关注! 关于你的咨询,我们正在确认你的问题,稍后回复您。

,

Taylor:

0xA1F6可能位于特殊内存边界或与烧录工具的初始化行为相关。

C2Prog与Uniflash尽管烧录内容相同,但烧录过程可能涉及不同的启动初始化或外设配置,C2Prog可能未正确初始化CLA内存控制器,导致特定地址的初始状态不一致。

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28377S: 用C2PROG烧录F28377之后,有个变量被强制写0
分享到: 更多 (0)

© 2025 TI中文支持网   网站地图 鲁ICP备2022002796号-1