Attention, une longue explication est à venir. Je voudrais effacer certaines idées fausses que je pense que vous avez.
L'Arduino est vraiment deux choses.
- Une collection de bibliothèques C / C ++ compilées avec avr-gcc et
- Un petit programme de micrologiciel de bootloader qui a été précédemment programmé sur la puce depuis l’usine.
Oui, l'IDE Arduino enveloppe fondamentalement avr-gcc - le compilateur AVR C. Vos projets, ou "sketches", intègrent les bibliothèques Arduino mentionnées et sont compilés avec avr-gcc. Cependant, rien de tout cela n'a à voir avec la manière dont quelque chose est écrit au tableau. La manière dont ces esquisses sont déployées est un peu différente de celle habituelle.
L'EDI Arduino communique avec votre Arduino via la puce USB vers série de la carte. Il initialise un mode de programmation que le chargeur de démarrage comprend et envoie votre nouveau programme à la puce où le chargeur de démarrage le placera à un emplacement connu, puis l'exécutera. . Il n’existe pas de "bibliothèque avr qui effectue l’écriture" - c’est l’EDI Arduino qui ouvre un port série et communique avec le chargeur de démarrage - c’est ainsi que vos messages de débogage sont imprimés dans l’EDI pendant l’exécution.
Tout IDE alternatif devra pouvoir effectuer cette même communication série avec le chargeur de démarrage. Arduino est facile en raison de toutes les bibliothèques qu’ils vous fournissent déjà et de la programmation par programme à une touche depuis l’EDI. Honnêtement, je ne pense pas que cela soit plus facile ou plus convivial. Ils ont résumé tous les détails du micro-contrôleur AVR et du processus de construction / déploiement.
L'alternative serait quelque chose comme avr-studio (qui utilise également avr-gcc pour son compilateur) et un programmeur ICSP (qui est un élément de matériel supplémentaire que vous devez acheter). On ne vous fournit rien d'autre que des fichiers d'en-tête de définition de registre et des macros utiles. Vous n'avez pas non plus de chargeur de démarrage sur votre puce AVR, c'est juste une ardoise vierge. Avec tout ce que vous voulez faire avec le microcontrôleur, vous devrez approfondir l'analyse et connaître ses périphériques matériels, ainsi que les registres et le déplacement des octets dans C. Vous souhaitez imprimer un message de débogage sur votre PC? Écrivez d’abord la routine UART pour print () et ouvrez un terminal sur votre ordinateur.
Un peu plus bas, vous écrivez du code dans un éditeur de texte et appelez avr-gcc et avr-dude (outil de programmation en ligne de commande) à partir d'un fichier Makefile ou d'une ligne de commande.
Un peu plus bas, vous écrivez assemblage dans un éditeur de texte et appelez avr-assembler et avr-mec.
Je ne sais pas trop où je veux en venir, je pense simplement que l'IDE et l'Arduino existants sont absolument géniaux et parfaits pour un débutant - leur prétention à la renommée est la convivialité. Peut-être pas la réponse que vous cherchez, apprenez le flux de travail et faites quelque chose de sympa avec ça.