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: How DSR is executed in interrupt ?


On Tue, Sep 11, 2007 at 11:44:18AM +0900, ariga masahiro wrote:
> Hi,
>
> Thank you , Andrew,for your reply.
>
> Andrew wrote--
>> Are you sure the ISR is being called multiple times?
> Definitely.Forever repeating.
>
>> This masks the interrupt. i.e. it should disable the interrupt
>> controller from causing further interrupts from this source. The
>> interrupt is usually unmasked in the delivery function once the
>> hardware has been reprogrammed to de-assert the interrupt. Since you
>> say the DSR is not getting called, i don't see how the interrupt can
>> get unmasked and so i don't see how the ISR can be called again.....
> You are right I'm confirmed doing masking in ISR.
>
>> This suggests that cyg_drv_interrupt_mask() is not working. It is not
>> masking the interrupt. I would take a look at your HAL and check the
>> interrupt handling code.
> I studied cyg_drv_interrupt_mask() and learned it calls
> packages\kernel\v2_0\src\intr\intr.cxx(614): 
> Cyg_Interrupt::mask_interrupt(cyg_vector vector)
> But it's too complicated.
> Is there any way (like diag_printf) I could check entering this class 
> function and working correctly ?
> I couldn't break in this function in ICE.
>
> If this function is working properly , it's outside of  ISR where unmasking 
> is executed.
> Is it possible  ISR returns in VSR and  somewhere did unmask and entering 
> ISR repeatedly ?
> Since DSR was never called,I think it's somewhere except DSR.

Which SH processor do you have? Take a look at the code in
sh*/current/src/var_misc.c:hal_interrupt_mask()

I suspect the masking is not working correctly.

>> As i've said before v2_0 is very old. It could be this has been fixed
>> in newer code....
> I am desperately trying to revise source using WinCVS,but WinCVS
> can't operate properly.I still am trying.

You might have a firewall blocking access. Take a look at
www.ecoscentric.com. They have daily snapshots of the CVS trunk.

> Do I need to revise configtool also ?

Nope. 


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