Puis-je programmer mon Arduino en utilisant n'importe quel langage de programmation autre que C ++? Si oui, quels langages de programmation? De quel logiciel aurais-je besoin pour compiler et charger mon code sur l'Arduino?
Puis-je programmer mon Arduino en utilisant n'importe quel langage de programmation autre que C ++? Si oui, quels langages de programmation? De quel logiciel aurais-je besoin pour compiler et charger mon code sur l'Arduino?
Réponses:
Quelques-uns communément connus:
En théorie, vous devriez pouvoir étendre avr-gcc pour prendre en charge d'autres langues, bien que ce ne soit pas une mince affaire. Je dois également souligner que la prise en charge de langages autres que C s'accompagne généralement de restrictions assez lourdes sur les composants de langage - par exemple, même avec C ++, il est déconseillé d'instancier de nouveaux objets malloc
et free
sont extrêmement coûteux à la fois en espace mémoire et en cycles.
Outre l'utilisation de Google, les références suivantes sont applicables Cliquez ici.
En théorie, tout compilateur qui produit un assemblage AVR pourrait être utilisé (limitations modulo sur la taille du code, l'utilisation de RAM, etc.).
Les backends AVR existent pour LLVM et GCC - donc en théorie, avec un certain effort, la plupart des langages pris en charge par les frontaux LLVM et GCC pourraient être compilés en AVR. Une grande question sera le support de la bibliothèque, etc.
Néanmoins, voici quelques choix étranges pour l'esprit de la question, plutôt que sa lettre [1].
Oh, et vous pourriez écrire un assemblage AVR brut !
[1] - Je n'ai pas essayé ces derniers cependant!
Comme avr-g ++ devrait prendre en charge toutes les constructions C / C ++ standard, il est possible de coder l'assemblage en ligne. Plus d'informations sur ce fil de discussion arduino.cc
Je suis surpris que personne n'ait mentionné AVR Assembly !
L'assemblage n'est pas souvent considéré comme la méthode de programmation la plus intéressante ou même la plus simple, mais il est néanmoins 100% possible avec tous les arduino basés sur AVR. Les cartes SAM ne fonctionneront probablement pas avec cette saveur, mais il est toujours possible d'utiliser l'assemblage dans leur programmation.
Toutes les cartes Arduino (à compter de la publication) prennent en charge la programmation d'assemblage via Atmel Studio , le SDK conçu pour les puces basées sur Atmel.
L'assemblage est pris en charge par tous les appareils Atmel et ne nécessite aucun chargeur de démarrage pour fonctionner, donc tous les programmes sont intrinsèquement en temps réel.
__asm__("Assembly code here")
d'ajouter un assemblage en ligne à n'importe quelle esquisse. Pour la plupart des programmes, c'est une mauvaise idée, car il est difficile d'atteindre l'indépendance de la plate-forme avec cette méthode.