2008-09-01 02:11:10 uClinux is dead
fall balls (AFGHANISTAN)
I have came up against a problem with uClinux which running on blackfin 537.When run my application in uClinux after a short time, my program dies, no response, and no crash message is printed to the serial. And PING also fails, no response. The uClinux seems dead. My environment is below:
1. Linux version 22.214.171.124-ADI-2007R1.1-svn (gcc 4.1.1 (ADI 07R1)) #26 Sun May 11 02:16:38 CST 2008
2. My user application which use UDP to communication with others through ethernet
3. My sport kernel module.This kernel module only registers read and write irqs with sport0 and sport1, but there have no mutexs or semaphores exist in irqs.So I think it shouldn't cause dead lock.
What may the cause of this problem?what can make the TCP/IP stack dead?And if there exists any method to debug in this situation?
2008-09-01 04:47:33 Re: uClinux is dead
Michael McTernan (UNITED KINGDOM)
I've see the same under 2008R1.5, also using UDP apps and the SPORT in DMA mode - interesting.
I built the kernel with the magic sysrq key (see http://docs.blackfin.uclinux.org/doku.php?id=:debuging_applications) and soft lockup detection enabled, but these also did not work. It's probably worth you trying these two techniques incase the your situation is different.
Aside, there are are couple of loops in the DMA driver that wait for the SPORT to complete it's transfers. I added some loop counters and timeouts to verify that the DMA configuration had not been corrupted during it running, you could try the same.
2008-09-01 06:04:42 Re: uClinux is dead
Yi Li (CHINA)
Do you have a JTAG to debug with?