Vous avez dit "petit microcontrôleur et sans interface, sans ordinateur, sans débogueur, compilateur ou assembleur". Eh bien, vous pouvez vous passer de l'ordinateur, du débogueur, du compilateur ou de l'assembleur, mais vous devez avoir une sorte d'interface pour vous connecter au microcontrôleur afin de charger le programme.
Tout d'abord, oubliez les langages de haut niveau comme C. Ensuite, le moyen le plus simple est d'écrire votre programme en langage assembleur, mais n'utilisez pas l'assembleur pour le traduire en code machine. Recherchez plutôt chacune des instructions d'assemblage dans le manuel de programmation, trouvez leur codage hex équivalent et notez-le.
Vous devrez allouer vos propres variables, afin de pouvoir remplir les adresses appropriées dans la partie opérande des instructions. Oubliez également l'utilisation de la pile et du tas, trop de travail. Une fois terminé, vous aurez un programme machine qui peut être chargé directement dans la mémoire flash du microcontrôleur - aucun éditeur de liens n'est nécessaire non plus.
En raison du manque d'adresses externes et de bus de données sur presque tous les microcontrôleurs (car ils occuperaient trop de broches nécessaires aux ports d'E / S et aux périphériques), pratiquement tous les microcontrôleurs sont programmés via une interface spéciale comme celle-ci:
Normalement, le "programmeur" à gauche serait connecté à un PC, qui téléchargerait un fichier machine généré par un compilateur / éditeur de liens.
Cependant, si le programmeur a un clavier, comme celui ci-dessous:
alors on peut entrer les codes hexadécimaux d'un programme généré manuellement directement dans le programmeur, et programmer l'appareil sans avoir besoin d'un compilateur, d'un éditeur de liens ou d'un PC, ce qui était ce que vous demandiez. (Le clavier est également utilisé pour éditer des fichiers hexadécimaux et générer des sommes de contrôle.)
Certes, très peu de programmeurs ont des claviers comme celui-ci. Celui-ci ne conviendrait pas à un amateur car il coûte probablement quelques milliers de dollars.
Ce programmeur particulier programme des pièces avant de les placer sur une carte; des interfaces et des sockets sont disponibles pour plusieurs PIC et également pour les AVR Atmel.