Spisu treści:
- Krok 1: Kilka słów
- Krok 2: Co to jest bootloader? (Optiboot)
- Krok 3: Mistrz szkiców Arduino
- Krok 4: Konfiguracja sprzętu
- Krok 5: Programowanie
- Krok 6: Odłącz
- Krok 7: Połącz
- Krok 8: Stan programowania
- Krok 9: Zaczyna się zabawa!:)
- Krok 10: Nowy chip
- Krok 11: ZRZECZENIE SIĘ
- Krok 12: Kiedy wydarzą się dziwne rzeczy
Wideo: Przewodnik spalania Atmega328P-PU Bootloader (Optiboot): 12 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
Kolejny przewodnik dotyczący nagrywania bootloadera Atmega. Ale tym razem stawiam na pierwszą próbę, że ci się uda!!
To jest samouczek dotyczący nagrywania bootloadera Nicka Gammonsa dla płyt Arduino.
Krok 1: Kilka słów
Mikrokontroler Atmega328P-PU to jeden z najpopularniejszych układów Arduino, które są stosowane w szerokim zakresie na całym świecie. Ale co najważniejsze, Atmega z nagimi kośćmi nadal robi to, co potrafi standardowy Uno R3. Głównym powodem, dla którego uwielbiam ten mikrokontroler, jest tryb „Low Power”. Napisałem kilka nowych szkiców do kilku czujników i od jakiegoś czasu je testuję.
Za kilka lat, kiedy zacząłem bawić się Arduino, moim pierwszym zamówieniem był mikrokontroler Atmega328P. Później zdałem sobie sprawę, że te, które zamówiłem z Aliexpress, to puste żetony. Żetony na Ali są bardzo tanie, można je kupić już od 1,40$. Ale nie zawierały Uno Bootloadera (Optiboot) i bez niego nie mogłem wgrać żadnych szkiców. Ciężka przerwa ha??!! To był dla mnie naprawdę zimny prysznic……. Więc szukałem sposobu na spalenie bootloadera w żetony. Próbowałem 5 lub 6 metod, ale bez powodzenia. Po tygodniu znalazłem na forum strony temat, który wspomniał o samouczku nagrywania bootloadera Nicka Gammona. Pierwsza próba i SUKCES!!:D Teraz pokażę ci, jak łatwo nagrać bootloader do pustych układów Atmega328P-PU bez zepsucia rzeczy w Arduino IDE.
Krok 2: Co to jest bootloader? (Optiboot)
Bootloader to niewielki program (plik HEX, 0.5Kbyte) pozwalający na wgrywanie szkiców do pamięci flash bezpośrednio z Arduino IDE. Plik HEX zawsze działa przed programem głównym i dlatego jest potrzebny.
Bez bootloadera:
-Mikrokontroler nadal MOŻNA ZAPROGRAMOWAĆ!(tak, jest to możliwe), ale do tego potrzebny byłby dedykowany programator AVR. I nie jest tanio!
- Nie można go zaprogramować przez Arduino IDE.
Obsługiwane bootloadery tej metody:
Atmega8 (1024 bajty)
Atmega168 Optiboot (512 bajtów)
Atmega328 Optiboot (dla Uno itp. przy 16 MHz) (512 bajtów)
Atmega328 (8 MHz) dla Lilypad itp. (2048 bajtów)
Atmega32U4 dla Leonardo (4096 bajtów) Atmega1280 Optiboot (1024 bajty)
Atmega1284 Optiboot (1024 bajty)
Atmega2560 z poprawkami problemu z zegarem watchdoga (8192 bajty)
Atmega16U2 - bootloader w układzie interfejsu USB Uno
Atmega256RFR2 - bootloader na płycie Pinoccio Scout
Kod dla następujących bootloaderów jest zawarty w szkicu i zostanie pobrany w zależności od wykrytej sygnatury.
Mamy więc wszystko, czego potrzebujemy.
Krok 3: Mistrz szkiców Arduino
Przede wszystkim potrzebujesz biblioteki arduino.
Pobierz go stąd:
Lub pobierz go stąd.
Po pobraniu rozpakuj go do biblioteki Arduino forlder i poszukaj Board Programmer. Otwórz go i uruchom Board Programmer.ino.
Krok 4: Konfiguracja sprzętu
Istnieją 3 sposoby podłączenia przed programowaniem:
- Użyj osłony AVR ISP
- Arduino A do Arduino B
- I metoda tabliczki do krojenia chleba
Na zdjęciu widać jak podłączyć. Na płytce stykowej kondensatory ceramiczne nie są tak naprawdę potrzebne, ale trzeba dodać kryształ 16 MHz.
Tym razem używam tarczy AVR ISP.
Celem tej metody jest to, że program używa monitora szeregowego do uzyskania dostępu do pamięci flash w celu zapisania Optiboot (bootloader)
Krok 5: Programowanie
Po zakończeniu konfiguracji sprzętu uruchom Board Programmer.ino!
Skompiluj i prześlij do Arduino, ale nie zamykaj okna!! Będziesz tego potrzebował:)
Przesyłanie zajmie kilka sekund.
Krok 6: Odłącz
Po przesłaniu szkicu odłącz Arduino od komputera i podłącz wszystko, jeśli planujesz to zrobić na płytce prototypowej.
Jeśli korzystasz z nakładki AVR, umieść układ Atmega w gnieździe ZIF i "zablokuj" go.
Bardzo ważne: Dopóki sprzęt nie jest skonfigurowany, procesor nie może otrzymać VCC!! W ten sposób ryzykujesz uszkodzenie!
Krok 7: Połącz
Ok! Sprzęt jest skonfigurowany i wszystko jest na swoim miejscu, podłączamy Arduino do komputera.
Następnie otwórz monitor szeregowy i ustaw szybkość transmisji 115200, a zobaczysz to.
W monitorze szeregowym widać, że Arduino wszedł w tryb programowania. Fajny!!:)
Ponieważ chcemy zaprogramować Uno (Atmega328P) wpisz w komunikacie „U” i naciśnij enter.
Krok 8: Stan programowania
W następnym oknie zobaczysz to.
Nie wyjdziemy ani nie zweryfikujemy, wpiszemy G i wciśniemy Enter!
Krok 9: Zaczyna się zabawa!:)
Po wciśnięciu Enter zobaczysz to:
Kasowanie chipa…Pisanie bootloadera…
Potwierdzam stronę zaczynającą się od 0x7E00Potwierdzam stronę zaczynającą się od 0x7E80
Potwierdzam stronę zaczynającą się od 0x7F00
Zatwierdzam stronę zaczynającą się od 0x7F80
Napisane. Weryfikuję…
Nie znaleziono błędów.
Zapisywanie bezpieczników …LFuse = 0xFF
HFuse = 0xDE
EFuse = 0xFD
Bajt blokady = 0xEF Kalibracja zegara = 0x9E
Gotowe.
Tryb programowania wyłączony. Wpisz „C”, gdy będziesz gotowy, aby kontynuować z innym chipem…
I szczęśliwego dnia!!:D Twój układ Atmega328P jest teraz gotowy do przesyłania szkiców!
To było łatwe, prawda?:)
Krok 10: Nowy chip
Jeśli chcesz zaprogramować inny układ, odłącz Arduino od komputera, wymień układ na pusty. Podłącz ponownie Arduino i ponownie wykonaj te czynności.
Jeśli monitor szeregowy nie odpowiada po ponownym podłączeniu Arduino, nie panikuj tylko go zamknij i otwórz nowy.
Krok 11: ZRZECZENIE SIĘ
NIE POSIADAM ŻADNEGO Z TEGO!! Cała zasługa należy do Nicka Gammona!!
Właśnie pokazałem tę metodę w tym Instruktażowym.
Mam nadzieję, że okaże się to przydatne.
Miłego dnia.
Krok 12: Kiedy wydarzą się dziwne rzeczy
Niedawno otrzymałem Arduino Nano z procesorem Atmega328P-MU.
Więc próbowałem przesłać do niego szkic, ale nie mogłem. Procesor na nic nie odpowiedział opcjami Atmega328.
OK! Więc może bootloader jest uszkodzony i wymaga przepisania. Połączyłem go z innym arduino i wykonałem wypalanie bootloadera. Wciąż nic……!!!!
Ok, potrzebuję przerwy (kawa i papieros)!! Jako ostatnią szansę ponownie wybrałem Arduino Uno jako cel. Przesyłanie zakończone:D
W tej chwili mam Nano, który działa jak Arduino Uno. Nie wiem, dlaczego tak się stało, ale myślę, że jest to spowodowane podpisem procesora. W każdym razie to naprawdę uprzyjemniło mi dzień i jest trochę zabawne:)
Zalecana:
Przewijany wyświetlacz tekstowy (przewodnik od A do Z): 25 kroków (ze zdjęciami)
Przewijany wyświetlacz tekstowy (przewodnik od A do Z): W tym instruktażowym / wideo poprowadzę Cię krok po kroku, jak wykonać przewijany wyświetlacz tekstowy za pomocą Arduino. Nie będę tłumaczył jak zrobić kod dla Arduino, pokażę jak wykorzystać istniejący kod. Co i gdzie trzeba ko
Głośniki HiFi - przewodnik po pierwszej klasie budowy: 8 kroków (ze zdjęciami)
Głośniki HiFi - przewodnik po budowie pierwszej klasy: Zdecydowałem się napisać tę instrukcję po spędzeniu zbyt wiele czasu na szukaniu dobrej jakości, pełnych informacji na temat budowy kolumn głośnikowych HiFi, które nie wymagały dużego doświadczenia ani wiedzy. Istnieje kilka świetnych instrukcji
Prosty przewodnik po naprawie uszkodzonych słuchawek BOSE QC25 - BRAK DŹWIĘKU z jednego ucha: 5 kroków (ze zdjęciami)
Prosty przewodnik po naprawie uszkodzonych słuchawek BOSE QC25 - BRAK DŹWIĘKU z jednego ucha: Firma Bose jest dobrze znana ze swoich słuchawek, a zwłaszcza z oferty aktywnej redukcji szumów. Kiedy po raz pierwszy założyłem parę QuietComfort 35 w sklepie elektronicznym, byłem zachwycony ciszą, jaką mogą stworzyć. Miałem jednak bardzo li
Jak nagrać bootloader na Atmega328p-AU (SMD): 5 kroków
Jak nagrać bootloader na Atmega328p-AU(SMD): Witam wszystkich!! te instrukcje mogą być użyte do wykonania dla Ciebie dowolnych płyt arduino
Bootloader na ATMEGA328P-PU: 6 kroków
Bootloader na ATMEGA328P-PU: W tym artykule prześlemy bootloader do ATMEGA328P-PU za pomocą Arduino Mega 2560. W tej sekcji prześlemy bootloader do ATMEGA328P-PU za pomocą Arduino Mega 2560