|
From: | Rick Mann |
Subject: | Re: [avr-gcc-list] Illegal opcode errors building gcc-4.2.3 |
Date: | Sun, 20 Apr 2008 15:43:39 -0700 |
On Apr 20, 2008, at 2:29 PM, Dmitry K. wrote:
More exactly: this is because binutils 2.18 does not support the MOVW instruction with architecture 3. The simplest workaround (if you are not happy to install new binutils) is to add '-mall-opcodes': Replace into 'config/avr/avr.h' the string: #define ASM_SPEC "%{mmcu=avr25:-mmcu=avr2; mmcu=avr35:-mmcu=avr3; mmcu=avr31:-mmcu=avr3;mmcu=avr51:-mmcu=avr5;mmcu=*:-mmcu=%*}" to: #define ASM_SPEC "%{mmcu=avr25:-mmcu=avr2; mmcu=avr35:-mmcu=avr3 -mall-opcodes; mmcu=avr31:-mmcu=avr3;mmcu=avr51:-mmcu=avr5;mmcu=*:-mmcu=%*}"
Thank you for the suggestion.Would you mind giving me a little lesson in how that ASM_SPEC works? (I'm trying to learn more about GCC in general).
Also, how can I find out which patches need to be added to a given GCC release? For example, 4.3.0 is out, and if I wanted to make that work, how would I find out if it works for AVR and if not, are there are patches for it?
Thanks again! -- Rick
[Prev in Thread] | Current Thread | [Next in Thread] |