Che cos’è un bootloader Arduino®?

Il bootloader Arduino® è un piccolo software masterizzato in un chip in tutte le schede Arduino®. Il suo scopo è quello di facilitare una facile e rapida riprogrammazione. Il bootloader Arduino® è open source, il che significa che può essere liberamente copiato, modificato e ridistribuito ed è utile solo sui sistemi Arduino®.

I bootloader sono piccoli software che vengono eseguiti quando un computer viene acceso per la prima volta. 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. Sulle macchine configurate per avviare 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 generici molto piccoli e richiedono un bootloader quando vengono 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 sketch Arduino®. Una volta scaricato lo schizzo, verrà scritto nella memoria a lungo termine e quindi caricato nuovamente nella memoria a breve termine per l’esecuzione. Se la scheda non è collegata a un computer o se non riesce a scaricare nuovo software, caricherà il programma scritto più di recente dalla memoria a lungo termine.

Un bootloader Arduino® è particolarmente utile perché elimina la necessità di un dispositivo di programmazione esterno, solitamente richiesto per modificare il software su dispositivi simili. Le invenzioni Arduino® di solito eseguono il software direttamente dai chip senza il vantaggio dei dispositivi di archiviazione magnetici. Questo approccio è più rapido ed economico rispetto all’utilizzo della memoria magnetica. Il principale svantaggio di un bootloader è che utilizza parte dello spazio limitato sui chip, riducendo al minimo lo spazio disponibile per il software.

Alcuni utenti sono stati frustrati dalle limitazioni del bootloader Arduino® e ricorrono all’utilizzo di un dispositivo di programmazione esterno per rimuovere il bootloader e aggiungere manualmente nuovi programmi. Sebbene questa tecnica aumenti lo spazio disponibile e aumenti in qualche modo 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.