¿Cuál es el trato con un gestor de arranque?

Estoy planeando comprar un chip ATmega328 de Atmel, colocarlo en mi placa Arduino, programarlo, desconectarlo más tarde y luego soldarlo a una PCB.

¿Puedo simplemente comprar el chip y programarlo en la placa Arduino, o necesito tener un cargador de arranque Arduino?

Puede usar su placa Arduino existente como un adaptador ISP para programar un cargador de arranque y/o un programa de aplicación en su nuevo chip después de colocarlo en su placa.
@ user3731004 - ¿Qué es un "Atmel385"? Atmel no lo reconoce, ni atmega385, ni attiny385. ¿Te refieres a Atmega328 ?
@ user3731004: ¿el chip 'se verá como un Arduino' en la PCB de destino ("luego se soldará en una PCB")? Es decir, ¿sería capaz de reprogramarse a sí mismo a través de E/S en serie después de haber sido soldado en la PCB de destino?
Si programa (o lo compra con) un cargador de arranque estilo arduino, sí. De otra manera no.
@gbulmer, sí, quise decir un Atmel328, mis disculpas

Respuestas (2)

No, no puedes "... solo compra el chip y prográmalo en la placa Arduino"

A menos que compre un ATmega328 preprogramado, necesitará un programador en serie en circuito.

Atmel vende el AVRISP mkII . Solo como guía, puede pagar más de 30 GBP por uno de esos.

Hay una opción de menor costo basada en Open Source USBtiny

Ha sido mejorado y convertido en kit por Ladyada

Un amigo compró uno en un conocido sitio web de mercado y funciona bien. Acabo de hacer una revisión rápida y lo encontré listo por menos de £ 5 sin la caja de plástico. YMMV

También hay un proyecto Ladyada DIY-shield para convertir el Arduino en un programador.

Hay varios proyectos que son aún más simples, por ejemplo, Mega-ISP que usa una placa de prueba como el zócalo para sostener el ATmega no programado.

Yo te recomendaría cualquiera

  1. coloque un encabezado ISP de 2x3 pines en su nueva PCB, conéctelo al chip correctamente, de modo que pueda usarse para programar el chip cuando esté integrado; esto implica que RESET y SPI se pueden usar sin causar que el sistema integrado se rompa o se comporte mal, o
  2. no suelde el chip en la placa, sino que use un zócalo en su lugar, para que pueda extraerlo

Entonces será sencillo reprogramar el chip si encuentra un error en el código o necesita hacer un cambio; ambos son muy comunes. De lo contrario, será difícil arreglarlo.

Resumen
Si ya tiene un Arduino y una placa de prueba, entonces tiene todo lo que necesita para programar un ATmega. No necesita comprar un programador en serie en circuito (ISP), y no colocará el ATmega no programado en el Arduino. Sin embargo, si va a hacer esto mucho, un ISP es una inversión razonable.

Sí.

Es decir, es posible programarlo sin el bootloader de Arduino, pero no a través del puerto serie. Sin el gestor de arranque, debe utilizar el ISP para cargar el código y los datos en la memoria flash y la EEPROM; una vez que el cargador de arranque está en su lugar, es posible usar la conexión en serie en su lugar.

Tenga en cuenta que los fusibles y los bits de bloqueo no se pueden programar a través del puerto serie sino solo a través del ISP, por lo que probablemente querrá invertir en un programador de ISP de todos modos.