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: ISR occurs, but DSR does not.



	> > I'm sure I'm clearing the interrupt properly.  If I 
	> didn't clear it 
	> > properly on the PCMCIA controller side, I would get 
	> a whole bunch of 
	> > interrupts really quickly.  Even if this happens, 
	> my DSRs are still 
	> > used every time.
	> 
	> They _are_ still used? Just to be clear, from what 
	> you described before it seems that everything just 
	> freezes when a card is inserted, right? Do you have 
	> any idea what's happening when that happens?

Actually, I do now.  It freezes at the following code.  I'm attempting
to access the CL-PS6700 registers.  
The code blow is from in the DSR.  I didn't realize that my DSR was
being reached because I didn't know that the CYG_TRACE was hanging.  I
finally put another CYG_TRACE above it and realized it was failing
because of the controller register access.

    CYG_TRACE2 (1, "Something on FIQ Fired!\n"
        "IILR = %x\n"
        "ISR = %x",
        *(unsigned *)PCCIILR,
        0);//*(unsigned *)PCISR);

The documentation says that the registers are accessible in all power
states.  Right after that it says that "control of register bits, which
can affect posted writes or prefetch reads such as applying and removing
card power, should be done only after checking that the CL-PS6700 is
idle using the Idle bit in the interrupt Input Level Register.".  The
funny thing is, I can't access the Interrupt Input Level Register
(PCCIILR) after enabling the card! LMAO.

I tried setting either of the two registers I'm trying to access to 0,
but it hangs on both accesses.  Setting them both to 0 obviously works.
But, then a line a little further on in the DSR tries to clear the
interrupts in the controller which causes a hang as well.  I would like
to be able to find out what type of interrupt it is, but how can I do
that if I can't access the registers!?!?  Anyhow, this is nothing to do
with eCos for sure now.  So I'll just have to try and figure it out
myself.


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