AVR ATmega2560 virgen grabar hex, bootloader, fuses,...

#1
Hola,

estoy desarrollando un sistema con el Arduino Mega 2560 y ahora me dispongo a simplificar el sistema e integrar el shield y el ATmega2560 (TQFP 100 pines) en una única PCB. Lo que no sé es el procedimiento que tengo que hacer para grabar en un ATmega2560 virgen, tanto el bootloader de Arduino como, creo que más interesante, directamente el hex generado por el IDE de Arduino (así evito el retardo y me ahorro algo de memoria FLASH). Supongo que físicamente bastará con ponerle los 6 pines del ICSP, ¿no? Lógicamente tendría que hacer uso de un programador externo (tengo el AVR dragon). Lo que no tengo claro es lo de los FUSES, creo que no basta con leer los fuses de la Arduino Mega y ponerlo igual al ATmega2560, no? Creo que hay que hacer algun procedimiento de desbloquear el gestor de arranque, cargar el programa y luego volver a bloquear el gestor, no? He mirado en diferentes sitios pero no consigo aclararme.

¿Alguien me podría indicar los pasos a seguir?

Gracias
 
#2
estoy desarrollando un sistema con el Arduino Mega 2560 y ahora me dispongo a simplificar el sistema e integrar el shield y el ATmega2560 (TQFP 100 pines) en una única PCB.
Hola como estás, yo tengo pensado hacer lo mismo con el ATmega328P y el ATmega128L.

Lo que no sé es el procedimiento que tengo que hacer para grabar en un ATmega2560 virgen, tanto el bootloader de Arduino como, creo que más interesante, directamente el hex generado por el IDE de Arduino (así evito el retardo y me ahorro algo de memoria FLASH).
No hace falta grabarle el Bootloader, solo necesitas modificar algunas cosas del compilador de arduino para poder usarlo con un grabador compatible ISP.
Yo por mi lado uso este grabador:
https://www.forosdeelectronica.com/f24/programador-usb-microcontroladores-avr-atmel-51290/

Lo que no tengo claro es lo de los FUSES, creo que no basta con leer los fuses de la Arduino Mega y ponerlo igual al ATmega2560, no? Creo que hay que hacer algun procedimiento de desbloquear el gestor de arranque, cargar el programa y luego volver a bloquear el gestor, no? He mirado en diferentes sitios pero no consigo aclararme.
Lo que tenés que hacer es grabarle a tu ATmega2560 en blanco , los fuses del Arduino Mega. Proceso que lo haces con el AVRdragon que vos tenés.
Una vez hecho esto podés empezar a programar, pero si te querés saltear el bootloader para tener más memoria podés modificar el modo de descarga del sketch de arduino de la siguiente forma:



Una vez que lo modificas, ya podés grabar el sketch de tu programa de forma directa sin necesidad del bootloader.
 
#3
Tengo un arduino Mega 2560 ADK pero se me quemo la interfaz FTDI (atmega8) y necesito programarlo directamente por ICSP.

Compre este programador:

http://www.ebay.com/itm/USB-Atmel-AVR-Programmer-Use-to-program-Arduino-UNO-or-Atmegas?item=200696177445&cmd=ViewItem&_trksid=p5197.m7&_trkparms=algo%3DLVI%26itu%3DUCI%26otn%3D5%26po%3DLVI%26ps%3D63%26clkid%3D7912529539120799612#ht_1286wt_700

Lo instale pero no me aparece Puerto COM, solo me aparece una interfaz USB.

no lo pude hacer funcionar con AVRdude, solo pude programarle el bootloader al arduino por ICSP seleccionando tinyUSB en la interfaz de arduino, pero quisiera programarle un HEX compilado directamente de alguna forma ya que no le sirve la interfaz que lo comunica con la PC, podria usar un modulo FTDI externo o es facil programarle directamente el HEX compilado en arduino?


ojala pudieran ayudarme ya que soy nuevo con el programador y se suponia que crea un puerto com pero solo creo una interfaz USB...

gracias de antemano y porfavor sean lo mas explicativos posibles :oops:
 
Última edición:
#4
Lo instale pero no me aparece Puerto COM, solo me aparece una interfaz USB.
Está bien, el dispositivo no crea un puerto COM, sinó que se comunica como un dispositivo BULK. Este programador al parecer (según el que hizo el firmware del mismo) no soporta escribir páginas de programa de más de 64K...osea en micros de más de 64Kb...quizás no te programe o tenga errores al hacerlo.

no lo pude hacer funcionar con AVRdude, solo pude programarle el bootloader al arduino por ICSP seleccionando tinyUSB en la interfaz de arduino, pero quisiera programarle un HEX compilado directamente de alguna forma ya que no le sirve la interfaz que lo comunica con la PC, podria usar un modulo FTDI externo o es facil programarle directamente el HEX compilado en arduino?
Podés grabar tus programas de Arduino directamente con el programador sin la necesidad de usar el bootloader. En la imagen que te adjunto tenés como se hace...solamente tenés que elegir como programador el usbtiny.

Saludos !
 

Adjuntos

#5
No había visto esa opción,

si funciono mi arduino mega ADK de esa manera,
ya lo rescate, lo que pasa es que se me quemo con un corto circuito la interfaz USB y no se si la parte de Android ADK, pero almenos ya no es perdida total.

ya hice lo que pusiste en la imagen y le cargue un programa de prueba y si funciona...

De verdad muchas gracias!! :aplauso:
 

Temas similares

Arriba