This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
RE: how work synthetic for exceptions
Hi,
the SWI mecanism work well. (with a RAM config, the path and other modifications)
I just want to experiment the same thing on the synthetic target for the advantages that you know. (In this case replace the SWI by signal mecanism)
Best regards.
jjp
----------------------------------------
> Date: Thu, 3 Apr 2008 06:25:55 -0600
> From: gary@mlbassoc.com
> To: jackoaway@hotmail.com
> CC: ecos-discuss@ecos.sourceware.org
> Subject: Re: [ECOS] how work synthetic for exceptions
>
> trollepi jj wrote:
>> Hi,
>> I try do modify the execution of a thread for the synthetic target.
>> I've done that for an at91 board (using SWI,exception hanler and HAL_SavedRegisters to store the context info).
>> I put an exception handler for the CYG_HAL_SYS_SIGILL to see if i get the info pointers of the handler (3rd parameter of the function).
>> I reach the exception handler and have this backtrace call from gdb
>>
>>
>> #0 simple_syscall_handler (data=2, number=0, info=0) at main.c:56
>> #1 0x01004c7c in Cyg_Exception_Control::deliver_exception (this=0x2004560, exception_number=0,
>> exception_info=0) at /home/pitrolle/ecos/ecos/packages/kernel/current/src/common/except.cxx:235
>> #2 0x010042bf in Cyg_Thread::deliver_exception (this=0x20004c0, exception_number=0, exception_info=0)
>> at /home/pitrolle/ecos/ecos/packages/kernel/current/src/common/thread.cxx:1013
>> #3 0x01004ce0 in cyg_hal_deliver_exception (code=0, data=0)
>> at /home/pitrolle/ecos/ecos/packages/kernel/current/src/common/except.cxx:248
>> #4 0x0100160d in synth_exception_sighandler (sig=4)
>> at /home/pitrolle/ecos/ecos/packages/hal/synth/arch/current/src/synth_intr.c:460
>> #5 0x01002e18 in cyg_hal_sys_restore_rt ()
>> at /home/pitrolle/ecos/ecos/packages/hal/synth/i386linux/current/src/syscall-i386-linux-1.0.S:446
>> #6 0x00000004 in ?? ()
>> #7 0x0100418c in idle_thread_main (data=0)
>> at /home/pitrolle/ecos/ecos/packages/kernel/current/src/common/thread.cxx:1231
>> #8 0x01004be0 in Cyg_HardwareThread::thread_entry (thread=0x20004c0)
>> at /home/pitrolle/ecos/ecos/packages/kernel/current/src/common/thread.cxx:95
>> #9 0x00000000 in ?? ()
>>
>> I have severals questions :
>> - What is the real aim of cyg_hal_sys_restore_rt?
>> - If I want to get the context of the thread on the exception handler (info about saved registers like previous pc,sp,...) , what can i process?
>
> Note: if you're trying to use the SWI exception, then I think
> you need to apply the attached patch (I've not had a chance to
> try it as I don't have access to ARM hardware).
>
> --
> ------------------------------------------------------------
> Gary Thomas | Consulting for the
> MLB Associates | Embedded world
> ------------------------------------------------------------
_________________________________________________________________
Lancez des recherches en toute sécurité depuis n'importe quelle page Web. Téléchargez GRATUITEMENT Windows Live Toolbar aujourd'hui !
http://toolbar.live.com
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss