Instalowanie innego oprogramowania na Arduino


12

Czy możliwe jest uaktualnienie oprogramowania układowego w Arduino, aby mógł robić więcej rzeczy, takich jak zmiana zaniżania / przepięcia w celu zapewnienia większej mocy przetwarzania. Aby to zrobić, najprawdopodobniej musiałbyś ponownie sflashować sam układ, więc jak by to osiągnąć?


2
Większość nowych funkcji zapewniają biblioteki i programowanie. O jakich „więcej rzeczach” mówisz?
— TheDoctor

Co powiedział TheDoctor, co masz na myśli przez więcej rzeczy? Ponadto, o czym mówisz „oprogramowanie układowe”? Oprogramowanie / system operacyjny jest na pokładzie?
— hichris123

Czy powinienem po prostu usunąć pytanie
— JVarhol

@JVarhol Jeśli możesz to uczynić jaśniejszym, nie, zachowaj to. Po prostu wyjaśnij nam, co dokładnie myślisz o ...
— hichris123

Wiem, że możesz zainstalować nowe oprogramowanie układowe na szeregowym układzie USB, aby móc emulować klawiaturę
— TheDoctor

Odpowiedzi:


7

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:
wprowadź opis zdjęcia tutaj

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.


5

Zwróć uwagę na poniższą tabelę dotyczącą niskiego / nadmiernego napięcia urządzenia dla różnych F_CPU, wskazującego związek. W rezultacie większość Arduino działa przy 5 V i częstotliwości taktowania 16 MHz. Chociaż istnieje kilka wariantów 3,3 V, które działają z częstotliwością 8 MHz.

Freq vs Vcc

Jednak biblioteka podstawowa dostarczana z IDE zazwyczaj ma specyficzne #, jeśli dotyczy zarówno prędkości F_CPU 8, jak i 16 MHz, nie używając formuły w większości miejsc.

Dlatego możliwe jest robienie tego, o co prosisz. Znajdziesz jednak podstawowe ograniczenia dotyczące biblioteki. Przechylając stosunek kosztów do korzyści, do samego celu. I wtedy prawdopodobnie pozostawiłoby Stock IDE i podstawowe biblioteki bardziej makefile.


Najwyraźniej można go podkręcić do 20 MHz
— TheDoctor

@TheDoctor - to nie jest podkręcanie. ATmega328p ma moc 20 MHz. Arduino są w rzeczywistości podkręcone do 16 MHz.
— Connor Wolf,

@FakeName tak, miałem na myśli, że możesz zmodyfikować płytkę Arduino, aby mieć niezbędny rezonator, aby dostroił się do częstotliwości 20 MHz
— TheDoctor

Och, kolejna uwaga. Zasadniczo można przekroczyć bezpieczny obszar operacyjny bez większych problemów. Mam kilka płyt działających z 16 MHz z szynami 3.3V bez problemów. Mogą mieć problemy ze stabilnością w ekstremalnych temperaturach, ale wydaje się, że działają głównie dobrze w temperaturze pokojowej.
— Connor Wolf,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.