programación AVR

Esta pregunta podría hacerse en alguna parte, si es así, se agradecerán todas las referencias.

Hola, he programado el chip Atmel Atmega32U4 a través de USB. Es posible porque admite programación USB. Usé Atmel Studio para crear el archivo hexadecimal y luego usé Atmel FLIP para colocarlo en el chip. Funciona muy bien y es fácil de hacer. No he usado ningún otro método hasta ahora. Ahora quiero programar Atmega328P y quiero hacerlo a través de un programador externo como USBtiny porque parece que Atmega328P no es compatible con la programación USB. De todos modos, no tengo programadores, pero tengo Arduino. Entonces pensé cómo puedo usar Arduino para programar el chip. Estuve buscando en Google por un tiempo y lo que encontré es solo enseñar cómo hacer un chip básicamente como Arduino. Así que grabo el cargador de arranque y puedo cargar bocetos de Arduino. Pero no quiero eso. El objetivo es deshacerse de Arduino. Quiero cargar el archivo hexadecimal directamente al chip. Y ahora se me complica un poco. He leído sobre AVRdude, debería ser posible con él. También leí que alguien dijo que AVRdude es el peor programa. Mi pregunta es, ¿cuáles son mis opciones? ¿Puedo usar algún software gráfico elegante como Atmel FLIP? ¿Puedo usar FLIP de alguna manera? Gracias por tu tiempo.

En realidad, puedes programar el 328 a través de USB. Alguien ha hecho bitbang USB para el AVR.
Puede programar los chips usando una interfaz SPI. Busque en internet AVRDUDE. AVRDUDE se ejecuta en muchas plataformas. por ejemplo, una Raspberry-Pi. pd usa mayuscula I no i en tu texto (simplemente finge que eres muy importante. :-)
Término de búsqueda: "ArduinoISP"
Sí, conozco AVRdude a través de SPI. Estoy buscando alternativas.
Compre un "AVR-ISP-MK2" o compatible, luego puede usarlo directamente con Atmel Studio.
Lo siento, el inglés es mi segundo idioma. Intento recordar eso.
Lea la hoja de datos de su parte, encontrará que hay más de una forma de programar la parte, tener otra placa de microcontrolador lo hace mucho más fácil, ya que puede usarla para romper cualquier protocolo que pueda tomar más tiempo usando otras vías. La parte en cuestión es bastante simple de programar.

Respuestas (1)

Puede usar las mismas técnicas documentadas para cargar bocetos de Arduino, para cargar proyectos AVR tradicionales que no sean de Arduino. Esto se debe a que todo lo que hace el sistema Arduino es preparar previamente los archivos fuente, alimentarlos a través de herramientas ordinarias avr-gccpara producir un archivo hexadecimal y luego usar avrdude(o en algunos casos algo más) para ordenar al programador.

Entonces, por ejemplo, los escritos que encontró sobre el uso de un boceto de Arduino como ISP en un Arduino existente para programar un ATmega328p en una placa de prueba y convertirlo en un Arduino funcionarían bien. Simplemente se ejecutaría avrdudepara cargar su propio archivo .hex, en lugar de un boceto o cargador de arranque de Arduino.

avrdudees por supuesto un programa complejo con muchas opciones. La forma más fácil de descubrir cómo usarlo es hacer trampa : abra el IDE de Arduino, habilite la salida detallada en un menú de opciones en algún lugar y luego utilícelo para programar su placa. Luego simplemente seleccione y copie la avrdudelínea de comando y modifique el nombre y la ubicación del archivo .hex. Esto es particularmente cierto si usa la copia avrdudey los archivos de configuración instalados por el IDE de Arduino.

Por lo tanto, incluso si (bastante razonablemente) no desea desarrollar con Arduino, aún puede usarlo como un atajo muy útil para abrir un camino, demostrando que el hardware funciona, mostrando métodos de programación, etc. Y aún así vale la pena conservarlo. como otro buen uso es si desea evaluar un chip periférico: puede ver si alguien tiene un boceto de Arduino que lo pondrá a prueba y le permitirá decidir si el chip es útil para su propósito, antes de tener que invertir en cualquier momento escribiendo código para operarlo dentro de su propio proyecto de software.

Además, tenga en cuenta que tener un cargador de arranque estilo Arduino (en realidad, tomaron prestada la idea de un trabajo anterior) no significa que solo pueda ejecutar bocetos de Arduino: puede usar el cargador de arranque para cargar proyectos AVR tradicionales y puede cargar bocetos de Arduino directamente a través de ISP sin un gestor de arranque.