Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 9 lis 2024, o 03:48


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 22 gru 2014, o 22:10 
Offline
Użytkownik

Dołączył(a): 20 paź 2014
Posty: 91
Pomógł: 0

Witam,
Chciałbym zaprogramować Atmega8A, bez zewnętrznego rezonatora za pomocą Arduino UNO i programu ArduinoIDE.
Szukałem informacji i z tego co się dowiedziałem to na początku należy wgrać program ArduinoISP do Arduino.
Następnie należy podłączyć Atmega8A do Arduino:
10(Arduino) - 1 [PC6 (PCINT14/RESET)]
11(Arduino) - 17 [PB3 (MOSI/OC2A/PCINT3)]
12(Arduino) - 18 [PB4 (MISO/PCINT4)]
13(Arduino) - 19 [PB5 (SCK/PCINT5)]
+5V(Arduino) 7
GND(Arduino) 8

Następnie dodałem bootloader do atmegi8A do folderu atmega w hardware i dopisałem linkijki kodu znalezione w necie do bliku boards.txt
Pozniej w IDE wybralem programator jako Arduino ISP oraz wybralem plytke dodana Atmege, prubowalem rowniez ze standardowa atmega 8 dostepna standardowo.

Naciskam Wypal bootloader i wyskakuje blad. Bledy sa rozne np:
Kod:
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.


Ktoś programowal tak uC? Wie ktos w czym rzecz? Ma ktos jakis patent na to, jakis tutorial?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 gru 2014, o 14:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 maja 2013
Posty: 432
Lokalizacja: Gostyń / Poznań
Pomógł: 25

A pokaż co dopisales w tym pliku boards.txt

I czy to wszystko co ci wywaliło z avrdude? Może tam coś jest jeszcze napisane co mogłoby pomóc...

_________________
Podpis...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 gru 2014, o 22:32 
Offline
Użytkownik

Dołączył(a): 20 paź 2014
Posty: 91
Pomógł: 0

Ogolnie to posiłkowałem się tym tematem.
http://majsterkowo.pl/forum/programowan ... -t280.html
Tak jak jest w pierwszym poscie tak tez zrobilem.

Pozniej równiez probowałem zrobic wg tego tematu.
http://majsterkowo.pl/forum/post18925.html#p18925
Czyli najpierw dopisałem:
Kod:
majsterkowo_atmega8a.name=ATmega8a @ 8 MHz

majsterkowo_atmega8a.upload.maximum_size=7168
majsterkowo_atmega8a.upload.using=arduino:arduinoisp

majsterkowo_atmega8a.bootloader.low_fuses=0xe4
majsterkowo_atmega8a.bootloader.high_fuses=0xc4
majsterkowo_atmega8a.bootloader.path=atmega
majsterkowo_atmega8a.bootloader.file=ATmegaBOOT_8.hex
majsterkowo_atmega8a.bootloader.unlock_bits=0x3F

majsterkowo_atmega8a.build.mcu=atmega8
majsterkowo_atmega8a.build.f_cpu=8000000L
majsterkowo_atmega8a.build.core=arduino
majsterkowo_atmega8a.build.variant=standard


a pozniej dodatkowo to:
Kod:
atmega8A_moj.name=ATmega8A_moj (internal 1 MHz)
atmega8A_moj.bootloader.low_fuses=0xe4
atmega8A_moj.bootloader.high_fuses=0xd9
atmega8A_moj.upload.maximum_size=8192
atmega8A_moj.build.mcu=atmega8
atmega8A_moj.build.f_cpu=8000000L
atmega8A_moj.build.core=arduino
atmega8A_moj.build.variant=standard


błedy jakie sie pojawiały podczas proby wypalenia bootloadera to:

Kod:
avrdude: stk500_getsync(): not in sync: resp=0x30

Kod:
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
         Double check chip, or use -F to override this check.

Kod:
avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 gru 2014, o 12:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 maja 2013
Posty: 432
Lokalizacja: Gostyń / Poznań
Pomógł: 25

Cytuj:
The device is shipped with CKSEL = “0001” and SUT = “10” (1MHz Internal RC Oscillator,
slowly rising power).


to z datasheetu...
a ty masz w projekcie ustawione 8Mhz... zmieniales juz z 1Mhz na 8? jak nie to popatrz na to i zwolnij w programatorze...

popatrz tu http://majsterkowo.pl/forum/programowan ... -t280.html
post @Mateusza88

Cytuj:
1) Do pliku boards.txt dodaj wpis:
Kod: Zaznacz cały
atmega8L.name=ATmega8L-8PU (internal 1 MHz)
atmega8L.bootloader.low_fuses=0xe1
atmega8L.bootloader.high_fuses=0xd9
atmega8L.upload.maximum_size=8192
atmega8L.build.mcu=atmega8
atmega8L.build.f_cpu=1000000L
atmega8L.build.core=arduino
atmega8L.build.variant=standard

2) Z menu Tools > Board wybierz ATmega8L-8PU (internal 1 MHz)
3) Tools > Programmer > Arduino as ISP
4) Podłącz według schematu http://arduino.cc/en/uploads/Tutorial/S ... ardAVR.png
5) Kliknij Burn Bootloader

_________________
Podpis...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 gru 2014, o 19:11 
Offline
Użytkownik

Dołączył(a): 20 paź 2014
Posty: 91
Pomógł: 0

Chodzi o tę linię?
Kod:
majsterkowo_atmega8a.build.f_cpu=8000000L


Ja już to zmieniałem, po prostu wkleiłem po zmianach kod. Kombinowałem już na różny sposób stąd 8MHz.

Nie wiem co zrobić, żeby zaprogramować tę kostkę za pomocą ArduinoUNO:(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 gru 2014, o 19:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 maja 2013
Posty: 432
Lokalizacja: Gostyń / Poznań
Pomógł: 25

Zauważ że poza f_cpu zmieniają się też fuse bity...

_________________
Podpis...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 gru 2014, o 20:01 
Offline
Użytkownik

Dołączył(a): 20 paź 2014
Posty: 91
Pomógł: 0

Tak, ja wgrywałem to co mi wysłałeś z majsterkowa. Ogolnie generowałem później też fusebity z tej strony http://www.engbedded.com/fusecalc

Także nie wiem czemu mam tak problem;/


Robię identycznie jak mi podesłałeś z tymi ustawieniami. i....
Kod:
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.


Najpierw wgrywam arduino program arduinoISP, board-> ArduinoUNO, programator AVRISP mkll, wgrywam program.
Później wybieram board - >ATmega8L-8PU (internal 1 MHz) i programator -> ArduinoISP
Wypal bootloader.

<bezradny>



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 gru 2014, o 00:36 
Offline
Użytkownik

Dołączył(a): 20 paź 2014
Posty: 91
Pomógł: 0

Okej chyba rozwiązałem mój problem.
Dołączyłem do programowanej atmegi8A kwarc 16MHz taki jak na arduino i udało się wypalić bootloader bez programu.
Później można wybierać sobie z jakim taktowaniem chcemy wgrac program tak jak było opisane we wczesniejszych postach i nie jest potrzebny zewnetrzny kwarc.

Czy do Atmegi 8A mozna podłączyć zewnetrzny kwarc 16MHz i bedzie działało? Czy dla Atmegi8A 8MHz to maks?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 gru 2014, o 10:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 maja 2013
Posty: 432
Lokalizacja: Gostyń / Poznań
Pomógł: 25

Wedlug pierwszej strony datasheetu mozna taktowac 16Mhz ale jak zajrxysz dalej to pewnie pod warunkiem ze zasilasz z 5v

_________________
Podpis...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO