[En-Nut-Discussion] Error messages while building up Nut/OS

Helmut Holbach hh at umweltanalytik-holbach.de
Wed May 27 15:29:48 CEST 2009


Hello,
I get error-messages while building up Nut/OS.
The target cpu is ATMega 2561 on modified Ethernut board 1.3h

Ethernut 4.8.2 GCC  and avr-gcc (WinAVR 20090313) 4.3.2   avr-libc 1.6.6

The message of the Nut/OS configurator:
13:54:34: Loading C:/ethernut-4.8.2/nut/conf/ethernut13h-256gcc.conf
avr-ar: creating libnutarch.a
.
avr-ar: creating libnutfs.a
In file included from C:/ethernut-4.8.2/nut/include/arch/avr/gcc.h:77,
                 from C:/ethernut-4.8.2/nut/include/arch/avr.h:94,
                 from C:/ethernut-4.8.2/nut/include/compiler.h:75,
                 from C:/ethernut-4.8.2/nut/include/cpp/nutcpp.h:54,
                 from C:/ethernut-4.8.2/nut/cpp/nutcpp.cc:43:
c:/programme/winavr/lib/gcc/../../avr/include/avr/eeprom.h: In function 
'void eeprom_read_block(void*, const void*, size_t)':
c:/programme/winavr/lib/gcc/../../avr/include/avr/eeprom.h:290: error: 
ISO C++ forbids incrementing a pointer of type 'void*'
c:/programme/winavr/lib/gcc/../../avr/include/avr/eeprom.h:290: error: 
ISO C++ forbids incrementing a pointer of type 'const void*'
c:/programme/winavr/lib/gcc/../../avr/include/avr/eeprom.h:290: error: 
invalid conversion from 'const void*' to 'const uint8_t*'
c:/programme/winavr/lib/gcc/../../avr/include/avr/eeprom.h:290: error:   
initializing argument 1 of 'uint8_t eeprom_read_byte(const uint8_t*)'
make[1]: *** [nutcpp.o] Error 1

The extract of the eeprom.h:

static __inline__ void
eeprom_read_block (void *__dst, const void *__src, size_t __n)
{
#if (! (defined(__AVR_ATmega2560__) || defined(__AVR_ATmega2561__)) )
    __eerd_block (__dst, __src, __n, eeprom_read_byte);
#else
    /* If ATmega256x device, do not call function. */
    while (__n--)
    {
        *(char *)__dst++ = eeprom_read_byte(__src++);     // This is 
line 290
    }
#endif
}



Thanks

Helmut Holbach





More information about the En-Nut-Discussion mailing list