Esto no pretende ser una respuesta completa a tu pregunta, pero espero que sea suficiente para que vayas en la dirección correcta. Aquí menciono algunas piezas específicas de software, pero estoy seguro de que hay alternativas disponibles para todo lo que menciono.
Los
AVRs de Atmel (la mayoría, de todos modos) se programan a través de un mecanismo conocido como In-circuit Serial Programming , o ISP . Para programar su chip (que incluye la instalación de un gestor de arranque), necesita un programador ISP.
Si solo quieres usar tu chip como Arduino de reemplazo y programarlo usando el lenguaje Arduino (que por cierto es C ++, no C), puedes hacerlo fácilmente usando tu Arduino con el bosquejo ArduinoISP
. Debe conectar su chip al Arduino de una manera específica, y luego debería poder grabar el bootloader de Arduino usando ArduinoISP
. Más detalles están en el sitio de Arduino .
Si desea programar el AVR como una unidad independiente, deberá programarlo usando el ISP para el programa principal. También puede usar su Arduino con el boceto ArduinoISP
para eso, pero tendrá que usar una herramienta de programación como avrdude
(la herramienta de programación AVR real que utiliza Arduino) directamente. No necesitas un gestor de arranque en tu chip para esto.
Terminé con algo como esto:
avrdude -p m328p -c stk500v1 -e -P /dev/ttyUSB0 -b 19200 -U flash:w:yourprogram.hex:i
Los archivos yourprogram.hex
son archivos binarios compilados, puede generarlos ejecutando sus programas en C a través de avr-gcc
. También puede usar el IDE de Arduino (que usa avr-gcc
internamente) para generarlo por usted. Los descarga en algún lugar en /tmp/
donde puedes arrebatarlos.
En cualquier caso, tendrás que aprender sobre los bits de fusible y cómo programarlos. Hay un montón de calculadoras de fusibles que pueden ayudarte a determinar qué configuraciones de fusibles necesitas, y puedes programarlas usando avrdude
.