我用CCS5.5调试CLA加速器时,任务8编写一些变量的初始化,当启动运行后,停止在调试停止的位置,然后可以单步运行,一直到MSTOP指令,然后再单步运行的时候就一直在MSTOP这条指令这里。而我用CCS3.3调试相同的代码,运行到MSTOP之后,然后单步运行,就可以到自己设置启动的任务1,而且可以这样一直不断的循环运行,不会遇到MSTOP指令后不能在运行的情况,不知道这是什么原因,请大牛们支支招!
Hank Zhao:
你的这个MSTOP是在Task代码的结尾吗,如果是在代码结尾的话是正常情况。
我用CCS5.5调试CLA加速器时,任务8编写一些变量的初始化,当启动运行后,停止在调试停止的位置,然后可以单步运行,一直到MSTOP指令,然后再单步运行的时候就一直在MSTOP这条指令这里。而我用CCS3.3调试相同的代码,运行到MSTOP之后,然后单步运行,就可以到自己设置启动的任务1,而且可以这样一直不断的循环运行,不会遇到MSTOP指令后不能在运行的情况,不知道这是什么原因,请大牛们支支招!
jianchang shi:
回复 Hank Zhao:
是的 ,你的意思是说,CCS5.5不能像CCS3.3循环调试吗?如果我要循环单步执行CLA加速环改如何做??
我用CCS5.5调试CLA加速器时,任务8编写一些变量的初始化,当启动运行后,停止在调试停止的位置,然后可以单步运行,一直到MSTOP指令,然后再单步运行的时候就一直在MSTOP这条指令这里。而我用CCS3.3调试相同的代码,运行到MSTOP之后,然后单步运行,就可以到自己设置启动的任务1,而且可以这样一直不断的循环运行,不会遇到MSTOP指令后不能在运行的情况,不知道这是什么原因,请大牛们支支招!
Hank Zhao:
回复 jianchang shi:
是的,CLA代码运行结束就要返回到CPU的中断函数中运行,CLA停止。你可以将Task代码放在一个循环函数中以实现循环执行CLA程序的功能。
我用CCS5.5调试CLA加速器时,任务8编写一些变量的初始化,当启动运行后,停止在调试停止的位置,然后可以单步运行,一直到MSTOP指令,然后再单步运行的时候就一直在MSTOP这条指令这里。而我用CCS3.3调试相同的代码,运行到MSTOP之后,然后单步运行,就可以到自己设置启动的任务1,而且可以这样一直不断的循环运行,不会遇到MSTOP指令后不能在运行的情况,不知道这是什么原因,请大牛们支支招!
jianchang shi:
回复 Hank Zhao:
我的代码是在执行任务1后清除EPWM1的中断标志,所以没有设置任务完成后进入CLA中断服务程序。之前在CCS3.3的调试中,可以循环的触发任务1,但CCS5.5不行,不知道这算不算CCS5.5的一个BUG,不知道CCS6.1的版本就这个问题是否已经改正?谢谢你的回复
我用CCS5.5调试CLA加速器时,任务8编写一些变量的初始化,当启动运行后,停止在调试停止的位置,然后可以单步运行,一直到MSTOP指令,然后再单步运行的时候就一直在MSTOP这条指令这里。而我用CCS3.3调试相同的代码,运行到MSTOP之后,然后单步运行,就可以到自己设置启动的任务1,而且可以这样一直不断的循环运行,不会遇到MSTOP指令后不能在运行的情况,不知道这是什么原因,请大牛们支支招!
Hank Zhao:
回复 jianchang shi:
CLA只是一个加速器,并不是一个单独的CPU核,所以在执行完任务之后肯定是要返回CPU程序中的,它不像CPU程序那样是一个循环系统。在芯片自启动运行的时候,就是按照CCS5.5的这个调试流程来实际执行的,这怎么能说是BUG。
我用CCS5.5调试CLA加速器时,任务8编写一些变量的初始化,当启动运行后,停止在调试停止的位置,然后可以单步运行,一直到MSTOP指令,然后再单步运行的时候就一直在MSTOP这条指令这里。而我用CCS3.3调试相同的代码,运行到MSTOP之后,然后单步运行,就可以到自己设置启动的任务1,而且可以这样一直不断的循环运行,不会遇到MSTOP指令后不能在运行的情况,不知道这是什么原因,请大牛们支支招!
jianchang shi:
回复 Hank Zhao:
谢谢你的回复!可能我没有说清楚,是这样的之前我的代码在CCS3.3中调试的时候,保持C28X一直运行,然后进入CLA后单步调试TASK3,任务执行完后停在MSTOP处,然后我又继续按单步执行按键,然后编译器会再次进入TASK3的调试停止命令处,这样我又可以继续进行单步调试了。但是我把代码导入到CCS5.5后,就一直听在MSTOP处,无论怎么点击单步执行命令,都停止MSTOP处。所以,我现在搞不清楚是我的代码的问题,还是CCS5.5编译器本身就只能进入一次CLA的任务单步调试,或者是不是一定要返回到C28X执行CLA中断,清楚中断标志,然后才能再次进入TASK3的任务调试?—太多疑问,谢谢回复
我用CCS5.5调试CLA加速器时,任务8编写一些变量的初始化,当启动运行后,停止在调试停止的位置,然后可以单步运行,一直到MSTOP指令,然后再单步运行的时候就一直在MSTOP这条指令这里。而我用CCS3.3调试相同的代码,运行到MSTOP之后,然后单步运行,就可以到自己设置启动的任务1,而且可以这样一直不断的循环运行,不会遇到MSTOP指令后不能在运行的情况,不知道这是什么原因,请大牛们支支招!
Hank Zhao:
回复 jianchang shi:
CCS3.3调试时CLA程序执行结束后会返回到CLA程序的开始处,这可以方便调试,但在芯片自启动时并不是这样运行的。CCS5.5调试时的CLA代码执行流程才是和自启动时的运行情况一致。CLA代码执行完之后,除非在CPU程序中再次软件调用或者中断触发,否则不会再进入CLA的TASK。
我用CCS5.5调试CLA加速器时,任务8编写一些变量的初始化,当启动运行后,停止在调试停止的位置,然后可以单步运行,一直到MSTOP指令,然后再单步运行的时候就一直在MSTOP这条指令这里。而我用CCS3.3调试相同的代码,运行到MSTOP之后,然后单步运行,就可以到自己设置启动的任务1,而且可以这样一直不断的循环运行,不会遇到MSTOP指令后不能在运行的情况,不知道这是什么原因,请大牛们支支招!
jianchang shi:
回复 jianchang shi:
谢谢回复,都搞好了,是自己软件的错误,可以循环触发!!
我用CCS5.5调试CLA加速器时,任务8编写一些变量的初始化,当启动运行后,停止在调试停止的位置,然后可以单步运行,一直到MSTOP指令,然后再单步运行的时候就一直在MSTOP这条指令这里。而我用CCS3.3调试相同的代码,运行到MSTOP之后,然后单步运行,就可以到自己设置启动的任务1,而且可以这样一直不断的循环运行,不会遇到MSTOP指令后不能在运行的情况,不知道这是什么原因,请大牛们支支招!
Mak he:
回复 jianchang shi:
jianchang shi ,
我刚开始用CLA功能,有很多疑问,想请教下,我在调试时出现如下图情况,点击单步调试,一直提示"CLA_0: Can't Single Step Target Program: (Error -2060 @ 0x0) No task is currently active. Cannot step while target is idle. (Emulation package 5.0.747.0)“,有空帮我看下,谢谢!