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]

RE: problem with the RealTimeClock ISR routine "return" instruction


It may be due to the timer interrupt not being negated or masked properly
(see hal_clock_reset()) and is possibly causing a re-entrant interrupt. This
action is very specific to the timers on your target platform so I would
check this carefully.

Alternatively, if you are getting a spurious interrupt, I would check *all*
your possible interrupt sources on your target hardware and make sure that
they are:

a) Catered for in your HAL port
b) If not used, correctly masked out in the initialisation
c) If used, correctly handled

I may be wrong, but I feel that your problem is very unlikely to be a
generic eCos one. Also, you are asking quite specific questions but you have
given very little detail of your actual target hardware with regard to what
sort of timers you are using and the interrupts they use. If you are having
real trouble with this, it might be an idea to use the services of an
organisation like eCosCentric or MIND, who are experts in HAL porting.

Robert Cragie, Design Engineer
_______________________________________________________________
Jennic Ltd, Furnival Street, Sheffield, S1 4QT,  UK
http://www.jennic.com  Tel: +44 (0) 114 281 2655
_______________________________________________________________

> -----Original Message-----
> From: ecos-discuss-owner@sources.redhat.com
> [mailto:ecos-discuss-owner@sources.redhat.com]On Behalf Of Satish Kumar
> Sent: 19 September 2003 08:23
> To: ecos-discuss@sources.redhat.com
> Subject: [ECOS] problem with the RealTimeClock ISR routine "return"
> instruction
>
>
> Hi,
>     i m testing the clocktruth.cxx on my target board which has
> arm926ej-s core.i m using gcc 3.2.1 for compiling my code.
> i have noticed a strange behaviour in the ISR routine.
> when the program calls Cyg_RealTimeClock() routine to initialize
> the external timer..and when the timer generates an periodic interrupt
> the Cyg_RealTimeClock::isr() routine is called with the correct vector
> number and when this instruction i.e
> (  return Cyg_Interrupt::CALL_DSR|Cyg_Interrupt::HANDLED )
> is excuted in the ISR routine, it is actually branching to spurious_IRQ
> handler routine..
> due to this my clocktruth program hangs in the while loop unable to
> read the rtc->counter_value_lo and returns 0 everytime..failin to print
> the time value.
>
> my concern is why "the spurious IRQ"  when the ISR routine was
> called with the correct timer interrupt no:...? is it somethin to do
> with the HAL porting issues..?
>
>
> some one help plz..
> saty
>
>
>
>
>  isr routine
> --
> Satish Kumar <satish@bvt.sc.sanyo.co.jp>
>
>
> --
> Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
> and search the list archive: http://sources.redhat.com/ml/ecos-discuss
>
>


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