Meu método usual de reprogramar AVRs (até agora limitado a ATtiny13 e ATtiny2313) é desconectar o chip do circuito host, conectá-lo a outra placa de ensaio com todas as conexões do ICSP no lugar, programar e substituir. No entanto, continuo ouvindo dizer que é possível programar o chip no lugar (que é, eu entendo, o ponto principal do ICSP).
Existem considerações especiais de hardware que é preciso levar em consideração antes de programar o chip in situ? Por exemplo, receio que o processo ICSP possa danificar os componentes do circuito conectados aos mesmos pinos AVR usados para o ICSP. Ocasionalmente, é necessário adicionar diodos ou algum outro tipo de buffer para proteger esses componentes?
Sei que essa pergunta parece meio vaga, e acho que é - mas não forneci detalhes de meu circuito específico porque estou interessado em regras gerais mais gerais. Ou seja, nunca é preciso se preocupar com isso, ou a resposta realmente depende do circuito específico do qual o MCU faz parte?