Co to jest bootloader Arduino®?

Bootloader Arduino® to mały kawałek oprogramowania wypalony na chipie we wszystkich płytach Arduino®. Jego celem jest ułatwienie łatwego i szybkiego przeprogramowania. Bootloader Arduino® jest oprogramowaniem typu open source, co oznacza, że ​​można go dowolnie kopiować, modyfikować i redystrybuować i jest użyteczny tylko w systemach Arduino®.

Bootloadery to małe programy uruchamiane po pierwszym włączeniu komputera. Większość komputerów stacjonarnych używa programu ładującego do załadowania systemu operacyjnego komputera do pamięci lub do uruchomienia systemu operacyjnego na ścieżce ładowania. Na komputerach skonfigurowanych do uruchamiania wielu systemów operacyjnych program ładujący służy również do poproszenia użytkownika o wybranie systemu operacyjnego. Pomimo swojej względnej prostoty, urządzenia Arduino® są zasadniczo bardzo małymi komputerami ogólnego przeznaczenia i wymagają bootloadera po włączeniu.

Domyślny bootloader Arduino® wykonuje sekwencję w celu określenia, jakie oprogramowanie należy załadować do pamięci krótkotrwałej. Jeśli płytka jest podłączona do komputera za pomocą kabla USB, radia Xbee® lub połączenia szeregowego, bootloader spróbuje pobrać nowe oprogramowanie z komputera. Programy Arduino® są również określane jako szkice Arduino®. Po pobraniu szkicu zostanie on zapisany w pamięci długoterminowej, a następnie wczytany z powrotem do pamięci krótkotrwałej w celu uruchomienia. Jeśli płytka nie jest podłączona do komputera lub nie może pobrać nowego oprogramowania, załaduje ostatnio napisany program z pamięci długoterminowej.

Bootloader Arduino® jest szczególnie przydatny, ponieważ eliminuje potrzebę korzystania z zewnętrznego urządzenia programującego, które jest zwykle wymagane do zmiany oprogramowania na podobnych urządzeniach. Wynalazki Arduino® zwykle uruchamiają swoje oprogramowanie bezpośrednio z chipów bez przewagi magnetycznych urządzeń pamięci masowej. Takie podejście jest szybsze i tańsze niż korzystanie z pamięci magnetycznej. Główną wadą bootloadera jest to, że zużywa część ograniczonej przestrzeni na chipach, minimalizując przestrzeń dostępną dla oprogramowania.

Niektórzy użytkownicy byli sfrustrowani ograniczeniami bootloadera Arduino® i uciekali się do używania zewnętrznego urządzenia programującego w celu usunięcia bootloadera i ręcznego dodawania nowych programów. Chociaż ta technika zwiększa dostępną przestrzeń i nieco zwiększa szybkość wykonywania oprogramowania, jest dość czasochłonna i nie jest zalecana dla większości użytkowników. Inni użytkownicy napisali alternatywne bootloadery Arduino®, z których niektóre są open source i dostępne za darmo online.