URL:
  <http://savannah.nongnu.org/bugs/?31768>

                 Summary: Difference in address between using a direct var or
through a struct
                 Project: AVR C Runtime Library
            Submitted by: lourens
            Submitted on: Thu 25 Nov 2010 08:14:07 PM GMT
                Category: Library
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: None
                  Status: None
        Percent Complete: 0%
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 1.6.8
           Fixed Release: None

    _______________________________________________________

Details:

When I compile this code:
  ADCA.CH0.MUXCTRL = ADC_CH_MUXPOS_PIN0_gc;
The assembler result is:
 204: e0 e0         ldi r30, 0x00 ; 0
 206: f2 e0         ldi r31, 0x02 ; 2
 208: 13 8e         std Z+27, r1  ; 0x1b

And with this code:
  ADCA_CH0_MUXCTRL = ADC_CH_MUXPOS_PIN0_gc;
The result is:
 204: e1 e2         ldi r30, 0x21 ; 33
 206: f2 e0         ldi r31, 0x02 ; 2
 208: 10 82         st  Z, r1

Although I don't care about the difference in using st or std, the problem is
that the accessed addresses are different. The last one seems right as it
works while the first one isn't. I checked through the header files and
compared them with the datasheet. At first sight I don't see a problem there,
so maybe it is the compiler doing something incompatible?

My version of avr-libc is 1.6.8 and avr-gcc is 4.3.4.

The command was:
  avr-gcc -mmcu=atxmega64d3 -Wall -W -Wcast-align -Wcast-qual -Wimplicit
-Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wshadow -Wno-unused
-Wstrict-prototypes -Wnested-externs -g -I. -DCPU_FREQ=10000000UL
-DF_CPU=CPU_FREQ -c main.c -o obj/main.o





    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/bugs/?31768>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/


_______________________________________________
AVR-libc-dev mailing list
AVR-libc-dev@nongnu.org
http://lists.nongnu.org/mailman/listinfo/avr-libc-dev

Reply via email to