Willkommen im Forum.
Zu 1. Der Speicher wird immer komplett ersetzt. Dazu wird dein Code in Maschinencode (Assembler) compiliert und anschließend in ein Intel Hexfile transferiert. Dieses enthält dann den Maschinencode, die Adressinformationen und die Prüfsummen.
Neuer Code landet immer am Anfang und ersetzt ( abgesehen vom Bootloader, da du diesen ja benutzt ) überschrieben.
Zu 2. Es gibt bei den Arduinoboards auch die Möglichkeit den automatischen Reset zu deaktivieren. Der Reset setzt den aktuellen Programmstatus auf 0, löscht aber keinen Inhalt.
Wenn du weitere Fragen hast, wirst du hier im Forum sicherlich auch viele finden, die dir Antworten geben werden, oder es zu mindestens versuchen werden. Daher keine Scheu.
Lesezeichen