ATNEL tech-forum
https://forum.atnel.pl/

Wypalanie Arduino ATmega328p przez programator ATB-USBASP
https://forum.atnel.pl/topic19491.html
Strona 1 z 1

Autor:  Kiriot_Onky [ 29 paź 2017, o 18:17 ]
Tytuł:  Wypalanie Arduino ATmega328p przez programator ATB-USBASP

Mam problem z wgraniem bootloadera Arduino poprzez Arduino IDE 1.8.5. Posiadam programator ATB-USBasp 4.1. Mikrokontroler ATmega328p jest poprawnie wykrywany przez mkAVR Calculator.

W Arduino IDE wybieram płyktę: "Arduino/Genuino Uno, programator jako USBasp po czym wybieram opcje Wypal Bootloader.
Otrzymuje wówczas błąd w postaci:

avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'
Błąd przy wgrywaniu bootloadera.


Poszedłem krok dalej
Wzorując się na tym problemie http://forum.atnel.pl/topic17332.html


Wgrałem Avrdude z mkAVRCalculatora do katalogu C:\Program Files\Arduino\hardware\tools\avr\bin
i dodatkowo plik avrdude.conf z tego katalogu przeniosłem do C:\Program Files\Arduino\hardware\tools\avr\etc.

Jednak uzyskałem kolejny błąd podczas wypalania Bootloadera w postaci :

avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

Błąd przy wgrywaniu bootloadera.


Już skończyły mi się pomysły jak to rozwiązać :/
Z góry dzięki :)

