Programowanie ATmega8A USBasp

Masz problem, z którym nie możesz sobie poradzić? Pisz śmiało!
ODPOWIEDZ
Phoenix23
Młodszy majsterkowicz
Posty: 19
Rejestracja: 19 lut 2014, 14:08

Programowanie ATmega8A USBasp

Post autor: Phoenix23 » 19 lut 2014, 14:20

Cześć,
chciałem wgrać program napisany w Arduino IDE na mikrokontroler Atmega8A-pu poprzez programator USBasp,
wykonałem więc czynności opisane w artykule http://majsterkowo.pl/programowanie-mik ... ra-usbasp/, zamieniając attiny na bootloader do Atmega8a z strony http://majsterkowo.pl/forum/programowan ... -t280.html.
W Arduino IDE widzę nowe mikrokontroler, więc go wybrałem , programator ustawiłem na USBasp i otrzymuje taki błąd
Error while burning bootloader: missing bootloader.tool configuration parametr, nie wiem o co chodzi czy źle zrobiłem coś przy konfiguracji czy źle podłączone kable.
Używam arduino ide 1.5.4.
Proszę o pomoc.

Co miesiąc do wygrania nagrody o wartości ponad 1600 zł!


Phoenix23
Młodszy majsterkowicz
Posty: 19
Rejestracja: 19 lut 2014, 14:08

Re: Programowanie ATmega8A USBasp

Post autor: Phoenix23 » 20 lut 2014, 13:16

programator jest ok -widzę go w urządzeniach, bootloader też w dobrym miejscu, a do boards.txt dodałem na końcu wpis z forum, który był potrzebny, wydaje mi się że to wina oprogramowania IDE 1.5.4, bo bootloader nie próbuje się nawet wgrać wystarczy kliknąć wypal bootloader i już jest błąd
Arturr300
Starszy majsterkowicz
Posty: 307
Rejestracja: 16 paź 2013, 17:24

Re: Programowanie ATmega8A USBasp

Post autor: Arturr300 » 20 lut 2014, 13:52

Wklej tutaj konfigurację np. Arduino UNO R3 z pliku boards.txt (chodzi mi o tego z Twojej wersji)
Phoenix23
Młodszy majsterkowicz
Posty: 19
Rejestracja: 19 lut 2014, 14:08

Re: Programowanie ATmega8A USBasp

Post autor: Phoenix23 » 20 lut 2014, 14:14

Spoiler:
nie mogę wrzucić całego mam coś zablokowane, jest tylko ten kawałek, który dodałem z forum
Phoenix23
Młodszy majsterkowicz
Posty: 19
Rejestracja: 19 lut 2014, 14:08

Re: Programowanie ATmega8A USBasp

Post autor: Phoenix23 » 20 lut 2014, 19:41

udało się wszytko zrobić, układ działa tylko z jednym problemem, wszystko jest 2x wolniejsze
domyślam się że chodzi o szybkość zegara, przy wypalaniu bootloadera wybrał wersję 16MHz, moje pytanie czy istnieje możliwość to poprawić?
Awatar użytkownika
v-cu
Starszy majsterkowicz
Posty: 290
Rejestracja: 30 gru 2012, 23:00
Lokalizacja: Woźniki

Re: Odp: Programowanie ATmega8A USBasp

Post autor: v-cu » 20 lut 2014, 19:54

Phoenix23 pisze:udało się wszytko zrobić, układ działa tylko z jednym problemem, wszystko jest 2x wolniejsze
domyślam się że chodzi o szybkość zegara, przy wypalaniu bootloadera wybrał wersję 16MHz, moje pytanie czy istnieje możliwość to poprawić?
Mógłbyś powiedzieć jak ci się to udało zrobić? Kupiłem atmegi8L i też się mam zamiar dzisiaj bawić. Kiedyś odkupiłem atmege88 od kolegi z wypalonym bootloaderem i też jak wgram blink to dioda mruga co 2 sekundy.
Phoenix23
Młodszy majsterkowicz
Posty: 19
Rejestracja: 19 lut 2014, 14:08

Re: Programowanie ATmega8A USBasp

