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]

RE: Enable EDB7xxx interrupts


> > > Then I have a thread that continuously prints out the PCMCIA 
> > > controller interrupt information.
> > > 
> > > Anyhow, the printf () in the interrupt handler never 
> occurs.  What 
> > > could be wrong?
> > 
> > A missing \n? For an interrupt handler it is _lots_ better to 
> > use diag_printf from <cyg/infra/diag.h>. printf is not 
> interrupt safe.
> It's still not working.  I took everything out as you suggested.
> 
> I've attached my program.

Is EINT1 brought out anywhere on the board? Have you scoped it? I take
it PCCIRRx are registers that control whether or not the pc card
controller trips EINT1 on a card interrupt?
For PCIOSR you indicate that you can switch interrupts between EINT1 and
the fiq, have you tried setting up a handler on the fiq to see if that
is catching any of your interrupts?
Is EINT1 shared on that board? Is it possible that something else is
holding it in limbo?
>From the cirrus web page, the cl-ps6700 can only be clocked at 13 or
18mHz, i take it your bus speed is adjusted appropriately?
It might help if you included your definitions for PCCIRR1, PCPMR,
PCSICR, PCIOSR, and a brief snippet of the output from your program.
Also, out of convention, it's a bit more clear if you use the pin
definitions in hal_edb7xxx.h, such as SYSCON2_PCMCIA1 instead of 0x020.

In general your interrupt usage looks ok, i would be more suspicious
about the setup of the controller or the hardware than eCos interrupt
management.

-Dan


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