[ECOS] JFFS2 and cyg_thread_delay

liu hua rongye_liu@hotmail.com
Thu Jun 29 03:34:00 GMT 2006


Think your help.

When I use ASSERT and trace my ecos-app, it is hanged in Cyg_Mutex::lock() 
each time. It may seem be that one mutex is not be initiated. But I cannt 
know what it is.

Following is the TRACE result:


TRACE: mlqueue.cxx         [  89] 
Cyg_Scheduler_Implementation::Cyg_Scheduler_Implementation() {{enter
TRACE: mlqueue.cxx         [ 110] 
Cyg_Scheduler_Implementation::Cyg_Scheduler_Implementation() }}return void
TRACE: except.cxx          [  95] 
Cyg_Exception_Control::Cyg_Exception_Control()               {{enter
TRACE: except.cxx          [ 107] 
Cyg_Exception_Control::Cyg_Exception_Control()               }}return void
TRACE: mutex.cxx           [  92] Cyg_Mutex::Cyg_Mutex()                    
                   {{enter
TRACE: mutex.cxx           [ 130] Cyg_Mutex::Cyg_Mutex()                    
                   }}return void
init bitbang i2c bus...ok!
TRACE: clock.cxx           [  87] Cyg_Counter::Cyg_Counter()                
                   {{enter
TRACE: clock.cxx           [  87] Cyg_Counter::Cyg_Counter()                
                   }}RETURNING UNSET!
TRACE: clock.cxx           [ 432] Cyg_Clock::Cyg_Clock()                    
                   {{enter
TRACE: clock.cxx           [ 432] Cyg_Clock::Cyg_Clock()                    
                   }}RETURNING UNSET!
TRACE: intr.cxx            [  86] Cyg_Interrupt::Cyg_Interrupt()            
                   {{enter
TRACE: intr.cxx            [  86] Cyg_Interrupt::Cyg_Interrupt()            
                     ((vector=51, priority=1, data=009ae0a4, isr=000e1a6c, 
dsr=000e1a94))
TRACE: intr.cxx            [ 109] Cyg_Interrupt::Cyg_Interrupt()            
                   }}return void
TRACE: clock.cxx           [ 838] Cyg_RealTimeClock::Cyg_RealTimeClock()    
                   {{enter
TRACE: intr.cxx            [ 395] void Cyg_Interrupt::attach()              
                     {{enter
TRACE: intr.cxx            [ 456] void Cyg_Interrupt::attach()              
                     }}return void
TRACE: intr.cxx            [ 659] static void 
Cyg_Interrupt::unmask_interrupt()                  {{enter
TRACE: intr.cxx            [ 672] static void 
Cyg_Interrupt::unmask_interrupt()                  }}return void
TRACE: clock.cxx           [ 838] Cyg_RealTimeClock::Cyg_RealTimeClock()    
                   }}RETURNING UNSET!
TRACE: mutex.cxx           [ 216] cyg_bool Cyg_Mutex::lock()                
                   {{enter
ASSERT FAIL: <FFFF>mutex.cxx[320]cyg_bool Cyg_Mutex::lock() Bad this 
pointer
ASSERT FAIL: mutex.cxx           [ 320] cyg_bool Cyg_Mutex::lock()          
                   Bad this pointer



>From: Andrew Lunn <andrew@lunn.ch>
>To: liu hua <rongye_liu@hotmail.com>
>CC: ecos-discuss@ecos.sourceware.org
>Subject: Re: [ECOS] JFFS2 and cyg_thread_delay
>Date: Tue, 13 Jun 2006 17:46:59 +0200
>
>On Tue, Jun 13, 2006 at 11:31:13PM +0800, liu hua wrote:
> > hi,
> >
> > I have met a trouble problem when using JFFS2 file system.
> >
> > My platform is ARM9 , 16M FLASH (Intel 28F128). First, it run eCos with
> > JFFS2 nomally (mount/read/write/umount,etc).
> >
> > But recent I find that when I create a file or write a file, the
> > cyg_thread_delay cannot run normally. Before I write a
> > file,cyg_thread_delay(100) can delay about 1 second. But after I write 
a
> > file and close it, cyg_thread_delay(100) or cyg_thread_delay(10000) 
return
> > without any delay!
> >
> > What happen? How I solve it? I wish get help from anyone!
>
>You have probably overflowed your stack and corrupted a thread
>structure. Enable stack checking in the infra package.
>
>            Andrew

_________________________________________________________________
Ãâ·ÑÏÂÔØ MSN Explorer:   http://explorer.msn.com/lccn/  


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list