[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-gcc-list] AT90CAN128 silicon bug in conjunction w/ external RAM

From: Henrik Maier
Subject: Re: [avr-gcc-list] AT90CAN128 silicon bug in conjunction w/ external RAM
Date: Sun, 17 Apr 2005 07:53:08 +1000
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)

> It should be fairly easy to add such a switch to avr-gcc.  But, I'd
> suggest to ask Atmel to be sure:
>  - is LDS/STS really not affected by this bug?
>  - do other I/O instructions (CBI, SBI, SBIC, SBIS) work correctly?

I investigated myself and had a look at the gcc sources. Using -O0 avoids optimizing with in/out instructions. However for function prologues and epilogues avr-gcc still uses in/out instructions but this could indeed be patched easily. Then there are several inline macros in avr-libc which need to be changed as well. So it all looks like it could be done.

But: I also investigated further and my findings show that there must be other instructions showing the bug too. I have a failing code section of a simple for loop which does not do a single in or out.

Looking at Atmel's description: "... it seems that only "IN" and "OUT" instructions are concerned.", they use the term "seem" which means to me they are not quite sure.

If they don't know for sure, who else?

>  - is this for AT90CAN128 only, or does it affect any other devices?
>    (such as ATmega128)

Only the new AT90CAN128 part is affected.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]