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



Teraz jest 15 lut 2025, o 22:37


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 29 lut 2016, o 20:18 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 28 cze 2015
Posty: 4
Pomógł: 0

Witam,
mam z pozoru prosty problem. Jednak jego rozwiązanie przerosło moje zdolności. By zrozumieć co chcę uzyskać:
Chcę mieć możliwość programowania avr (głównie Atmega8A) poprzez środowisko Arduino IDE z użyciem programatora USBasp.
Dwa dni nad tym przesiedziałem i nie udało mi się dopiąć celu (serio...) i jestem załamany.
Atmega8A, ustawiona na internal RC oscillator (8MHz) + 64ms, programator podłączony normalnie (MISO,MOSI, SCK + reset, gdn i vcc),
(używając khazama programmer i programmers notepad wszystko działa poprawnie - mogę programować ustawiać fuse i lock bity etc)





Od lat używam do programowania avr'ków programatora USBasp oraz sterowników pobranych z http://www.fischl.de/usbasp/
Obrazek
Do kodzenia używałem w zasadzie tylko Programmers Notepad, a do ustawiania fuse i lock bitów taki mały programik Khazama programmer.
Z oczywistych powodów chciałbym móc używać arduino IDE by ułatwić sobie życie, ale jednocześnie muszę mieć możliwość programowania moich własnych polutowanych AVRków.

(Parę płytek podrobionych chińskich Arduino Uno też mam i to akurat ogarnąłem)


Jak więc te cholerstwo zmusić by chciało oprogramować zwykłego blinka na atmege8A poprzez ten USBasp (nie używając bootloadera)?


1. Próbowałem pobierać chyba ze trzy lub cztery różne wersje z netu plików 'boards'... grzebałem w tym 'platforms'
2. Za każdym razem zarówno poprzez opcję 'wgraj przez programator' jak i bezpośrednio klikając upload nie łączy się, wywala różne błędy
3. By zrobić porządek odinstalowałem i zainstalowałem spowrotem Arduino IDE, więc mam 'czystą' kopię i czekam na porady.

_________________
Trust me... I'm an engineer!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lut 2016, o 20:36 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8605
Pomógł: 337

no ale jaki masz kolego problem ??

w menu jest opcja wgraj programatorem :P
a mega8 jest i wystarczy wybrać płytkę arduino NG or older

Obrazek

i używasz .... CTRL+Shift+U

Oczywiście wymaga to podłączenia ISP i nie trzeba bootloadera ...
możesz też po kompilacji użyć : CRTL+ALT+S i sobie wyexportować plik HEX i wgrać
do procka np mkCalkulatorem


i po kłopocie :P


