La tercera parte de una serie de tres partes sobre la transición desde el Arduino a un simple microcontrolador AVR y el mínimo de componentes auxiliares (parte uno, parte dos)
Ya sé cómo usar un Arduino como programador para el ATmega, y sé cómo utilizar un programador externo para el ATmega/Arduino usando el Arduino IDE.
¿Qué necesito saber para empezar a programar el ATmega1 con las herramientas de línea de comandos? Una breve descripción de las diferentes funciones del lenguaje y los pasos para hacer/subir sería bueno.
1. El ATmega328, o un pequeño/más barato microcontrolador AVR, incluso un ATTiny si es posible, que todavía va a ejecutar la aplicación: Ver este post para algunos detalles sobre shrinkifying a un ATTiny.
Respuesta
¿Demasiados anuncios?La herramienta que yo uso en este caso es Cduino. Cduino es una herramienta diseñada para proporcionar un mayor control sobre las acciones de la ATmega y no requiere de un gestor de arranque.
El cduino proyecto trata de hacer más simple para migrar desde el arduino a la más simple de las configuraciones del hardware, en particular aquellos que carecen de una serie USB interfaz y el gestor de arranque. Esto puede ser interesante para los usuarios para los cuales el costo es sin duda un factor.
Usted necesitará un cable de programación USB, y un Duemilanove o un Uno, ya que utiliza el Mega328p chip. Por supuesto, Uno y Duemilanove parecen ser los más comunes, por lo que esto no debería ser un problema. Usted también querrá un ISP (ejemplos dados en la primera parte de la pregunta) para la programación del sistema (es decir, para evitar el gestor de arranque).
Es un montón como el excelente proyecto arduino y utiliza el mismo hardware abierto, pero evita el cableado nuevo lenguaje, el de C++ capa intermedia, y el basado en Java IDE.
Cduino en sí es una herramienta de línea de comandos que permite escribir directamente a la placa Arduino. Usted necesitará un par de paquetes instalados, incluyendo make
, avrdude
y screen
. Para hacer que se ejecute sin el cargador, conecte el Arduino como he explicado en la pregunta anterior, y en el generic.mk
de cambio de archivo UPLOAD_METHOD
de arduino_bl
a AVRISPmkII
.
Cargar el archivo en sí es una simple línea de comando de la secuencia:
make -R -C <program_name> writeflash
Entonces, para comunicarse con la junta de la serie, utilice:
make -R -C term_io writeflash
make -R -C term_io run_screen
Hay una serie de "lecciones" para escribir el código para Cduino aquí. Se trata básicamente de C, pero con un par de biblioteca de funciones específicas para el ATMega328p chip - tenga en cuenta que es C, NO C++.