[Icc-arm] FIQ problems in 7.08
Gennadiy Kiryukhin
genna at atsi-tester.com
Fri Aug 31 06:59:40 PDT 2007
I though of taking the output .s file from compiler and pasting the FIQ
code directly into the startup file. I would also have to manually
replace all of R0-R4 with R8-R12. That would eliminate the need to write
the FIQ in assembly language, and yet would give me the ability to
control the code at the low level.
Does anybody know of a way to tell the compiler not to use certain CPU
registers for a specific a function? I could block R0-R7 and force the
compiler to use the FIQ registers.
Gennadiy
Bruce M. Pride wrote:
> No problem Gennadiy, glad it helped. I spent a lot of time on that demo
> project for the iARM-2103 board.
>
> If you are looking to reduce interrupt latency, then you could write an
> assembly language interrupt handler starting right at 0x0000001C, which
> is where I had LDR PC,FIQ_Handler_addr.
>
> Another option might be to call your C function, but optimize the FIQ
> code yourself. I agree that the FIQ doesn't need the same housekeeping
> as an IRQ, so maybe you or Richard can refine that. That would be a
> great optimization for the next ICCARM update! :>)
>
> I'm very interested in the outcome of this, so please let the group know
> how things turn out.
>
> Thanks and Best Regards,
>
> Bruce P.
>
> ----- Original Message -----
> From: "Gennadiy Kiryukhin" <genna at atsi-tester.com
> <mailto:genna at atsi-tester.com>>
> To: "Discussion list for ICCV7 for ARM users" <icc-arm at imagecraft.com
> <mailto:icc-arm at imagecraft.com>>
> Sent: Thursday, August 30, 2007 4:56 PM
> Subject: Re: [Icc-arm] FIQ problems in 7.08
>
> > That worked. Thanks. I knew it had to do with the start-up file since
> > the default file did not have the proper command at 0x0000001C adddress,
> > but I was not sure how to change it.
> >
> > I would like to reduce the interrupt latency even more. Is there any way
> > I can force my FIQ to be placed at address 0x0000001C?
> >
> >
> > To Richard,
> >
> > I also noticed that, FIQ is still saving some registers, even though
> > there are R8_fiq through R12_fiq allocated specifically for the FIQ
> > function. Would be nice to have the compiler to use those registers
> > first and add "save registers" commands only when more registers are
> > needed. If I understand correctly, LR would need to be saved only when
> > FIQ calls other functions.
> >
> >
> > Regards,
> >
> > Gennadiy
> >
> > Bruce M. Pride wrote:
> > > Hi Gennadiy,
> > >
> > > I have implemented an FIQ handler with ICCARM for the LPC2103 based
> > > iARM-2103 board.
> > >
> > > Feel free to take a look at the FIQ demo project found here:
> > > http://mysite.verizon.net/vzeo0six/id23.html
> > >
> > > Regards,
> > >
> > > Bruce P.
> > >
> > > -------- Original Message --------
> > > Subject: [Icc-arm] FIQ problems in 7.08
> > > From: Gennadiy Kiryukhin <genna at atsi-tester.com
> <mailto:genna at atsi-tester.com>>
> > > Date: Wed, August 29, 2007 12:04 pm
> > > To: icc-arm at imagecraft.com <mailto:icc-arm at imagecraft.com>
> > >
> > > I am running 7.08 beta for LPC21xx micro.
> > > I have defined an FIQ handler as #pragma fiq_handler rx_bit
> > > and an IRQ handler is defined as #pragma interrupt_handler tx_bit.
> > >
> > > If I enable the interrupts using
> __ENABLE_FIQ_AND_IRQ_INTERRUPTS() my
> > > program just hangs. The FIQ does not seem to be called.
> However, if I
> > > use __ENABLE_INTERRUPT(), the code seems to work except the FIQ as
> > > expected. Any reason why?
> > >
> > > Thanks,
> > > Gennadiy
> > >
> > > _______________________________________________
> > > Icc-arm mailing list
> > > Icc-arm at imagecraft.com <mailto:Icc-arm at imagecraft.com>
> <http://email.secureserver.net/pcompose.php!
> > > ?type=replyall&folder=INBOX&uid=4934#Compose>
> > > http://dragonsgate.net/mailman/listinfo/icc-arm
> > >
> > >
> > >
> ------------------------------------------------------------------------
> > >
> > > _______________________________________________
> > > Icc-arm mailing list
> > > Icc-arm at imagecraft.com <mailto:Icc-arm at imagecraft.com>
> > > http://dragonsgate.net/mailman/listinfo/icc-arm
> >
> > _______________________________________________
> > Icc-arm mailing list
> > Icc-arm at imagecraft.com <mailto:Icc-arm at imagecraft.com>
> > http://dragonsgate.net/mailman/listinfo/icc-arm
> >
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Icc-arm mailing list
> Icc-arm at imagecraft.com
> http://dragonsgate.net/mailman/listinfo/icc-arm
More information about the Icc-arm
mailing list