Salut,
Comme expliqué au dessus, si tu veux copier le programme binaire, normalement tu ne devrais pas avoir de problème (je ne connais pas trop les sécurités des AVR, mais très probable que rien ne soit mis en place pour protéger la lecture).
Si par contre l'objectif c'est d'aller voir ce que fait le programme, et éventuellement le modifier, là c'est une autre paire de manches, il va falloir soit se mettre sérieusement à l'assembleur (c'est plus trop à la mode, surtout sur Atmel), soit trouver une programme qui va essayer d'analyser le binaire pour essayer de faire quelque chose qui ressemble au code source original, c'est ce qu'on appelle la décompilation (l'inverse de compiler, qui prend le code source et génère le code binaire).
Si par contre il existe des protections contre la lecture activées sur ton Atmel, c'est mort, pour le relire il faut l'envoyer à une boite très spécialisée qui va ouvrir physiquement le boitier, et inspecter avec un microscope électronique à balayage chaque cellule de flash pour connaitre son état, pour finalement essayer d'en extraire le code binaire, coût de l'opération, quelques milliers d'euros au bas mot.
Et ça n'est possible que si le constructeur n'a pas mis de protection physique (plaque en métal qui recouvre les cellules de flash, etc.).
Et sinon pour le HS de l'assembleur, j'en ai fait il y a longtemps sur PIC16 (mais peut-on parler d'assembleur avec 35 - de mémoire - instructions seulement ?).
Et j'en fais encore aujourd'hui, sur Cortex-M, pour notre RTOS maison qui est maintenant open-source :
https://github.com/eznovsas/OpSy
Dès que c'est très spécifique au processeur, ce n'est pas la vocation de C ou C++ de les intégrer, donc ça reste de l'assembleur inline.
Thomas.