[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [avr-gcc-list] Avr-gcc Produces Incorrect Code with -Os
From: |
hutchinsonandy |
Subject: |
Re: [avr-gcc-list] Avr-gcc Produces Incorrect Code with -Os |
Date: |
Thu, 22 May 2008 13:48:06 -0400 |
You can do it this way but you won't have precise control over
disable/restore timing. So you will typically disable interrupts longer
than is needed.
Also disabling all interrupts is often not what you need. Disabling
specfic interrupts is more palatable on real time systems.
NMI is a feature not a limitation - it supposed to stop such software
hanging up the CPU.
BTW gcc provides atomic operations on other ports.
Andy
-----Original Message-----
From: Anatoly Sokolov <address@hidden>
To: Weddington, Eric <address@hidden>; David Brown
<address@hidden>; address@hidden
Sent: Thu, 22 May 2008 1:08 pm
Subject: Re: [avr-gcc-list] Avr-gcc Produces Incorrect Code with -Os
Hi.
An alternative way to handle this sort of thing would be to implement
a
"critical" function attribute like in the msp430 port of gcc - a
function with this attribute has interrupts disabled at the start,
and
restored at the end.
It will work for for tiny and mega devices, but xmega devices have
Non-Maskable Interrupts, and clearing of the I-bit does not guarantee
full continuity execution of a code.
I shall make a patch for "critical" attribute.
Anatoly.
_______________________________________________
AVR-GCC-list mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/avr-gcc-list
- Re: [avr-gcc-list] Avr-gcc Produces Incorrect Code with -Os, (continued)
- Re: [avr-gcc-list] Avr-gcc Produces Incorrect Code with -Os, Mark Litwack, 2008/05/16
- Re: [avr-gcc-list] Avr-gcc Produces Incorrect Code with -Os, Dave N6NZ, 2008/05/16
- Re: [avr-gcc-list] Avr-gcc Produces Incorrect Code with -Os, David Brown, 2008/05/22
- RE: [avr-gcc-list] Avr-gcc Produces Incorrect Code with -Os, Weddington, Eric, 2008/05/22
- Re: [avr-gcc-list] Avr-gcc Produces Incorrect Code with -Os, Anatoly Sokolov, 2008/05/22
- RE: [avr-gcc-list] Avr-gcc Produces Incorrect Code with -Os, Weddington, Eric, 2008/05/22
- Re: [avr-gcc-list] Avr-gcc Produces Incorrect Code with -Os,
hutchinsonandy <=
- RE: [avr-gcc-list] Avr-gcc Produces Incorrect Code with -Os, Weddington, Eric, 2008/05/22
- Re: [avr-gcc-list] Avr-gcc Produces Incorrect Code with -Os, hutchinsonandy, 2008/05/22
- Re: [avr-gcc-list] Avr-gcc Produces Incorrect Code with -Os, David Brown, 2008/05/22
- Re: [avr-gcc-list] Avr-gcc Produces Incorrect Code with -Os, Andy H, 2008/05/22
- RE: [avr-gcc-list] Avr-gcc Produces Incorrect Code with -Os, Scott and Roxanne Munns, 2008/05/23
- Re: [avr-gcc-list] Avr-gcc Produces Incorrect Code with -Os, Andy H, 2008/05/22
- Re: [avr-gcc-list] Avr-gcc Produces Incorrect Code with -Os, David Brown, 2008/05/23
- Re: [avr-gcc-list] Avr-gcc Produces Incorrect Code with -Os, Graham Davies, 2008/05/25
- Re: [avr-gcc-list] Avr-gcc Produces Incorrect Code with -Os, David Brown, 2008/05/25
- RE: [avr-gcc-list] Avr-gcc Produces Incorrect Code with -Os, Scott and Roxanne Munns, 2008/05/27