Post autor: Phoenix23 » 20 lut 2014, 20:18

zrobiłem to co było opisane w tych tutorialach, o których pisałem w poście na początku, tylko teraz użyłem arduino ide 1.0.1 nic nie zmieniając więc to był problem chyba tego oprogramowania 1.5.4, a z tym że mam układ wolniejszy to nie wiem i chciałbym się też dowiedzieć
Awatar użytkownika
v-cu
Starszy majsterkowicz
Posty: 290
Rejestracja: 30 gru 2012, 23:00
Lokalizacja: Woźniki

Re: Odp: Programowanie ATmega8A USBasp

Post autor: v-cu » 20 lut 2014, 23:34

Próbowałem wypalić bootloader i wgrać podstawowy blink na atmege8L. Ale wyskakuje błąd rc=-1. Dziwne bo wszystko jest dobrze podłączone a w mkavrcalculator normalnie widzi tą atmege że jest podłączona..
Arturr300
Starszy majsterkowicz
Posty: 307
Rejestracja: 16 paź 2013, 17:24

Re: Programowanie ATmega8A USBasp

Post autor: Arturr300 » 21 lut 2014, 01:32

@up
A kwarc podłączyłeś?

@Phoenix23
To samo, podłączyłeś kwarc 16mhz?
Phoenix23
Młodszy majsterkowicz
Posty: 19
Rejestracja: 19 lut 2014, 14:08

Re: Programowanie ATmega8A USBasp

Post autor: Phoenix23 » 21 lut 2014, 09:58

nie, nie podłączyłem bo nie miałem,a w tych tutorialach na forum nic nie było żeby dać kwarc, czyli co mogę to jakoś naprawić jeszcze czy już nie??
Awatar użytkownika
v-cu
Starszy majsterkowicz
Posty: 290
Rejestracja: 30 gru 2012, 23:00
Lokalizacja: Woźniki

Re: Odp: Programowanie ATmega8A USBasp

Post autor: v-cu » 21 lut 2014, 10:49

Ale najpierw chyba trzeba ustawić atmege na zewnętrzne oscylowanie co nie? Np w mkavrcalculator.?
Ostatnio zmieniony 21 lut 2014, 11:06 przez v-cu, łącznie zmieniany 1 raz.
Phoenix23
Młodszy majsterkowicz
Posty: 19
Rejestracja: 19 lut 2014, 14:08

Re: Programowanie ATmega8A USBasp

Post autor: Phoenix23 » 21 lut 2014, 11:04

ok, zapomniałem dodać, że zmieniłem atmege8 na atmega328(ale na atmega8 też mi się udało wgrać bootloader i program)tylko teraz dlaczego na atmega328 program działa 2x wolniej jak to jest przecież ten sam procesor co na arduino
nie wiedziałem że trzeba coś ustawiać, nic o tym nie pisało w tych postach odnośnie programowania w arduino na atmege
Awatar użytkownika
v-cu
Starszy majsterkowicz
Posty: 290
Rejestracja: 30 gru 2012, 23:00
Lokalizacja: Woźniki

Re: Programowanie ATmega8A USBasp

Post autor: v-cu » 21 lut 2014, 20:53

Udało mi się wgrać na atmege8L program zwykły blink bez wypalania bootloadera i dioda miga normalnie co sekundę :D.
W programie mkAVR Calculator ustawiłem na zewnętrzny oscylator 3.0MHz - 8.0MHz. Zapisałem to na atmegę.
Do atmegi podłączyłem pod nóżki 9 i 10 kwarc 8MHz. Potem w Arduino IDE wybrałem płytkę : Arduino NG or older w/ATmega8. No i wgrałem sketch bez wypalania bootloadera :D happy :D

Minus jest taki że kwarc musi być ciągle bo bez niego w ogóle nie się nic nie dzieje.

Pozdrawiam
Phoenix23
Młodszy majsterkowicz
Posty: 19
Rejestracja: 19 lut 2014, 14:08

Re: Programowanie ATmega8A USBasp

Post autor: Phoenix23 » 22 lut 2014, 12:06

