Hi,
My project for the Sam3u4e compiles and links fine, unless I turn optimizations off (which makes it a lot easier to debug)
I get the following errors:
Error 12 undefined reference to `_write' /usr/local/avr32studio/hudson/workspace/arm-gnu-toolchain/.build/src/newlib-1.19.0/newlib/libc/reent/writer.c 58 1 testbed
Error 13 undefined reference to `_read' /usr/local/avr32studio/hudson/workspace/arm-gnu-toolchain/.build/src/newlib-1.19.0/newlib/libc/reent/readr.c 58 1 testbed
I'm not sure what is causing the errors, any advice would be helpful.
From the ASF wizard I have:
Generic
SD/MMC mci
System Clock
Delay
GPIO
IOPORT
USART
SPI usart_andstandard
PIO
RSTC
WDT
Thanks
Atmel Studio 6 fails to link at -O0
Moderator: nferre
Post
Re: Atmel Studio 6 fails to link at -O0
I can't exactly help, but I also had a problem recently where things would go awry if I turned optimisation off.
What I did to narrow down the problem was turn optimisation off, but then turn on all of the -O1 level optimisations manually.
http://gcc.gnu.org/onlinedocs/gcc-4.7.2 ... ze-Options
You can see there what the individual options are, or alternatively run gcc with these options "-Q -O1 --help=optimizers" to see what optimisations are enabled or disabled at -O1.
The documentation warns that specifying the optimisations individually won't necessarily work. Doing this did work for me though, and so I was able to to go through and compile with a different one disabled each time.
From there I found there was a single optimisation flag that needed to be enabled in order to get everything to work (e.g. in my case I needed the -fomit-frame-pointer flag to get my program to work). That narrowed the problem down a lot and from there I was able to find the actual problem. This might be something you can try.
What I did to narrow down the problem was turn optimisation off, but then turn on all of the -O1 level optimisations manually.
http://gcc.gnu.org/onlinedocs/gcc-4.7.2 ... ze-Options
You can see there what the individual options are, or alternatively run gcc with these options "-Q -O1 --help=optimizers" to see what optimisations are enabled or disabled at -O1.
The documentation warns that specifying the optimisations individually won't necessarily work. Doing this did work for me though, and so I was able to to go through and compile with a different one disabled each time.
From there I found there was a single optimisation flag that needed to be enabled in order to get everything to work (e.g. in my case I needed the -fomit-frame-pointer flag to get my program to work). That narrowed the problem down a lot and from there I was able to find the actual problem. This might be something you can try.
Who is online
Users browsing this forum: No registered users and 3 guests