This is the mail archive of the ecos-discuss@sources.redhat.com 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]

Interrupts and SH


I am currently working on a platform port/variant port for an SH2 platform. I have a basic 2 threaded app up and running
I am trying to get the RTC running to enable Timeslicing. It appears that as soon as an RTC interrupt happens, driven
from the CMT, an exception is raised. After this nothing works. Can anyone explain the whole ISR/vector table
mechanism for the SH2. My guess is that the interrupt is calling a vector and jumping to a function that doesn't
exist to handle the ISR resulting in an exception. Tracing shows:

TRACE: mlqueue.cxx         [ 192] Cyg_Thread* Cyg_Scheduler_Implementation::schedule()
                                                    }}returning thread 00815670
TRACE: except.cxx          [ 247] void cyg_hal_deliver_exception()
                                                    {{enter
TRACE: except.cxx          [ 207] void Cyg_Exception_Control::deliver_exception()
                                                      {{enter
TRACE: except.cxx          [ 207] void Cyg_Exception_Control::deliver_exception()
                                                        ((exception number=4, exception info=00815578))
TRACE: except.cxx          [  83] void cyg_null_exception_handler()
                                                        {{enter
TRACE: except.cxx          [  83] void cyg_null_exception_handler()
                                                          ((data=00000000, exception=4, info=00815578))
TRACE: except.cxx          [  86] void cyg_null_exception_handler()
                                                          'Uncaught exception: 4'
TRACE: except.cxx          [  87] void cyg_null_exception_handler()
                                                        }}return void

Would I be correct in thinking that the exception info of 00815578 is the address that is jumped to for the ISR? There is nothing placed at this location which I guess would be why an exception is raised.

If anyone has any ideas I would be very grateful as I am completely stuck.

	Many Thanks in advance.

		James Yates

--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss


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