Hi folks- I'm (at long last) trying to switch from using Windows to using Ubuntu for my AVR development. I'm using AVR-GCC 4.5.3 on Ubuntu 12.04. I'm using the Eclipse IDE with the AVR-GCC plugin. I'm getting the following error trace from the compiler:
In file included from ../soft_uart.c:16:0: /usr/lib/gcc/avr/4.5.3/../../../avr/include/util/delay.h: In function ‘soft_uart_init’: /usr/lib/gcc/avr/4.5.3/../../../avr/include/util/delay.h:153:28: error: __builtin_avr_delay_cycles expects an integer constant. /usr/lib/gcc/avr/4.5.3/../../../avr/include/util/delay.h: In function ‘delay_bit_time’: /usr/lib/gcc/avr/4.5.3/../../../avr/include/util/delay.h:230:28: error: __builtin_avr_delay_cycles expects an integer constant. line 16 of soft_uart.c is just the #include <util/delay.h> line. I use _delay_ms and _delay_us in exactly six lines of code. The first two are: _delay_ms(BIT_TIME_US * 2); _delay_us(BIT_TIME_US); which both depend on the following definitions: #define BAUD_RATE 2400 #define BIT_TIME_US (1000000.0 / BAUD_RATE) and then also the following four lines: _delay_ms(100); _delay_ms(250); _delay_ms(500); _delay_ms(2000); I've read this thread<http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=105891&start=0>on avr-freaks and also this bug-report<http://old.nabble.com/-bug--34278--Seemingly-overzealous-%22__builtin_avr_delay_cycles-expects-an-integer-constant%22-td32451670.html>, but nothing jumps out at me as being relevant. Obviously, my arguments are all well defined constants at compile-time. The same error message shows up as long as at least one of those six lines is not commented out. Every single avr-gcc call issued by Eclipse contains the argument -DF_CPU=3686400UL so F_CPU is also a well defined constant. What the heck is going on here? Regards, Vic @vicatcu <http://twitter.com/vicatcu/>
_______________________________________________ AVR-GCC-list mailing list AVR-GCC-list@nongnu.org https://lists.nongnu.org/mailman/listinfo/avr-gcc-list