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组,都可以正常得出开方的结果。而且用的是例程,例程几乎不会有错误,所以我认为你可能操作有误。