interrupt handlers PowerPC via GCC

4 messages, 3 authors, 2008-03-26 · open the first message on its own page

interrupt handlers PowerPC via GCC

From: Tehn Yit Chin <hidden>
Date: 2008-03-20 00:06:35

Hi all,

Apologies for such a basic question. I am trying to write an ISR on a
MPC551x. When I tried to use the interrupt attribute with
powerpc-eabi-gcc such as

_attribute_((interrupt_handler)) foobarISR(void)
{
}


it complains of a syntax error. Upon further investigation in the GCC,
it appears that the interrupt attribute is not supported by
powerpc-eabi-gcc.

Am I missing something fundamental here? How are the current interrupt
service routines created at the moment?

Any pointers would be appreciated.

tyc

Re: interrupt handlers PowerPC via GCC

From: Scott Wood <hidden>
Date: 2008-03-20 17:18:43

Tehn Yit Chin wrote:
Hi all,

Apologies for such a basic question. I am trying to write an ISR on a
MPC551x. When I tried to use the interrupt attribute with
powerpc-eabi-gcc such as

_attribute_((interrupt_handler)) foobarISR(void)
{
}
Assuming you're talking about an interrupt handler in Linux, you don't need to do anything like that.  The actual interrupt entry is assembly code.  Search existing drivers for "irqreturn_t" to find examples of what an interrupt handler looks like, and "request_irq" for how to hook the handler into the interrupt.

-Scott

Re: interrupt handlers PowerPC via GCC

From: Tehn Yit Chin <hidden>
Date: 2008-03-24 23:03:53

Hey Scott,

Thanks for the reply, I shall investigate further.

I wasn't talking about interrupt handlers in Linux as such, but using
powerpc-eabi-gcc to write an ISR for the MPC5516. (I guess that could be
off-topic on this mailing list, but I thought the folks on this mailing list
would probably know the answer pretty easily). I was hoping that gcc would
generate the prologue and epilogue code for me via the interrupt attributes.

Many thanks.
Tehn Yit Chin



On Fri, Mar 21, 2008 at 4:18 AM, Scott Wood [off-list ref] wrote:
Tehn Yit Chin wrote:
quoted
Hi all,

Apologies for such a basic question. I am trying to write an ISR on a
MPC551x. When I tried to use the interrupt attribute with
powerpc-eabi-gcc such as

_attribute_((interrupt_handler)) foobarISR(void)
{
}
Assuming you're talking about an interrupt handler in Linux, you don't
need to do anything like that.  The actual interrupt entry is assembly
code.  Search existing drivers for "irqreturn_t" to find examples of
what an interrupt handler looks like, and "request_irq" for how to hook
the handler into the interrupt.

-Scott

Re: interrupt handlers PowerPC via GCC

From: David H. Lynch Jr. <hidden>
Date: 2008-03-26 02:50:10

Tehn Yit Chin wrote:
Hey Scott,

Thanks for the reply, I shall investigate further.

I wasn't talking about interrupt handlers in Linux as such, but using
powerpc-eabi-gcc to write an ISR for the MPC5516. (I guess that could be
off-topic on this mailing list, but I thought the folks on this mailing list
would probably know the answer pretty easily). I was hoping that gcc would
generate the prologue and epilogue code for me via the interrupt attributes.
    I know nothing about GCC's interrupt attributes,
    however, there is no problem writing ISR's  from scratch (no OS)
    for the ppc. There are several boot loaders, monitors etc. out there
with examples.
     There is even one inside the Linux Kernel source - though it i
probably far more complex than you need.

    Somewhere I have something for the ppc405 I can send you - but most
ppc's are similar.


-- 
Dave Lynch 					  	    DLA Systems
Software Development:  				         Embedded Linux
717.627.3770 	       dhlii@dlasys.net 	  http://www.dlasys.net
fax: 1.253.369.9244 			           Cell: 1.717.587.7774
Over 25 years' experience in platforms, languages, and technologies too numerous to list.

"Any intelligent fool can make things bigger and more complex... It takes a touch of genius - and a lot of courage to move in the opposite direction."
Albert Einstein
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help