Wypaliłem bootloader do atemga8 i do atmega328, dla każdego osobno i dla każdego inny.
Teraz mam dwa pytania bo nie rozumiem
Nie ma że boli. Bootloader na tym etapie nie jest Ci do niczego potrzebny. Zapomnij o tym na razie.
to po co w ogóle bootloader jak tu nie jest potrzebny, skoro program napisany w ide bd działał bez niego.

Drugie pytanie czyli żeby mój program działał poprawnie dla atmega328(kupiona nowa) jak już wgrałem bootloader bez zewnętrznego kwarcu, przy programowaniu muszę podpiąć kwarc z zakresu 1 do 16 Mhz i co dalej?
Phoenix23
Młodszy majsterkowicz
Posty: 19
Rejestracja: 19 lut 2014, 14:08

Re: Programowanie ATmega8A USBasp

Post autor: Phoenix23 » 22 lut 2014, 12:53

dobra, napiszę jeszcze raz, kupiłem nową atmege328p, wgrałem do niej bootloader ten z forum bez podłączonego kwarcu,
dalej wgrałem program też bez kwarcu i działa 2x wolniej,
teraz moje pytanie co mam(mogę) zrobić żeby to naprawić?(czy jest możliwa opcja bez kwarcu?) i czegoś nie zepsuć przy okazji, tzn żeby program działał tak jak chce czyli delay(1000) to była ta 1 sek a nie 2 sek(nie chodzi mi o rozwiązanie delay(1000)->delay(500);)

Podane na forum dane konfiguracyjne - dotyczące modyfikacji pliku boards.txt - są dla procesorów z zewnętrznym oscylatorem.
i jeszcze jedno pytanie skoro jest tak to dlaczego w ogóle działa skoro jest ustawione, że ma być użyty zewnętrzny oscylator?
Phoenix23
Młodszy majsterkowicz
Posty: 19
Rejestracja: 19 lut 2014, 14:08

Re: Programowanie ATmega8A USBasp

Post autor: Phoenix23 » 23 lut 2014, 20:03

poddaję temat pod dyskusję jeszcze raz, ponieważ chciałbym poznać odpowiedź na pytania wystosowane powyżej
Arturr300
Starszy majsterkowicz
Posty: 307
Rejestracja: 16 paź 2013, 17:24

Re: Programowanie ATmega8A USBasp

Post autor: Arturr300 » 24 lut 2014, 17:22

Pewne musiałbyś przestawić fusebity na wewn. oscylator.

A najprościej po prostu podłączyć kwarc
Phoenix23
Młodszy majsterkowicz
Posty: 19
Rejestracja: 19 lut 2014, 14:08

Re: Programowanie ATmega8A USBasp

Post autor: Phoenix23 » 25 lut 2014, 11:22

Pewne musiałbyś przestawić fusebity na wewn. oscylator.
Z tego co przeczytałem na innym forum to bootloader nie ustawia fusebitów, co znaczy że ja mam cały czas ustawiony wewnętrzny oscylator, bo jak wgrywałem bootloader to nie zmieniłem wcześniej fusebitów ani nie dawałem kwarcu.
A najprościej po prostu podłączyć kwarc
A teraz jak podłączę kwarc do atmega328p, po tym jak wgrałem bootloader bez zmiany fusebitów i bez kwarcu to przecież chyba nie zadziała poprawnie (tzn z taktowaniem 16Mhz tak jak to jest na Arduino uno) skoro nie zmieniłem fuse bitów, bo już mam namieszane i nie wiem.

Jakim programem można zmieniać te fusebity(czy w ogóle nie muszę ich zmieniać) na atmega328p skoro MkAvrCalculator nie działa dla atmega328?
Arturr300
Starszy majsterkowicz
Posty: 307
Rejestracja: 16 paź 2013, 17:24

Re: Programowanie ATmega8A USBasp

Post autor: Arturr300 » 25 lut 2014, 12:15

Jeżeli wgrywasz bootloader, to fusebity się zmieniają. Wystarczy spojrzeć do configu:

uno.bootloader.low_fuses=0xff
uno.bootloader.high_fuses=0xde
uno.bootloader.extended_fuses=0x05

To są właśnie fusebity.

