Mi configuración
Estoy ejecutando Ubuntu 12.10, y quiero poder usar gcc y avrdude para compilar y programar mi ATmega328.
Seguí este tutorial de Ladyada: Tutorial de Ladyada AVR
Todo instalado perfectamente, sin errores ni advertencias. No he instalado avrdude todavía, pero eso no viene al caso.
Yo uso el comando:
avr-gcc -O0 -c blink_1MHz.c -o main.o
Sin embargo, recibo una advertencia y muchos errores:
warning "device type not defined"
error: 'PORTC' undeclared (first use in this function)
El error anterior se repite para cada puerto y cada registro de dirección de datos utilizado en el código.
blink_1MHz.c es solo un código simple que estoy usando para probar mi configuración. Ha funcionado en mi configuración de Windows a través de AVR Studio 6.
He intentado con Google, pero la única sugerencia real que obtuve fue importar las bibliotecas:
#include <avr/io.h>
#include <stdlib.h>
#include <stdint.h>
Lamentablemente, todavía nada. He estado jugando con esto por un tiempo y simplemente estoy perplejo. Vi sugerencias de que avr-libc no está instalado, pero he instalado avr-libc. Pensaría que si no lo tuviera instalado, vería quejas sobre las bibliotecas que no existen.
Pregunta
¿Podría un individuo iluminado sugerir cuál podría ser la causa de estos errores? Gracias.
EDIT
Amoch señaló que necesitaba revisar avr / io.h; allí verá que necesita definir el procesador con el indicador -mmcu. En mi caso, tengo un ATmega328, por lo que mi comando parecía:
avr-gcc -O0 -c blink_1MHz.c -mmcu = atmega328 -o main.o