Moi, j'ai aussi eu plusieurs fois le même problème sur PIC entre le debug et le stand alone, mais à chaque fois les causes étaient différentes.
- Cas 1 : Mon reset se faisait bien lorsqu'il était piloté par l'ICD2, mais pas quand le RJ11 du programmateur est débranché : défaut sur ma carte au niveau du MCLR
- Cas 2 : Ca marche en debug, pas en normal : le résonnateur n'oscille pas. Le bit de gain était en XT, le passage en HS a réglé le pb.
- Cas 3 : Une de mes PIN (RB6/RB7) était utilisée par mon application (clavier). En mode debug, la pin était occupée à communiquer, en mode standalone, le clavier ne marchait pas...normal, l'ICD2 restait branché...
- Cas 4 : Bug au niveau du silicium d'un PIC 18F8720 (par la suite reporté par un errata chez Microchip). Le PIC a été reçu en échantillon alors qu'il était produit depuis qq mois. Le µC tournait 9 fois sur 10 avec l'ICD2, et jamais en stand alone. La faute à des registres masqués utilisés en debug, qui empêchait le PC de pointer sur l'adresse 0x0000.
A partir du PIC 16F si je me souviens bien, des registres spécifiques au debugage insitu (points d'arrêts, registres tampons) ont été implémentés.
Slts