Tak swoją drogą nie wiem, czemu Ci teraz to działa. Mi po wgraniu bootloadera bez kwarcu wywalało rc=-1
Phoenix23
Młodszy majsterkowicz
Posty: 19
Rejestracja: 19 lut 2014, 14:08

Re: Programowanie ATmega8A USBasp

Post autor: Phoenix23 » 25 lut 2014, 12:40

zrobiłem to co było napisane na forum
http://majsterkowo.pl/forum/programowan ... -t280.html
i wgrałem ten bootloader bez kwarcu, potem wgrałem program i działa, tylko tak jak mówię 2x wolniej czyli delay(1000) to są 2sek,
to jak to możliwe, że to działa skoro fusebity są ustawione na zewnętrzny kwarc?
i czy teraz wystarczy, że dołożę zewnętrzny kwarc 16Mhz do procesora i będzie działało poprawnie?
Arturr300
Starszy majsterkowicz
Posty: 307
Rejestracja: 16 paź 2013, 17:24

Re: Programowanie ATmega8A USBasp

Post autor: Arturr300 » 25 lut 2014, 13:16

Najlepiej wgraj do atmegi328 bootloader od Arduino Uno (Arduino > narzędzia>płytka>Arduino Uno). Pamiętaj że po wgraniu bootloadera od uno bez kwarca nawet nie ruszy (domyślnie jest ustawione na 16MHz )
Phoenix23
Młodszy majsterkowicz
Posty: 19
Rejestracja: 19 lut 2014, 14:08

Re: Programowanie ATmega8A USBasp

Post autor: Phoenix23 » 25 lut 2014, 13:47

czyli dobrze rozumiem, że wybieram sobie Arduino Uno i wypal bootloader, mając podłączony kwarc i potem do programu też podłączony kwarc 16Mhz i będzie działało, a jak wypalę 2 raz bootloader to on napiszę ten stary czy jak to jest?
Phoenix23
Młodszy majsterkowicz
Posty: 19
Rejestracja: 19 lut 2014, 14:08

Re: Programowanie ATmega8A USBasp

Post autor: Phoenix23 » 25 lut 2014, 16:56

MrLewerence
szczerze powiedziawszy dalej nie rozumiem, bo na początku posta napisałeś, że bootloader nie ustawia fusebitów czyli ja jak kupiłem nową atmege328p to mam ustawione taktowanie na wewnętrzny oscylator 8Mhz
a potem napisałeś
Mimo braku zewnętrznego oscylatora taktowanie dalej działa, ale jest tak niestabilne że waha się w przedziale od 300kHz do około 4MHz... nie
to czemu taktowanie jest niestabilne skoro nic się nie zmieniło jak nie zmieniałem fusebitów i bootloader też tego nie zrobił?
plus do tego Arturr300 piszę:
Jeżeli wgrywasz bootloader, to fusebity się zmieniają. Wystarczy spojrzeć do configu:

uno.bootloader.low_fuses=0xff
uno.bootloader.high_fuses=0xde
uno.bootloader.extended_fuses=0x05
ps. sory,że tyle pytam ale chciałbym to zrozumieć i zrobić dobrze, a nie liczyć na fuks o działa a tak naprawdę to przypadek
lukasz
Majsterkowicz
Posty: 59
Rejestracja: 21 sty 2014, 21:02

Re: Programowanie ATmega8A USBasp

Post autor: lukasz » 26 lut 2014, 08:06

Czyli procedura wypalania bootloadera ustawia fuse bity ;-)
Awatar użytkownika
rafalzaq
Majsterkowicz
Posty: 180
Rejestracja: 2 maja 2013, 23:57

Re: Programowanie ATmega8A USBasp

Post autor: rafalzaq » 1 mar 2014, 20:48

Proponuję zrobić coś takiego. W opcjach arduino zaznaczyć "pokaż pełen raport podczas: załaduj". Teraz przy wgrywaniu różnych rzeczy pojawi się dużo różnych informacji. Wystarczy teraz poszukać kiedy wywoływane jest polecenie avrdude ustawiające fusebity.
ODPOWIEDZ

Strony partnerskie: