[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [avr-libc-dev] [bug #28881] nop() macro for NOP instruction
From: |
Weddington, Eric |
Subject: |
RE: [avr-libc-dev] [bug #28881] nop() macro for NOP instruction |
Date: |
Sat, 13 Feb 2010 00:08:25 -0700 |
> -----Original Message-----
> From:
> address@hidden
> [mailto:address@hidden
> org] On Behalf Of Weddington, Eric
> Sent: Friday, February 12, 2010 11:49 PM
> To: Soren Jorvang; Joerg Wunsch; address@hidden
> Subject: RE: [avr-libc-dev] [bug #28881] nop() macro for NOP
> instruction
>
>
>
> > -----Original Message-----
> > From:
> > address@hidden
> > [mailto:address@hidden
> > org] On Behalf Of Joerg Wunsch
> > Sent: Friday, February 12, 2010 5:35 PM
> > To: Soren Jorvang; Joerg Wunsch; address@hidden
> > Subject: [avr-libc-dev] [bug #28881] nop() macro for NOP instruction
> >
> >
> > Follow-up Comment #1, bug #28881 (project avr-libc):
> >
> > You guessed it: there's no real place for the nop() macro
> > to go into. That's the main reason it's not yet there.
> >
>
> I agree that there is not a convenient place to put such a
> macro. But I would also argue now that we do not need to have
> such a macro in avr-libc. The only use for the NOP
> instruction is for some sort of delay, typically by a
> specific number of cycles. This has been available via
> patches to GCC for a while now. These patches add intrinsic
> functions to the AVR port of GCC and one of those intrinsic
> functions allows the user to delay a specified number of
> cycles. GCC will then generate inline code to do this which
> takes advantage of NOP and other instructions to implement
> this. These patches are included in the WinAVR release, and
> should be available in other distributions, though I haven't
> checked on other platforms.
Oh, I also wanted to add that these patches *will* make their way upstream into
the GCC source code, but it's a process to get it done. I don't have an exact
time frame for this yet.