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: 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 >To: liu hua >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