Arduino Bootloader

6

Si actualizo mi arduino de ATMega 168 a ATMega 328, ¿podré usar el ATMega 168 como un chip de fábrica o el gestor de arranque lo prohibirá? En otras palabras, ¿podré sobrescribir el cargador de arranque, con mi programador ISP de usbtiny, en el 168 para usarlo como un chip de Atmel con Avrdude? ¿Hay algún paso especial que deba tomar como restablecer los fusibles?

    
pregunta Hristos

3 respuestas

4

Sí, puedes reprogramar el chip. Hice lo mismo cuando actualicé mi Arduino de 168 a 328 hace dos semanas. El chip funciona muy bien en otra aplicación.

Tenga en cuenta, por supuesto, que es posible que necesite cambiar los fusibles en función del tipo de tablero que tenía y al tipo de tablero al que se lo está moviendo. Me imagino que lo más común (y los que tuve que reiniciar) era cambiar el oscilador interno y configurar los divisores en lugar de usar un cristal externo. Sin embargo, no hay una lista completa de cambios de fusibles, ya que depende de a qué tipo de circuito está moviendo el chip. YMMV.

--Editar-- Como dijo JohnC, sí, la reprogramación de los fusibles debe hacerse ANTES de quitarlo del Arduino. Dado que el Arduino está fusionado para usar un oscilador externo, el chip no hará nada si se coloca en una placa sin un oscilador.

    
respondido por el Lou
3

Yo restablecería los fusibles a los valores predeterminados de fábrica mientras el 168 todavía está en la placa Arduino. Si los fusibles están configurados para un oscilador externo (como están en el Arduino) y no hay uno, no podrá volver a programar sin usar un programador de alto voltaje. La configuración predeterminada de fábrica configura el chip para utilizar un oscilador interno.

    
respondido por el JohnC
1

He hecho esto: saqué el 168 de un arduino y lo programé con el USBtinyISP. Necesitará algún tipo de placa de destino para el USBtiny ISP. Usé uno de estos de Evil Mad Scientist Labs , junto con un zócalo ZIF de Sparkfun. El circuito real necesario para programarlos es lo suficientemente simple como para que pueda construirlo en un protoboard sin muchos problemas. EMSL también tiene un artículo útil sobre lo que debe ser ese circuito para que puedas hacerlo tú mismo.

Para que un tablero objetivo funcione, debe configurarse con al menos una aproximación de cómo el chip ya está fusionado. Eso significa tener la cantidad correcta de energía (si el circuito de detección de apagón está habilitado) y tener un oscilador si el chip está configurado para usar uno externo (AFAIK, el chip ignorará un oscilador externo si no está fusionado para usarlo). O bien, primero debe configurar los fusibles para usar el oscilador interno antes de retirarlo del Arduino o colocar un oscilador en su tablero objetivo. No creo que el Arduino venga con la detección de apagón habilitada, por lo que probablemente estés a salvo en ese aspecto. Sugeriría usar el puente en el USBtiny para suministrar energía a la placa de destino, en lugar de molestarse con una fuente de alimentación externa.

No puedo recomendar el uso de la placa Arduino como objetivo del programador porque tiene un socket normal en lugar de un socket ZIF. Me parece que es mucho menos probable que estropee los pines en mi MCU cuando uso un zócalo ZIF. Entrar y salir de un tablero es lo suficientemente malo. Sparkfun parece tener los precios más baratos en zócalos ZIF, si decides ir por esa ruta.

Como ya tienes un programador de ISP, puedes ahorrar un poco de dinero en tu chip 328 y comprar uno sin el cargador de arranque Arduino. Solo usa el software Arduino para grabar el cargador de arranque apropiado una vez que lo tengas instalado.

    
respondido por el edebill

Lea otras preguntas en las etiquetas