Aby odpowiedzieć na pytanie dotyczące „oprogramowania układowego” w MCU ATmega328p stosowanego w większości płyt Arduino:
W ATmega nie ma żadnego oprogramowania układowego oprócz bootloadera. Programy, które piszesz, działają bezpośrednio na sprzęcie.
Istnieją pewne ustawienia „bezpiecznika”, które są ustawiane za pomocą programatora ISP . Jest ich jednak tylko 24 (trzy bajty) i w dużej mierze dotyczą one konfiguracji niskiego poziomu i nie są tym, o co myślę, że pytasz:
Istnieje również Bootloader , który jest małym programem, który znajduje się w oddzielnym segmencie pamięci programu MCU i pozwala mu się aktualizować podczas uruchamiania (tak programowane są wszystkie arduinos). Jednak podczas uruchamiania działa tylko przez krótki czas i jest całkowicie usuwany z pamięci po przejściu MCU do programu głównego.
Na końcu są dodatkowe MCU (ATmega16U2 / 8U2) na większości kart arduino, które są używane jako interfejsy szeregowe USB, które można aktualizować, aby działały inaczej (np. Emulowały klawiaturę / mysz), ale znowu, to nie jest w rzeczywistości zmiana do rdzenia procesora, więc to, czy liczy się to jako „instalowanie innego oprogramowania układowego”, zależy od tego, jak zdefiniujesz arduino.
Naprawdę zdecydowanie polecam przeczytanie arkusza danych ATmega328P . To jest dokumentacja MCU, która zasadniczo tworzy „Arduino”. Powinien zająć się czymś, co wydaje się być nieporozumieniem.