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

TMS320F28379D 例程 cla_sqrt_cpu01

cla_sqrt_cpu01这个例程跑的结果不正确,

程序会停留在
Cla1ForceTask1andWait();这个语句。

从窗口看Cla1Regs.MIRUN.bit.INT1 = 1;

void CLA_runTest(void)
{
fVal = 2;
Cla1ForceTask1andWait();
if(fResult < 1.4143 && fResult > 1.4141)
{
pass++;
}
else
{
fail++;
}

#if 0
Cla1ForceTask2andWait();
WAITSTEP;

Cla1ForceTask3andWait();
WAITSTEP;

Cla1ForceTask4andWait();
WAITSTEP;

Cla1ForceTask5andWait();
WAITSTEP;

Cla1ForceTask6andWait();
WAITSTEP;

Cla1ForceTask7andWait();
WAITSTEP;
#endif
}

Green Deng:

参考这个帖子:e2e.ti.com/…/691372

jinyan fan:

回复 Green Deng:

我不明白那个帖子在说什么,也没有具体的解决办法,你能描述一下你的方法吗

Green Deng:

回复 jinyan fan:

请问你是怎么操作程序运行的?
是否是先连接CPU1,在CPU1中load program,然后再连接CLA,在CLA中load symbols?
我的例程这么操作是可以正常运行到断点__mdebugstop();

jinyan fan:

回复 Green Deng:

Break at address "0x0" with no debug information available, or outside of program code.
CLA加载程序不成功啊,你说的symbols是在工程哪里啊?

Green Deng:

回复 jinyan fan:

不是在工程的哪里。
正常的调试CLA的程序,不仅CPU1中需要load program,还需要连接CLA之后load symbols,就是在debug界面点击CLA核,然后Run – Load – Load Symbols…选择同一个.out文件下载进CLA核

jinyan fan:

回复 Green Deng:

点运行后,程序就自动停了,
__interrupt void Cla1Task1 ( void )
{fResult = __sqrt(fVal);
}停在这个语句 fResult = __sqrt(fVal);
DEBUG页面提示 cla1task1 does not contain frame information

Green Deng:

回复 jinyan fan:

你的例程有修改过吗?没有修改过的话可能还是你的操作步骤有问题,不知道我描述的你是否理解,你再看看这个帖子讲的:e2echina.ti.com/…/76546

Green Deng:

回复 Green Deng:

只需要注意帖子里面FAE描述的操作步骤,不需要关注帖子中的问题

jinyan fan:

回复 Green Deng:

你跑这个例程,fVal的平方根算出结果了吗?

Green Deng:

回复 jinyan fan:

测试了3组,都可以正常得出开方的结果。而且用的是例程,例程几乎不会有错误,所以我认为你可能操作有误。

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28379D 例程 cla_sqrt_cpu01
分享到: 更多 (0)