Autor postu otrzymał pochwałę

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lut 2016, o 20:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Pokaż jakie masz błędy. Bo wróżki ze szklaną kulą nie mamy na etacie na forum :(

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lut 2016, o 20:46 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8605
Pomógł: 337

rskup napisał(a):
mamy na etacie na forum


mamy ...
taka różowa ...

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lut 2016, o 20:48 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 28 cze 2015
Posty: 4
Pomógł: 0

Robiąc jak napisał SunRiver:

(szkic 'blink' z przykładów)

Kod:
Szkic używa 830 bajtów z (11%) pamięci programu. Maksimum to 7 168 bajtów.
Globalne zmienne używają 9 bajtów z (0%) dynamicznej pamięci, pozostawiając 1 015 bajtów dla lokalnych zmiennch. Maksimum to  1 024 bajtów.
avrdude: verification error, first mismatch at byte 0x0000
         0x00 != 0x3a
avrdude: verification error; content mismatch


za drugim razem już:

Kod:
Szkic używa 830 bajtów z (11%) pamięci programu. Maksimum to 7 168 bajtów.
Globalne zmienne używają 9 bajtów z (0%) dynamicznej pamięci, pozostawiając 1 015 bajtów dla lokalnych zmiennch. Maksimum to  1 024 bajtów.
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.

_________________
Trust me... I'm an engineer!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lut 2016, o 20:51 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8605
Pomógł: 337

wyłącz weryfikację w opcjach -- w tym najnowszym arduinoIDE mogą być skopane już te starsze wersje

uwaga .... atmega 8 fusy 8Mhz standardowo


zobacz to topic5572.html

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lut 2016, o 21:19 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 28 cze 2015
Posty: 4
Pomógł: 0

@up-
co rozumiesz przez
Cytuj:
uwaga .... atmega 8 fusy 8Mhz standardowo
?

Bo może to jest problemem. Jak w opcjach wyłączyłem weryfikację (checkbox, chyba, że gdzieś jeszcze to inaczej można wyłączyć to i tak lipa. Włączyłem by pokazywał szczegóły.

Wygląda na to, że program wgrywa, ale... nie działa i nadal ten błąd od weryfikacji:

Kod:
avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : usb
         Using Programmer              : usbasp
         AVR Part                      : ATmega8
         Chip Erase delay              : 10000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom         4    20   128    0 no        512    4      0  9000  9000 0xff 0xff
           flash         33    10    64    0 yes      8192   64    128  4500  4500 0xff 0x00
           lfuse          0     0     0    0 no          1    0      0  2000  2000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  2000  2000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  2000  2000 0x00 0x00
           calibration    0     0     0    0 no          4    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: auto set sck period (because given equals null)
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9307
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: auto set sck period (because given equals null)
avrdude: reading input file "C:\Users\JMICKI~1\AppData\Local\Temp\build3f3ee8dbdcbca54c78e77c4282428dd7.tmp/sketch_feb29a.ino.hex"
avrdude: writing flash (830 bytes):

Writing | ################################################## | 100% 0.34s

avrdude: 830 bytes of flash written
avrdude: verifying flash memory against C:\Users\JMICKI~1\AppData\Local\Temp\build3f3ee8dbdcbca54c78e77c4282428dd7.tmp/sketch_feb29a.ino.hex:
avrdude: load data flash data from input file C:\Users\JMICKI~1\AppData\Local\Temp\build3f3ee8dbdcbca54c78e77c4282428dd7.tmp/sketch_feb29a.ino.hex:
avrdude: input file C:\Users\JMICKI~1\AppData\Local\Temp\build3f3ee8dbdcbca54c78e77c4282428dd7.tmp/sketch_feb29a.ino.hex contains 830 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.24s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
         0x00 != 0x3a
avrdude: verification error; content mismatch

avrdude done.  Thank you.

_________________
Trust me... I'm an engineer!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lut 2016, o 21:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

A nie masz czegoś dodatkowego podpiętego pod linie ISP?
Przetestuj jak dasz wolniejszą częstotliwość dla SCK - dodanie do avrdude parametru -Bvalue, np. -B8

--
Pozdrawiam,
Robert


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lut 2016, o 21:32 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 28 cze 2015
Posty: 4
Pomógł: 0

Jest progres, bo udało się wgrać blinka (weryfikacja też OK) - na tym ustawieniu 'NG or older.
Ale coś nie halo z częstotliwością procka, bo delay1000 trwa na oko 2sekundy (tak jakby procek pracował dwa razy wolniej.

A fusebity tak:
Obrazek


Edit:
Przyczyną problemów z wgraniem programu był najprawdopodobniej regulator napięcia (chińska podróbka lm7805), przepiąłem układ na zasilanie z programatora i poszło.
Nie dam sobie ręki uciąć, ale na to wygląda (dziwne bo nigdy nie spotkałem takiego problemu).


Edit2: już hula, zmieniłem parametr w pliku boards... ale nie zrestartowałem arduino ide.... zamknięcie/ponowne otwarcie i wgranie i jest OK.

_________________
Trust me... I'm an engineer!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 mar 2016, o 13:03 
Offline
Użytkownik

Dołączył(a): 12 sty 2015
Posty: 80
Lokalizacja: Grudziądz
Pomógł: 2

saikomiki - Jak masz ATmegę 8 to się nie męcz z tym kocim programem do ustawienia fusów!

http://atnel.pl/mkavrcalculator.html - wersja FREE obsługuje ATmega8, ATtiny2313, ATmega128 a także ATmega162.



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: 10 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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