Attenzione, una spiegazione prolissa è imminente. Vorrei chiarire alcune idee sbagliate che penso tu abbia.
L'Arduino è davvero due cose.
- Una raccolta di librerie C / C ++ compilate con avr-gcc e
- Un piccolo programma firmware bootloader precedentemente programmato sul chip dalla fabbrica.
Sì, l'IDE di Arduino si basa sostanzialmente su avr-gcc, il compilatore AVR C. I tuoi progetti, o "schizzi", incorporano le citate librerie Arduino ed è compilato con avr-gcc. Tuttavia, nulla di tutto ciò ha a che fare con il modo in cui qualcosa viene scritto sulla lavagna. Il modo in cui questi schizzi vengono distribuiti è un po 'diverso dal solito.
L'IDE Arduino comunica con il tuo Arduino tramite il chip da USB a seriale sulla scheda e inizializza una modalità di programmazione che il bootloader comprende e invia il tuo nuovo programma al chip in cui il bootloader lo posizionerà in una posizione nota e quindi lo eseguirà . Non esiste una "libreria avr che esegua la scrittura effettiva" - è solo l'IDE di Arduino che apre una porta seriale e parla con il bootloader - questo è il modo in cui i messaggi di debug vengono stampati sull'IDE anche durante il runtime.
Qualsiasi IDE alternativo dovrà essere in grado di fare la stessa comunicazione seriale con il bootloader. Arduino è facile grazie a tutte le librerie che già forniscono e al programma one-touch eseguito dall'IDE. Onestamente non penso che sia più facile o più facile da usare. Hanno estratto tutti i dettagli del microcontrollore AVR e il processo di costruzione / distribuzione.
L'alternativa sarebbe qualcosa come avr-studio (che usa anche avr-gcc per il suo compilatore) e un programmatore ICSP (che è un ulteriore componente hardware che devi acquistare). Non viene fornito molto altro oltre ad alcuni file di intestazione di definizione del registro e ad alcune macro utili. Inoltre non viene fornito alcun bootloader sul chip AVR, è solo una lavagna vuota. Qualunque cosa tu voglia fare con il microcontrollore, dovrai approfondire e conoscere le sue periferiche e i registri hardware e spostare i byte in C. Desideri stampare un messaggio di debug sul PC? Scrivi prima la routine UART per print () e apri un terminale sul tuo computer.
Un gradino più in basso da questo sta scrivendo codice in un editor di testo e chiamando avr-gcc e avr-dude (strumento di riga di comando per la programmazione) da un Makefile o da una riga di comando.
Un gradino più in basso rispetto a questo e stai scrivendo assembly in un editor di testo e chiamando avr-assembler e avr-dude.
Non sono sicuro di dove sto andando, penso solo che l'IDE e Arduino esistenti siano assolutamente geniali e perfetti per un principiante - la loro pretesa di fama è la facilità d'uso. Forse non è la risposta che stai cercando, impara il flusso di lavoro e crea qualcosa di interessante.