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