Autor:  tungu [ 29 paź 2017, o 19:28 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

rc=-1 oznacza, że podłączenie uC szwankuje. Coś źle podłączyłeś za drugim razem (za pierwszym razem wykrył).

Autor:  Kiriot_Onky [ 29 paź 2017, o 20:20 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

Nie wiem czemu tak się dzieje, nie zmieniałem nic w podłączeniu mikrokontrolera

Autor:  xentis [ 29 paź 2017, o 20:33 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

widzisz w arduino w wersji 1.8X wprowadzono avrdude w wersji 6.3 a ten ma problemy ze współpracą z USBASP. Niestety samo wgranie innej wersji w sposób bezpośredni nie da rezultatów, ponieważ w arduino sam plik wykonywalny siedzi w jednym miejscu a plik konfiguracyjny też w innym. Dodatkowo nowa wersja nieco inaczej współpracuje z samym arduino i pliki konfiguracyjne aduino też trzeba zmodyfikować. Za chwilę postaram się wrzucić moją zmodyfikowaną wersję arduino 1.85

Autor:  Kiriot_Onky [ 29 paź 2017, o 20:48 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

Było by super :)

Autor:  xentis [ 29 paź 2017, o 21:06 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

Na chwilę obecną mam pod ręką arduino w wersji 1.84. Pliki konfiguracyjne arduino poprawione dla arduino nano i promini więc te na pewno działają (takie mam płytki arduino więc dla nich to konfigurowałem)

Autor:  Kiriot_Onky [ 29 paź 2017, o 21:14 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

ATmega328p pochodzi niestety od płytki Arduino UNO :/

Autor:  xentis [ 29 paź 2017, o 21:22 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

To może poprostu pobierz starszą wersję arduino która ma starszą wersję avrdude dostępną tu https://www.arduino.cc/en/Main/OldSoftwareReleases#previous wersja która powinna Ciebie zainteresować to 1.6.9

Autor:  Kiriot_Onky [ 30 paź 2017, o 15:12 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

Pobrałem wersję Arduino IDE 1.6.9 podczas wypalania Bootloadera wyświetla się błąd o wspomnianej na początku treści:


avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

Błąd przy wgrywaniu bootloadera.


Tym razem nic nie grzebałem w plikach Arduino IDE tylko po prostu zainstalowałem.
Podczas instalacji Arduino IDE zainstalowała mi sterownik do USBasp czego najnowsza wersja nie robiła, jednak programator nadal nie jest widoczny w narzędziach IDE, przy wyborze portu szeregowego.

W mkAVR Calculatorze nadal wszystko ok:

Obrazek

Autor:  micky [ 30 paź 2017, o 15:27 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

BTW. Kolor czerwony jest zarezerwowany dla moderatorów.

Autor:  Marhef [ 30 paź 2017, o 16:50 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

Programujesz poza arduino? Ustaw przez MKAVRCalculator taktowanie na inne niż wewnętrzny kwarc 1 MHz.
EDIT: Z tego, co widzę, ustawiony jest 8 MHz, ale z podziałem przez 8... zmień na wewnętrzny 8 MHz, ale bez podziału. Albo, jeśli masz podłączony kwarc (razem z kondensatorami), to ustaw taktowanie na zewnętrzne.
Wnioskuję, że jest taki problem, ponieważ w linijce z avrdude jest -b 375

Autor:  Kiriot_Onky [ 30 paź 2017, o 17:47 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

Generalnie programuje poza Arduino, programowałem mikrokontrolery w uC ale teraz mam większy projekt więc chciałem skorzystać z wysokopoziomowych możliwości Arduino.

No właśnie nie bardzo mogę wyłączyć ten podział częstotliwości przez 8. Odznaczam tą opcje (CKDIV8) w Fusach Uproszczonych po czym klikam Zapis do AVR potem klikam Odczyt z AVR, no i zmieniono taktowanie. Jak wcisnę ponownie Sprawdź podłączony AVR to okazuje się ze znowu opcja CKDIV8 jest włączona.

Autor:  xentis [ 30 paź 2017, o 17:53 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

Kiriot_Onky napisał(a):
Podczas instalacji Arduino IDE zainstalowała mi sterownik do USBasp czego najnowsza wersja nie robiła
Pobierz sobie wersję nieinstalowalną, bo może coś masz w zmiennych środowiskowych namieszana, a wersja nieinstalowalna będzie działać niezależnie.
Kiriot_Onky napisał(a):
jednak programator nadal nie jest widoczny w narzędziach IDE, przy wyborze portu szeregowego.
ale programator nie będzie widoczny jako port com.
Aby wgrać bootloader musisz w arduino wybrać typ płytki, następnie w opcji programator wybrać USBASP a następnie wybrać opcję wypal bootloader.
Port com ma tylko wbudowany w płytkę konwerter USB na UART który na płytce UNO zbudowany jest na bazie procka atmega16U. Jeśli po podłączeniu płytki do USB nie ma portu do wyboru to możesz mieć albo uwaloną atmegę16U albo skasowany jej wsad a ten najlepiej wgrasz przez USB atmelowskim programem flip

Autor:  Kiriot_Onky [ 30 paź 2017, o 17:58 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

Mam zainstalowany driver do programatora z mkAVR Calculatora. Porty COM w Arduino IDE działają w porządku. Jak przykładowo podłącze przez USB Arduino Mega to pojawia się dodatkowy port szeregowy z nazwą mojej płytki do wyboru.

Autor:  xentis [ 30 paź 2017, o 18:02 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

Kiriot_Onky napisał(a):
No właśnie nie bardzo mogę wyłączyć ten podział częstotliwości przez 8. Odznaczam tą opcje (CKDIV8) w Fusach Uproszczonych po czym klikam Zapis do AVR potem klikam Odczyt z AVR, no i zmieniono taktowanie. Jak wcisnę ponownie Sprawdź podłączony AVR to okazuje się ze znowu opcja CKDIV8 jest włączona.
Procek masz w płytce arduino czy na stykówce? Do płytki czy też stykówki masz podpięte coś jeszcze? Objawy jakie opisujesz wskazują na niestabilną komunikację programatora z prockiem, tak jakby coś dodatkowo obciążało linie programujące.

Autor:  Kiriot_Onky [ 30 paź 2017, o 18:07 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

Cóż procesor jest na płytce stykowej podpięty wg poniższego schematu:
Bez całej prawej strony, tych diód i rezystorów.

Obrazek

Autor:  raczyk [ 30 paź 2017, o 18:08 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

Jeśli masz mkavrcalculator to wgraj sobie wsad z folderu: Program Files (x86)\Arduino\hardware\arduino\avr\bootloaders\optiboot
ja wgrywam optiboot_atmega328.hex. Wcześniej ustawiam sobie fuse: FF DE FD.

Pozdrawiam

Autor:  xentis [ 30 paź 2017, o 18:13 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

A masz na płytce rezonator 16MHz, bo na schemacie go nie ma, a arduino działa na zewnętrznym kwarcu!

Autor:  Kiriot_Onky [ 30 paź 2017, o 18:14 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

raczyk napisał(a):
Jeśli masz mkavrcalculator to wgraj sobie wsad z folderu: Program Files (x86)\Arduino\hardware\arduino\avr\bootloaders\optiboot
ja wgrywam optiboot_atmega328.hex. Wcześniej ustawiam sobie fuse: FF DE FD.

Pozdrawiam


A mógłbyś powiedzieć gdzie w mkAVR Calculatorze jest opcja do wgrywania wsadów do mikrokontrolera ?

Nie mam kwarca podczepionego do Mikrokontrolera, zaraz zobaczę i powiem czy coś się zmieniło

Autor:  xentis [ 30 paź 2017, o 18:19 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

W zakładce gdzie jest przycisk "sprawdź podłączony avr" pod przyciskiem po lewej wybierasz zapis a po prawej wybierasz rodzaj pamięci czyli flash a niżej musisz wskazać plik wsadu.
Obrazek

Autor:  Marhef [ 30 paź 2017, o 18:24 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

Kiriot_Onky napisał(a):
A masz na płytce rezonator 16MHz, bo na schemacie go nie ma, a arduino działa na zewnętrznym kwarcu!
To później. Kolega na razie ma w ogóle problem z zaprogramowaniem czymkolwiek procka. Z tego, co już wiemy, nie zapisują się fuse bity.

Kolego Kiriot_Onky, zaznacz te opcje w mkavrcalculator, które masz zaznaczone na rysunku u mnie w załączniku, ustaw fusebity tak, jak mają być (czyli odznacz ckdiv) i daj "wykonaj"

Załącznik ;)
Obrazek

Autor:  Kiriot_Onky [ 31 paź 2017, o 01:30 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

Nie chciało mi się już dłużej z tym męczyć, pożyczyłem Arduino UNO od kolegi i za jego pomocą wypaliłem Bootloader, po drodze wywaliło error ale działa :D.
Czy do wgrywania wsadów mogę wykorzystać swój programator ATB-USBASP wgrywając je jakoś przez Arduino IDE ?

Autor:  xentis [ 31 paź 2017, o 07:31 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

Możesz wgrywać wsad za pomocą USBASP ale wtedy nie ikoną strzałki tylko trzeba z menu wybrać opcję "wgraj przy pomocy programatora". Jednakże musisz pamiętać że taka operacja wykasuje bootloader. Druga sprawa to skoro nie działało wypalenie bootloadera to marne szanse by działało wgrywanie wsadu. No chyba że przyczyną problemu była stykówka (swoją drogą skoro masz płytkę UNO to nie wiem po co ta zabawa ze stykówką która często jest kapryśna i właśnie ona jest czesto przyczyną problemów, było poprostu połaczyć programator USBASP z gniazdem ISP płytki UNO)

Wysłane przy użyciu Tapatalka

Autor:  SaintRafik [ 18 sie 2019, o 19:45 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

Czy do tej pory udało się komuś odpalić Arduino IDE w najnowszej wersji wraz z programatorem USBASP 4.2?

Autor:  micky [ 18 sie 2019, o 20:52 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

Tak, wystarczy podmienić avrdude Arduino na Mirkowe :)

Autor:  SaintRafik [ 20 sie 2019, o 14:32 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

micky napisał(a):
Tak, wystarczy podmienić avrdude Arduino na Mirkowe :)


Z tego co wiem to najnowsze Arduino IDE nie ma takiej możliwości. Bo posiada AVR Dude polączone z programem. Próbowałem sposobów podanych na forum i niestety nie działa. Musiałem zejść na 1.6.9, wykonać polecenia z forum i wtedy ruszyło. Ale to nie są kroki na przód tylko w tył...

Autor:  Szofer [ 20 sie 2019, o 16:43 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

A nieda sie w arduino ide generowac hex-a i wgrywać po rs232 np ftdi wykorzystać z mkavrkalkulator albo mkbootloader albo inna "wgrywajka" hex-a po rs232, i bootloader adruino wtedy nietkniety zostaje.

Może troche wiecej klikania ale zabieg wydajemi się jak najbardziej trafny.

Pozdrawiam.

Autor:  xentis [ 20 sie 2019, o 16:49 ]
Tytuł:  Re: Wypalanie Arduino ATmega328p przez programator ATB-USBAS

SaintRafik napisał(a):
Z tego co wiem to najnowsze Arduino IDE nie ma takiej możliwości. Bo posiada AVR Dude połączone z programem. Próbowałem sposobów podanych na forum i niestety nie działa. Musiałem zejść na 1.6.9, wykonać polecenia z forum i wtedy ruszyło. Ale to nie są kroki na przód tylko w tył...
Nie do końca. Da się podmienić tylko te nowsze wersje (nawet nieinstalowalne) mają avrdude w kilku miejscach i trzeba je wszystkie znaleźć (nie tylko w katalogu arduino ale również w katalogu użytkownika windows).
Dodatkowo trzeba jeszcze pogrzebać w pliku konfiguracyjnym bo anelowskie avrdude nieco inaczej przesyła informacje o fusebitach (chodzi o bity które nie są wykorzystane - teraz nie pamiętam w którą to stronę było ale jedna wersja w miejscu bitów nieużywanych wstawia 0 a druga 1, i po prostu nawet jak już arduino widzi programator to wywala błąd przy weryfikacji.

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/