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: using threads causes exceptions


On Wed, 2005-08-03 at 17:00 +0200, Stefan Sommerfeld wrote:
> Hi,
> >>
> >> I'm using eCos on an XScale PXA270 and i have a problem using threads. 
> >> My
> >> program does only start a thread from main() and after this function 
> >> calls
> >> from thread causes ABORT DATA exceptions (MMU info: Imprecise External 
> >> Data
> >> Abort). Even a printf causes this exception. The strange thing is, the 
> >> eCos
> >> thread tests are working, even the stress test. Do i have to do some
> >> initialisation? Should i better use cyg_start() instead of main()?
> >
> > Using main() is just fine.  Most likely, you've not created the
> > stack for the thread correctly.  Or perhaps it's something within
> > your thread itself.
> >
> > Have you tried running the program using GDB?  Then you can catch
> > the culprit and know where to start looking.
> 
> So ... made it through gdb which gave me:
> [New Thread 2]
> 
> Program received signal SIGTRAP, Trace/breakpoint trap.
> [Switching to Thread 2]
> 0xa008c72c in main_stack ()
> 
> This version is a bit smaller and does give me no exceptions like ABORT 
> DMA, but only the gdb output. Any suggestions?

It's pretty obvious that you've not set your thread up properly
since it's trying to execute from the stack!  Look carefully at
how you created the thread - compare it against the examples and
tests.

If you still can't figure out what's wrong, you could send a
*fragment* of your code, showing how you are creating the thread, 
etc.  Note: we don't want/need to see your whole program, just
this portion.

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------


-- 
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]