¿Cómo hago la transición de usar Arduino IDE a simplemente avrdude/make?

Tercera parte de una serie de tres partes sobre la transición de Arduino a un microcontrolador AVR simple y los componentes de soporte mínimos ( parte uno , parte dos )

Ya sé cómo usar un Arduino como programador para un ATmega , y sé cómo usar un programador externo para ATmega/Arduino usando el IDE de Arduino .

¿Qué necesito saber para comenzar a programar un ATmega 1 con las herramientas de línea de comandos? Una breve descripción de las diferentes características del idioma y los pasos para hacer/cargar sería bueno.

1. ATmega328, o un microcontrolador AVR más pequeño/más barato, incluso un ATTiny si es posible, que aún ejecutará la aplicación: consulte esta publicación para obtener algunos detalles sobre cómo reducir a un ATTiny.

Respuestas (1)

La herramienta que usaría en este caso es Cduino . Cduino es una herramienta diseñada para dar un mayor control sobre las acciones del ATmega y no requiere un gestor de arranque.

El proyecto cduino intenta simplificar la migración de arduino a configuraciones de hardware más simples, en particular aquellas que carecen de una interfaz serie USB y un gestor de arranque. Esto puede ser interesante para los usuarios para quienes el costo definitivamente es un factor.

Necesitará un cable de programación USB y un Duemilanove o Uno, ya que usa el chip Mega328p. Por supuesto, los de Uno y Duemilanove parecen ser los más comunes, por lo que esto no debería ser un problema. También querrá un ISP (los ejemplos se dan en la primera parte de la pregunta) para la programación en el sistema (es decir, para evitar el gestor de arranque).

Es muy parecido al excelente proyecto arduino y utiliza el mismo hardware abierto, pero evita el nuevo lenguaje de cableado, la capa intermedia de C++ y el IDE basado en Java.

Cduino en sí es una herramienta de línea de comandos que le permite escribir directamente en Arduino. Necesitará algunos paquetes instalados, incluidos make, avrdudey screen. Para hacerlo funcionar sin el bootloader, conecte el Arduino como expliqué en la pregunta anterior, y en el generic.mkarchivo cambie UPLOAD_METHODde arduino_bla AVRISPmkII.

Cargar el archivo en sí es una secuencia de línea de comando simple:

make -R -C <program_name> writeflash

Luego, para comunicarse con la placa en serie, use:

make -R -C term_io writeflash 
make -R -C term_io run_screen

Hay una serie de 'lecciones' para escribir código para Cduino aquí . Básicamente es C, pero con algunas funciones de biblioteca específicas para el chip ATMega328p; tenga en cuenta que es C, NO C++ .