This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: JFFS2 and cyg_thread_delay


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]