Compilar psgroove en windows con winavr

Pues eso, en vista que psgroove han actualizado el exploit me he decidido a instalar el winavr y compilar, no tengo experiencia con estos compiladores asi que a lo mejor estoy obviando algo demasiado basico, el caso es que me instalo las herramientas necesarias, me bajo el source. y el make me da el siguiente error

Compiling C: psgroove.c
avr-gcc -c -mmcu=at90usb1287 -I. -gdwarf-2 -DF_CPU=UL -DF_CLOCK=UL -DBOARD=BOARD
_USBKEY -D USB_DEVICE_ONLY -D FIXED_CONTROL_ENDPOINT_SIZE=8 -D USE_FLASH_DESCRIP
TORS -D MEMSPACE_FLASH=0 -D MEMSPACE_EEPROM=1 -D USE_STATIC_OPTIONS="(USB_DEVICE
_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" -Os -funsigned-char -f
unsigned-bitfields -ffunction-sections -fno-inline-small-functions -fpack-struct
-fshort-enums -fno-strict-aliasing -Wall -Wstrict-prototypes -Wa,-adhlns=./psgr
oove.lst -Ilufa-lib/trunk/ -std=c99 -MMD -MP -MF .dep/psgroove.o.d psgroove.c -o
psgroove.o
In file included from psgroove.c:22:
x:/winavr/lib/gcc/../../avr/include/util/delay.h: In function '_delay_ms':
x:/winavr/lib/gcc/../../avr/include/util/delay.h:113: error: 'UL' undeclared (fi
rst use in this function)
x:/winavr/lib/gcc/../../avr/include/util/delay.h:113: error: (Each undeclared id
entifier is reported only once
x:/winavr/lib/gcc/../../avr/include/util/delay.h:113: error: for each function i
t appears in.)
x:/winavr/lib/gcc/../../avr/include/util/delay.h: In function '_delay_us':
x:/winavr/lib/gcc/../../avr/include/util/delay.h:151: error: 'UL' undeclared (fi
rst use in this function)
In file included from lufa-lib/trunk/LUFA/Drivers/USB/HighLevel/USBTask.h:49,
from lufa-lib/trunk/LUFA/Drivers/USB/USB.h:372,
from psgroove.c:28:
lufa-lib/trunk/LUFA/Drivers/USB/HighLevel/../LowLevel/USBController.h:121:5: err
or: #error No PLL prescale value available for chosen F_CPU value and AVR model.

In file included from lufa-lib/trunk/LUFA/Drivers/USB/HighLevel/USBTask.h:49,
from lufa-lib/trunk/LUFA/Drivers/USB/USB.h:372,
from psgroove.c:28:
lufa-lib/trunk/LUFA/Drivers/USB/HighLevel/../LowLevel/USBController.h: In functi
on 'USB_PLL_On':
lufa-lib/trunk/LUFA/Drivers/USB/HighLevel/../LowLevel/USBController.h:364: error
: 'USB_PLL_PSC' undeclared (first use in this function)
psgroove.c: In function '__vector_20':
psgroove.c:111: error: 'UL' undeclared (first use in this function)
make: *** [psgroove.o] Error 1
Yo no se como solucionar el problema pero si lo consigues podrias poner un pequeño tuto de como compilarlo?porque me gustaria compilarlo y no hay ningun tuto sobre como hacerlo,llevo toda la tarde buscando por google.gracias
Compiling C: psgroove.c
avr-gcc -c -mmcu=at90usb1287 -I. -gdwarf-2 -DF_CPU=UL -DF_CLOCK=UL -DBOARD=BOARD
_USBKEY -D USB_DEVICE_ONLY -D FIXED_CONTROL_ENDPOINT_SIZE=8 -D USE_FLASH_DESCRIP
TORS -D MEMSPACE_FLASH=0 -D MEMSPACE_EEPROM=1 -D USE_STATIC_OPTIONS="(USB_DEVICE
_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" -Os -funsigned-char -f
unsigned-bitfields -ffunction-sections -fno-inline-small-functions -fpack-struct
-fshort-enums -fno-strict-aliasing -Wall -Wstrict-prototypes -Wa,-adhlns=./psgr
oove.lst -Ilufa-lib/trunk/ -std=c99 -MMD -MP -MF .dep/psgroove.o.d psgroove.c -o
psgroove.o

psgroove.c:111: error: 'UL' undeclared (first use in this function)
make: *** [psgroove.o] Error 1


Eso está fallando. Según la wiki del propio proyecto PSGROOVE los valores aconsejaos para tu micro son:

MCU = at90usb1287
BOARD = USBKEY
F_CLOCK = 8000000
(mensaje borrado)
umm .. que curioso, gracias fearandir ... tengo el makefile modificado, hasta ahí había llegado

MCU = at90usb1287
BOARD = USBKEY
F_CLOCK = 8000000

pero parece que no me toma los valores para este define

CDEFS += -DF_CLOCK=$(F_CLOCK)UL

bueno, al menos ya tengo cosas que probar ..
ohhhhhhh .. nice work!!!

Creating load file for Flash: psgroove.hex
avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock psgroove.elf psgroove.hex

Creating load file for EEPROM: psgroove.eep
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \
--change-section-lma .eeprom=0 --no-change-warnings -O ihex psgroove.elf
psgroove.eep || exit 0

Creating Extended Listing: psgroove.lss
avr-objdump -h -S -z psgroove.elf > psgroove.lss

Creating Symbol Table: psgroove.sym
avr-nm -n psgroove.elf > psgroove.sym

Size after:
AVR Memory Usage
----------------
Device: at90usb1287

Program: 12006 bytes (9.2% Full)
(.text + .data + .bootloader)

Data: 57 bytes (0.7% Full)
(.data + .bss + .noinit)


------
el fallo era que el makefile redefine la clave del clock

F_CLOCK = $(F_CPU)

Asi que si no defines ese F_CPU te pasa lo que a mi, que se queda en VOID
4 respuestas