Ce port est utilisé pour programmer un circuit vierge (tel qu'il arrive de chez le fabricant ou après une fausse manipulation sur la flash) ou pour brancher un outil de mise au point (sonde d'émulation).
Il faut avoir un câble de téléchargement spécifique (les plans sont disponibles sur Internet). Et on utilise l'outil AVRdude ou la chaine de développement Atmel (AVRStudio)
On peut programmer ce que l'on veut on a accès à toute la mémoire du processeur (Flash, EEPROM et fusibles de configuration). Dans le cas de l'Arduino, si on a pas "perdu" le bootloader cette ressource n'est pas nécessaire.
Au passage selon la sémantique Atmel on doit dire ISP (In-Situ Programming)
ICSP (In-Circuit Serial Programming) semble être utilisé par la concurence (Microchip)
Mais bon c'est du pinaillage.