Forums

BREAK module on a 68HC908

Started by Yvan BOURNE January 5, 2005
Hi,
I try to use the BREAK module on a 68HC908KX8.

On my first compare, the software go inside the SWI isr, no problem.

Inside my SWI isr, I send some bytes by the SCI, and I've received a special
byte to exit the isr (with a RTI).

My software return in the main loop, but never return inside the SWI isr at
the next match between the register BRK and the internal address bus (the
bit BRKA is clear in the SWI isr)...

Any ideas ?

Regards,

--
---

Yvan
http://www.ybdesign.fr




Yvan BOURNE wrote:
> Hi, > I try to use the BREAK module on a 68HC908KX8. > > On my first compare, the software go inside the SWI isr, no problem. > > Inside my SWI isr, I send some bytes by the SCI, and I've received a
special
> byte to exit the isr (with a RTI). > > My software return in the main loop, but never return inside the SWI
isr at
> the next match between the register BRK and the internal address bus
(the
> bit BRKA is clear in the SWI isr)... > > Any ideas ? > > Regards, > > -- > --- > > Yvan > http://www.ybdesign.fr
Hi,
I don't know your processor but an ISR firing only the once sound like
you need to acknowledge the interrupt. I assume BRKA is Break address
which clearly would be clear once inside the ISR ! This bit will feed
into another part of the chip though which will have latched the
interrupt condition, the interrupt controller. The interrupt
arbitration logic area of the chip would prioritise interrupts, a break
would be more important than a timer for example. It is usual to latch
the condition as you may for example already be in an interrupt handler
and cannot service straight away. When you exit the pending interrupt
takes over.
You will need to tell the interrupt controller (arbitration logic) that
your done. The interrupt controller will not fire your ISR until you do
this for obvious reasons. I doubt that RTI will acknowledge, usually
RTI pops return address and CPU flags but does not acknowledge.
I don't know your system though.

Yvan BOURNE wrote:
> Hi, > I try to use the BREAK module on a 68HC908KX8. > > On my first compare, the software go inside the SWI isr, no problem. > > Inside my SWI isr, I send some bytes by the SCI, and I've received a
special
> byte to exit the isr (with a RTI). > > My software return in the main loop, but never return inside the SWI
isr at
> the next match between the register BRK and the internal address bus
(the
> bit BRKA is clear in the SWI isr)... > > Any ideas ? > > Regards, > > -- > --- > > Yvan > http://www.ybdesign.fr