Programación del microcontrolador atmega328 en blanco [duplicado]

0

Compré el par ATMEGA328P-PU como reemplazo de mi Arduino Uno. El problema es que no tengo ningún cable para programar directamente al 328 y estoy tratando de evitar usar Arduino y su cargador de arranque. Quiero escribir código en C, pero no sé por dónde empezar ...

Estoy tratando de averiguar dos cosas:

  
  1. Cómo construir mi propio cable USB para escribir bootloader & Código para el ATMEGA328P-PU?
  2.   
  3. ¿Qué software utilizo para comenzar con el gestor de arranque (Linux)?
  4.   

Cualquier ayuda sería muy apreciada, gracias!

    
pregunta K666

1 respuesta

1

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 .

    
respondido por el marcelm

Lea otras preguntas en las etiquetas