He estado trabajando con Arduino por un tiempo y ahora pensé en usar microcontroladores AVR en la placa de pruebas. Vi varios tutoriales sobre cómo transferir archivos .hex al microcontrolador AVR. Mostraron cómo usar el programador USB para transferir el archivo .hex pero si digo que quiero saber cómo hacer que funcione un programador USB, ¿cuál es la estructura de un programador USB? No encontré nada, ¿alguien puede darme una buena respuesta de cómo se transfiere el archivo .hex a la memoria de los microcontroladores, es decir, el segmento de código en la memoria?
Gracias,
Hay dos formas de programar un dispositivo AVR.
El primero es a través de un programador externo que interactúa con hardware "oculto" en el chip. La forma más común de esto es ISP, descrito en AVR910 . Existen otros métodos, consulte la hoja de datos del dispositivo AVR correspondiente para obtener más detalles.
El otro es la autoprogramación, que implica la ejecución de código en el dispositivo AVR para aceptar los datos que se programarán a través de uno o más pines en el chip y luego usar códigos de operación especiales para escribir los datos en flash y EEPROM. Esto se describe en AVR109 .
Tenga en cuenta que la "programación por USB" es en realidad una autoprogramación donde el cargador de arranque abre una conexión en serie y el software de programación envía los datos a través de esta conexión en serie. Esto es cierto tanto en dispositivos con un chip de interfaz USB independiente, como Arduino Uno, como en dispositivos con soporte USB integrado, como Arduino Leonardo.
MarkU
Ignacio Vázquez-Abrams