Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: [lpc2000] IAR C and FIQ isr

2005-05-05 by Robert Adsett

At 07:57 AM 5/5/05 +0000, andy_moz wrote:
>I use IAR C for ARM V4.20a, and I try write FIQ as:
>__fiq __arm void my_fiq (void)
>
>When I open listing, I see this prologue code:
>
>00000000 04E04EE2 SUB LR,LR,#+0x4
>00000004 0F5F2DE9 STMDB SP!,{R0-R3,R8-R12,LR}
>
>But fiq has own shadow registers r8-r15.
>Why compiler saves this registers in stack?
>I think, that this is not necessary and make undesirable overhead.
>Can I avoid this somehow?

Never trust the compiler for this sort of work.  Do it in assembler.  I've 
run into too many compilers with either poor or outright broken code 
generation in this area to ever rely on it.

Robert

" 'Freedom' has no meaning of itself.  There are always restrictions,   be 
they legal, genetic, or physical.  If you don't believe me, try to chew a 
radio signal. "  -- Kelvin Throop, III
http://www.aeolusdevelopment.com/

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.