• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
UNU CH340 - problem z wgraniem bootloadera
#21
Podłączyć ze sobą taśmą można dwa programatory USBASP, na złączu ISP Arduino jest pin reset Arduino, a nie pin do resetowania innego układu. Zworka na programatorze sprawia zapewne, że pin resetujący jest zamieniany   na pin reset i to decyduje, który układ jest programatorem, a który programowanym. W szkicu ArduinoISP definiuje się pin do resetu. Wrzuć fotkę tego UNO.
Co do tego, że działa jako Nano a jako UNO nie, to różnica między tymi bootloaderami jest tylko taka, że oprócz oczywiście faktu, że teraz musisz używać UNO jako NANO, bo tak się przedstawia, to bootloader działa z mniejszą prędkością i zajmuje więcej miejsca we flash (inna grupa go pisała do UNO). 
Zaczynasz od wgrania szkicu z ArduinoISP. Łączysz kabelkami piny MISO, MOSI, SCK, VCC i GND. Z płytki arduino do programowanej dodatkowo łączysz jeszcze pin 10 z RST. Pin 10 będzie resetował, tak jest u mnie domyślnie.
Żeby wgrać bootloader odpalasz AVRLAB++, wybierasz AVRISP, port COM, koniecznie ustaw prędkość 19200. Odczytaj procesor/arduino. Powinno być tak jak w załączniku na zrzutach - odczytane PROMINI i Programator USBASP  z ATMEGA8. Jak odczyt działa dobrze to możesz przejść do kolejnej zakładki, wskazać odpowiedni flash (zwykle jest to atmega8, ale jak masz atmega88 to oczywiście wybierz odpowiedni). Atmega8 i Atmega8A to jest właściwie to samo. Oczywiście najpierw możesz sobie powgrywać coś tam do Arduino, żeby poćwiczyć. Nowy flash USBASP jest przydatny, ale choć na starym działa wolniej, nigdy oprócz komunikatów ostrzegawczych nie miałem z tym żadnych problemów. Na pewno nie ustawia automatycznie prędkości wolniej/szybciej. Dlatego jak już masz jakieś problemy to lepiej go chyba wgrać.
AVRDUDE można odpalić też z linii poleceń. Żeby odczytać procek "avrdude -p m328p -P COM60 -c avrisp -b 19200" 
Oczywiście port COM trzeba podać ten gdzie masz Arduino z tym wsadem ISP.
   
   
Nie zapomnij, że trzeba ustawić zworkę do programowania na USBASP, zworka do zasilania ma pozostać, także muszą być dwie. Chyba, że masz pecha i takiej zworki w ogóle nie ma, czasami trzeba coś polutować.
EDIT2:
No jest mały problem. Ani mkAVR ani AVRLAB (na razie) nie zadziałają z ARDUINO ISP. mkAVR w ogóle nie ma opcji wyboru baud. W AVRLAB jest opcja, ale nie działa prawidłowo w trybie zapisu i odczytu flash. Tylko testowy odczyt działa ok, po przejściu do zakładki flash opcja znika z linii poleceń.  Także pozostaje wgranie z palca. W załączniku paczka. Rozpakuj gdzieś do katalogu. Na początek trzeba edytować oba pliki *.bat i wpisać odpowiedni port COM. W załączniku wsad do atmegi 8, jak masz inny procek to musisz podmienić również plik firmware i jego nazwę. Zrób kilka razy odpalenie __test.bat, odczyta co jest podłączone, jak jest ok to zrób zapis uruchamiając drugi plik startflash.bat.   Tak samo można wgrać cokolwiek do czegokolwiek, wystarczy podmienić procek docelowy i pokazać inny plik hex.
Edit3:
I na to znalazłem sposób, można skompilować szkic ArduinoISP z ustawieniem baud na 115200 (zakomentować i odkomentować odpowiednie linijki) i jak się wydaje, jest to domyślna prędkość dla AVRISP, bo działa w takim ustawieniu zarówno z mkAVR jak i AVRLAB (po odznaczeniu baud lub ustawionym na 115200). Wsad z USBASP oba programy odczytały OK.


Załączone pliki
.zip   USBASP.zip (Rozmiar: 223.45 KB / Pobrań: 2)
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
  


Wiadomości w tym wątku
RE: UNU CH340 - problem z wgraniem bootloadera - przez kaczakat - 11-06-2018, 22:39

Skocz do:


Przeglądający: 1 gości