我是新手,我用的是CCS3.3,最近我在调试DM648的过程中,发现程序在运行一段时间后就偶尔会出现死机问题,程序会进入bios的内核,不再响应中断等事件,请技术支持指点一下我该怎么调试来解决这个问题?之前一直怀疑是任务的堆栈溢出造成的,已经加到很大了还是不行,请问我该如何确定各个任务实际所需的堆栈大小?多谢!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我是新手,我用的是CCS3.3,最近我在调试DM648的过程中,发现程序在运行一段时间后就偶尔会出现死机问题,程序会进入bios的内核,不再响应中断等事件,请技术支持指点一下我该怎么调试来解决这个问题?之前一直怀疑是任务的堆栈溢出造成的,已经加到很大了还是不行,请问我该如何确定各个任务实际所需的堆栈大小?多谢!
每次出现死机现象的时候,发现程序都是运行在UTL_halt函数中,有办法知道在进入这个函数之前的最后一次执行位置吗?
谢谢您的帮助,根据您给的资料我至少可以确定不是堆栈溢出的问题,现在还有一个问题请教,就是dsp在运行的过程中,会有复位的现象,复位后dsp程序重新运行,但是运行的状态有点怪,和重新上电时执行的结果不一致,与调试状态下,执行restart命令后,执行的结果一至,请问,这个是否是gel文件中需要做什么特别的初始化工作。
dai jingang 说:谢谢您的帮助,根据您给的资料我至少可以确定不是堆栈溢出的问题,现在还有一个问题请教,就是dsp在运行的过程中,会有复位的现象,复位后dsp程序重新运行,但是运行的状态有点怪,和重新上电时执行的结果不一致,与调试状态下,执行restart命令后,执行的结果一至,请问,这个是否是gel文件中需要做什么特别的初始化工作。
看一下是不是看门狗引起的复位?
管脚图可以下载下面的bxl文件,再用Ultra Librarian转成你要的格式。
http://www.ti.com/product/TMS320DM648/quality#cadsymfoot
您好!我查看了,TMR0/TMR1/TMR2/TMR3的WDTCR寄存器都是0,没有置位,我用的是CCS3.3+DM648的芯片,我是在不知道还能从哪个方面入手查问题了。我觉得每个任务的堆栈配置对这个好像有影响,我把那IDLE的后台任务的堆栈由1024增加到2048时,系统运行一段时间后就会死机,就不是重启了。我把default stack由1024增加到2048,系统出现复位的情况就会更频繁!请指点一下,我该从哪个方面着手解决这个问题?流泪。。。。流泪。。。。。