[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [avr-gcc-list] uint8_t SRAM variable for ATmega328p allocated at 0x0
From: |
Senthil Kumar Selvaraj |
Subject: |
Re: [avr-gcc-list] uint8_t SRAM variable for ATmega328p allocated at 0x060 (instead of 0x0100) in avr-gcc 4.6.2, 7.3.2 |
Date: |
Thu, 18 Apr 2013 19:20:50 +0530 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Thu, Apr 18, 2013 at 01:34:41AM -0400, Kirill Shklovsky wrote:
> Senthil Kumar Selvaraj wrote:
>
> > I don't see the problem when I tried compiling the below code with 4.6.2.
> > Can you paste the command line you used, with -v and -Wl,--verbose turned
> > on?
> > It would be helpful to know what version of binutils was used, as well as
> > the build steps.
>
> Command used:
>
> /usr/local/avr/bin/avr-gcc -I. \
> -D F_CPU=20000000UL \
> -g -mmcu=atmega328 -O1 \
> -fpack-struct \
> -fshort-enums \
> -funsigned-bitfields \
> -funsigned-char \
> -Wall \
> -ffunction-sections \
> -fdata-sections \
> -fno-exceptions \
> -Wa,-ahlms=obj/main.lst.gcc \
> -Wno-uninitialized \
> -c main.cpp -o obj/main.o
>
> Here the result with -v -Wl,--verbose:
>
> COLLECT_GCC=/usr/local/avr/bin/avr-gcc
> Target: avr
> Configured with: ../configure --prefix=/usr/local/avr --target=avr
> --enable-languages=c,c++ --disable-nls --disable-libssp --with-dwarf2
> Thread model: single
> gcc version 4.7.3 (GCC)
> COLLECT_GCC_OPTIONS='-I' '.' '-D' 'F_CPU=20000000UL' '-g'
> '-mmcu=atmega328' '-O1' '-fpack-struct' '-fshort-enums'
> '-funsigned-bitfields' '-funsigned-char' '-Wall' '-ffunction-sections'
> '-fdata-sections' '-fno-exceptions' '-Wno-uninitialized' '-v' '-c'
> '-o' 'obj/main.o'
> /usr/local/avr/libexec/gcc/avr/4.7.3/cc1plus.exe -quiet -v -I .
> -imultilib avr5 -D F_CPU=20000000UL main.cpp -quiet -dumpbase main.cpp
> -mmcu=atmega328 -auxbase-strip obj/main.o -g -O1 -Wall
> -Wno-uninitialized -version -fpack-struct -fshort-enums
> -funsigned-bitfields -funsigned-char -ffunction-sections
> -fdata-sections -fno-exceptions -fno-rtti -fno-enforce-eh-specs
> -fno-exceptions -o /tmp/ccFOZ1pq.s
> GNU C++ (GCC) version 4.7.3 (avr)
> compiled by GNU C version 4.5.3, GMP version 4.3.2, MPFR
> version 3.0.1-p4, MPC version 0.8
> GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
> ignoring nonexistent directory
> "/usr/local/avr/lib/gcc/avr/4.7.3/../../../../avr/include/c++/4.7.3"
> ignoring nonexistent directory
> "/usr/local/avr/lib/gcc/avr/4.7.3/../../../../avr/include/c++/4.7.3/avr/avr5"
> ignoring nonexistent directory
> "/usr/local/avr/lib/gcc/avr/4.7.3/../../../../avr/include/c++/4.7.3/backward"
> ignoring nonexistent directory
> "/usr/local/avr/lib/gcc/avr/4.7.3/../../../../avr/sys-include"
> #include "..." search starts here:
> #include <...> search starts here:
> .
> /usr/local/avr/lib/gcc/avr/4.7.3/include
> /usr/local/avr/lib/gcc/avr/4.7.3/include-fixed
> /usr/local/avr/lib/gcc/avr/4.7.3/../../../../avr/include
> End of search list.
> GNU C++ (GCC) version 4.7.3 (avr)
> compiled by GNU C version 4.5.3, GMP version 4.3.2, MPFR
> version 3.0.1-p4, MPC version 0.8
> GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
> Compiler executable checksum: 49d98612d3bd1e77bd63ccc498787f2f
> COLLECT_GCC_OPTIONS='-I' '.' '-D' 'F_CPU=20000000UL' '-g'
> '-mmcu=atmega328' '-O1' '-fpack-struct' '-fshort-enums'
> '-funsigned-bitfields' '-funsigned-char' '-Wall' '-ffunction-sections'
> '-fdata-sections' '-fno-exceptions' '-Wno-uninitialized' '-v' '-c'
> '-o' 'obj/main.o'
> /usr/local/avr/lib/gcc/avr/4.7.3/../../../../avr/bin/as.exe
> -mmcu=atmega328 -mno-skip-bug -ahlms=obj/main.lst.gcc -o obj/main.o
> /tmp/ccFOZ1pq.s
> COMPILER_PATH=/usr/local/avr/libexec/gcc/avr/4.7.3/:/usr/local/avr/libexec/gcc/avr/4.7.3/:/usr/local/avr/libexec/gcc/avr/:/usr/local/avr/lib/gcc/avr/4.7.3/:/usr/local/avr/lib/gcc/avr/:/usr/local/avr/lib/gcc/avr/4.7.3/../../../../avr/bin/
> LIBRARY_PATH=/usr/local/avr/lib/gcc/avr/4.7.3/avr5/:/usr/local/avr/lib/gcc/avr/4.7.3/../../../../avr/lib/avr5/:/usr/local/avr/lib/gcc/avr/4.7.3/:/usr/local/avr/lib/gcc/avr/4.7.3/../../../../avr/lib/
> COLLECT_GCC_OPTIONS='-I' '.' '-D' 'F_CPU=20000000UL' '-g'
> '-mmcu=atmega328' '-O1' '-fpack-struct' '-fshort-enums'
> '-funsigned-bitfields' '-funsigned-char' '-Wall' '-ffunction-sections'
> '-fdata-sections' '-fno-exceptions' '-Wno-uninitialized' '-v' '-c'
> '-o' 'obj/main.o'
>
> The build steps is the command line above for compiling + link command:
>
> /usr/local/avr/bin/avr-gcc
> -Wl,--gc-sections,-Map,obj/testVolatile.elf.map -mmcu=atmega328
> /usr/local/avr/avr/lib/libm.a -o obj/testVolatile.elf
> obj/main.o
> -lm
>
Could you pass -v and -Wl,--verbose to the link command line as well and
show us the output? That'll tell us if avr-gcc passed the right VMA for
.data, and will also print the linker script used, so we can see if
you ran into the binutils bug JW mentioned.
Regards
Senthil
- [avr-gcc-list] uint8_t SRAM variable for ATmega328p allocated at 0x060 (instead of 0x0100) in avr-gcc 4.6.2, 7.3.2, Kirill Shklovsky, 2013/04/17
- Re: [avr-gcc-list] uint8_t SRAM variable for ATmega328p allocated at 0x060 (instead of 0x0100) in avr-gcc 4.6.2, 7.3.2, Senthil Kumar Selvaraj, 2013/04/18
- Re: [avr-gcc-list] uint8_t SRAM variable for ATmega328p allocated at 0x060 (instead of 0x0100) in avr-gcc 4.6.2, 7.3.2, Kirill Shklovsky, 2013/04/18
- Re: [avr-gcc-list] uint8_t SRAM variable for ATmega328p allocated at 0x060 (instead of 0x0100) in avr-gcc 4.6.2, 7.3.2,
Senthil Kumar Selvaraj <=
- Re: [avr-gcc-list] uint8_t SRAM variable for ATmega328p allocated at 0x060 (instead of 0x0100) in avr-gcc 4.6.2, 7.3.2, Kirill Shklovsky, 2013/04/18
- Re: [avr-gcc-list] uint8_t SRAM variable for ATmega328p allocated at 0x060 (instead of 0x0100) in avr-gcc 4.6.2, 7.3.2, Senthil Kumar Selvaraj, 2013/04/18
- Re: [avr-gcc-list] uint8_t SRAM variable for ATmega328p allocated at 0x060 (instead of 0x0100) in avr-gcc 4.6.2, 7.3.2, Kirill Shklovsky, 2013/04/18
Re: [avr-gcc-list] uint8_t SRAM variable for ATmega328p allocated at0x060 (instead of 0x0100) in avr-gcc 4.6.2, 7.3.2, Jan Waclawek, 2013/04/18