Hi Leute,
ich habe ein Problem bei mit dem I2C-Bus Programm.
Zum testen habe ich versucht, das Beispielprogramm \RP6BASE_EXAMPLES\RP6Base_I2CSlave.c zu kompilieren und auf den RP6 zu laden.
Jedoch bekomme ich immer die Fehler:
Code:
> "make.exe" all
-------- begin --------
avr-gcc (WinAVR 20100110) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Size before:
AVR Memory Usage
----------------
Device: atmega32
Program: 6904 bytes (21.1% Full)
(.text + .data + .bootloader)
Data: 246 bytes (12.0% Full)
(.data + .bss + .noinit)
Compiling: main-base.c
avr-gcc -c -mmcu=atmega32 -I. -gdwarf-2 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=main-base.lst -I../RP6Lib -I../RP6Lib/RP6base -I../RP6Lib/RP6common -std=gnu99 -MD -MP -MF .dep/main-base.o.d main-base.c -o main-base.o
Linking: main-base.elf
avr-gcc -mmcu=atmega32 -I. -gdwarf-2 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=main-base.o -I../RP6Lib -I../RP6Lib/RP6base -I../RP6Lib/RP6common -std=gnu99 -MD -MP -MF .dep/main-base.elf.d main-base.o ../RP6Lib/RP6base/RP6RobotBaseLib.o ../RP6Lib/RP6common/RP6uart.o --output main-base.elf -Wl,-Map=main-base.map,--cref -lm
main-base.o: In function `getCommand':
C:\RP6\Base/main-base.c:307: undefined reference to `I2CTWI_writeRegisters'
C:\RP6\Base/main-base.c:307: undefined reference to `I2CTWI_writeBusy'
C:\RP6\Base/main-base.c:309: undefined reference to `I2CTWI_writeRegisters'
C:\RP6\Base/main-base.c:310: undefined reference to `I2CTWI_writeRegisters'
C:\RP6\Base/main-base.c:311: undefined reference to `I2CTWI_writeRegisters'
C:\RP6\Base/main-base.c:312: undefined reference to `I2CTWI_writeRegisters'
C:\RP6\Base/main-base.c:313: undefined reference to `I2CTWI_writeRegisters'
main-base.o:C:\RP6\Base/main-base.c:314: more undefined references to `I2CTWI_writeRegisters' follow
main-base.o: In function `task_commandProcessor':
C:\RP6\Base/main-base.c:361: undefined reference to `setLEDs'
main-base.o: In function `task_updateRegisters':
C:\RP6\Base/main-base.c:237: undefined reference to `I2CTWI_readBusy'
C:\RP6\Base/main-base.c:239: undefined reference to `I2CTWI_readRegisters'
C:\RP6\Base/main-base.c:240: undefined reference to `I2CTWI_readRegisters'
C:\RP6\Base/main-base.c:241: undefined reference to `I2CTWI_readRegisters'
C:\RP6\Base/main-base.c:242: undefined reference to `I2CTWI_readRegisters'
C:\RP6\Base/main-base.c:243: undefined reference to `I2CTWI_readRegisters'
main-base.o:C:\RP6\Base/main-base.c:244: more undefined references to `I2CTWI_readRegisters' follow
main-base.o: In function `task_updateRegisters':
C:\RP6\Base/main-base.c:269: undefined reference to `I2CTWI_dataWasRead'
C:\RP6\Base/main-base.c:269: undefined reference to `I2CTWI_dataReadFromReg'
main-base.o: In function `signalInterrupt':
C:\RP6\Base/main-base.c:92: undefined reference to `I2CTWI_dataWasRead'
main-base.o: In function `task_MasterTimeout':
C:\RP6\Base/main-base.c:419: undefined reference to `setLEDs'
C:\RP6\Base/main-base.c:423: undefined reference to `setLEDs'
main-base.o: In function `main':
C:\RP6\Base/main-base.c:444: undefined reference to `setLEDs'
C:\RP6\Base/main-base.c:446: undefined reference to `setLEDs'
C:\RP6\Base/main-base.c:448: undefined reference to `I2CTWI_initSlave'
main-base.o: In function `motionControlStateChanged':
C:\RP6\Base/main-base.c:151: undefined reference to `isMovementComplete'
make.exe: *** [main-base.elf] Error 1
> Process Exit Code: 2
> Time Taken: 00:00
Ich habe die neuste Version der Librarys (Version 20080915) und exakt das Beispielprogramm genommen, ohne etwas zu verändern.
Die Antwort wird wahrscheinlich kurz, da der Fehler bei mir liegt, ich weiß aber nicht wo?!
Vielen Dank
Ich
Lesezeichen