Che cos'è un bootloader Arduino®?
Il bootloader Arduino® è un piccolo software bruciato in un chip in tutte le schede Arduino®. Il suo scopo è facilitare una riprogrammazione facile e rapida. Il bootloader Arduino® è open source, il che significa che può essere copiato, modificato e ridistribuito liberamente ed è utile solo sui sistemi Arduino®.
I bootloader sono piccoli software che vengono eseguiti alla prima accensione di un computer. La maggior parte dei computer desktop utilizza un bootloader per caricare il sistema operativo del computer in memoria o per avviare il sistema operativo lungo il percorso di caricamento stesso. Su macchine configurate per l'avvio di più sistemi operativi, un bootloader serve anche a chiedere all'utente di selezionare quale sistema operativo utilizzare. Nonostante la loro relativa semplicità, i dispositivi Arduino® sono essenzialmente computer per scopi generici molto piccoli e richiedono un bootloader quando accesi.
Il bootloader Arduino® predefinito esegue una sequenza per determinare quale software caricare nella memoria a breve termine. Se la scheda è collegata a un computer tramite cavo USB, radio Xbee® o connessione seriale, il bootloader tenterà di scaricare nuovo software dal computer. I programmi Arduino® sono anche chiamati schizzi Arduino®. Una volta scaricato, lo schizzo verrà scritto nella memoria a lungo termine e quindi caricato nuovamente nella memoria a breve termine per essere eseguito. Se la scheda non è collegata a un computer o se non riesce a scaricare un nuovo software, caricherà l'ultimo programma scritto dalla memoria a lungo termine.
Un bootloader Arduino® è particolarmente utile perché elimina la necessità di un dispositivo di programmazione esterno, che di solito è necessario per cambiare il software su dispositivi simili. Le invenzioni di Arduino® di solito eseguono il loro software direttamente dai chip senza il vantaggio di dispositivi di memorizzazione magnetici. Questo approccio è più rapido ed economico rispetto all'uso della memoria magnetica. Il principale svantaggio di un bootloader è che consuma parte dello spazio limitato sui chip, riducendo al minimo lo spazio disponibile per il software.
Alcuni utenti sono rimasti frustrati dalle limitazioni del bootloader Arduino® e ricorrono all'uso di un dispositivo di programmazione esterno per rimuovere il bootloader e aggiungere manualmente nuovi programmi. Sebbene questa tecnica aumenti lo spazio disponibile e in qualche modo aumenti la velocità di esecuzione del software, richiede abbastanza tempo e non è consigliata per la maggior parte degli utenti. Altri utenti hanno scritto bootloader Arduino® alternativi, alcuni dei quali sono open source e disponibili gratuitamente online.