[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