Mi método habitual de reprogramación de AVR (hasta ahora limitado a ATtiny13 y ATtiny2313) es desconectar el chip del circuito host, enchufarlo a otra placa de pruebas con todas las conexiones ICSP en su lugar, programar y luego reemplazar. Sin embargo, sigo escuchando que uno puede programar el chip en su lugar (que es, entiendo, todo el punto de ICSP).
¿Hay alguna consideración especial de hardware que uno debe tener en cuenta antes de programar el chip in situ? Por ejemplo, me preocupa que el proceso ICSP pueda dañar los componentes del circuito conectados a los mismos pines AVR que se usan para ICSP. ¿Se necesita ocasionalmente agregar diodos o algún otro tipo de amortiguación para proteger estos componentes?
Sé que esta pregunta suena un poco vaga, y supongo que lo es, pero no he proporcionado detalles de mi circuito en particular porque estoy interesado en reglas generales más generales. Es decir, ¿uno nunca tiene que preocuparse por esto, o la respuesta realmente depende del circuito particular del que forma parte la MCU?
Use un puente o un interruptor para poder desconectar físicamente el encabezado ICSP. De esta forma, puede compartir los pines con otras funciones sin preocuparse y sin tener que jugar con sus otros componentes.
Esta parece ser la solución más obvia y segura, y es lo que uso.
(Mi primera respuesta fue eliminada, así que he intentado agregar más detalles).
fuente
Desafortunadamente, no puede hacerlo en la programación de circuitos para sus AVR si los pines son compartidos por otras funciones, por ejemplo, la iluminación de LED. Si bien puede funcionar, no está garantizado, ya que puede causar que las salidas del programador o µC bajen demasiado para que funcione.
Otra alternativa es ordenar sus chips preprogramados. Sé que Microchip ofrece esto para algunos de sus chips, pero no estoy seguro acerca de Atmel.
fuente