Programowanie Mikrokontrolerów w AVRDude


10
Ocena: None Średnia: 10 (4 głosujących)

Artykuł ten ma rozjaśnić programowanie mikrokontrolerów AVR w programie AVRDude, ten darmowy i znakomity program obsługuje wiele programatorów (np. USBAsp, STK200/300, STK500, Bascom SAMPLE Cable itp) a ponadto jest darmowy i pracuje bezproblemowo pod Linuxem i Windowsem, co jest jego ogromną zaletą. AVRDude jest programem konsolowym (tekstowym) jednak posiada wiele nakładek graficznych ułatwiających pracę.

1. Instalacja AVRdude i praca w trybie tekstowym

AVRDude pod Windowsem nie wymaga instalacji a jedynie ściągnięcia i rozpakowania archiwum do określonego folderu (najlepiej C:\Program Files\avrdude). Wersja której ja używam (5.5) znajduje się tutaj, natomiast najnowszych wersji można poszukać na stronie http://mirror.lihnidos.org/GNU/savannah/avrdude/ . Pod Linuxem instalacja sprowadza się do zainstalowania specjalnej paczki dla mikrokontrolerów AVR (przynajmniej tak jest pod ArchLinux i Ubuntu). Dalsza część opisu dotyczyć będzie pracy pod Windowsem, gdyż pod systemem Linux ten tryb pracy jest wszystkim dobrze znany a komendy w konsoli dla AVRDude są identyczne.

Uruchamiamy konsolę wpisując cmd w linii poleceń (Start->Uruchom) i przechodzimy do folderu w którym mamy AVRDude (domyślnie jest to C:\Program Files\avrdude). Powinno to wyglądać tak:

Jesteśmy teraz przygotowani do pracy. Po wpisaniu w konsoli avrdude bez żadnych parametrów program wyrzuca listę dostępnych poleceń:

C:\Program Files\avrdude>avrdude
Usage: avrdude [options]
Options:
  -p <partno>                Required. Specify AVR device.
  -b <baudrate>              Override RS-232 baud rate.
  -B <bitclock>              Specify JTAG/STK500v2 bit clock period (us).
  -C <config-file>           Specify location of configuration file.
  -c <programmer>            Specify programmer type.
  -D                         Disable auto erase for flash memory
  -i <delay>                 ISP Clock Delay [in microseconds]
  -P <port>                  Specify connection port.
  -F                         Override invalid signature check.
  -e                         Perform a chip erase.
  -O                         Perform RC oscillator calibration (see AVR053).
  -U <memtype>:r|w|v:<filename>[:format]
                             Memory operation specification.
                             Multiple -U options are allowed, each request
                             is performed in the order specified.
  -n                         Do not write anything to the device.
  -V                         Do not verify.
  -u                         Disable safemode, default when running from a script.
  -s                         Silent safemode operation, will not ask you if
                             fuses should be changed back.
  -t                         Enter terminal mode.
  -E <exitspec>[,<exitspec>] List programmer exit specifications.
  -y                         Count # erase cycles in EEPROM.
  -Y <number>                Initialize erase cycle # in EEPROM.
  -v                         Verbose output. -v -v for more.
  -q                         Quell progress output. -q -q for less.
  -?                         Display this usage.
 
avrdude project: <URL:http://savannah.nongnu.org/projects/avrdude>

Wykonujemy teraz proste polecenie pozwalające na sprawdzenie komunikacji między procesorem a komputerem:

avrdude -c usbasp -p t2313

Oczywiście uprzednio programator musi być podłączony do komputera a procesor do programatora. Zasilanie całości musi być włączone (procesora i ewentualnie programatora jeśli tego wymaga). Polecenie to nie wgrywa nic do procesora ale odczytuje jego sygnaturę, co pozwala sprawdzić czy komunikacja przebiega prawidłowo. Składnia tego polecenia wygląda następująco:

avrdude -c {programator} -p {typ procesora}

Nazwy kodowe procesorów i programatorów jakie obsługuje AVRDude przedstawione są na końcu tego rozdziału. Gdy programator jest podłączony do komputera i procesor ma podłączone zasilanie to powinniśmy otrzymać następujący wynik:

avrdude: AVR device initialized and ready to accept instructions
 
Reading | ################################################## | 100% 0.00s
 
avrdude: Device signature = 0x1e910a
 
avrdude: safemode: Fuses OK
 
avrdude done.  Thank you.

gdy natomiast występuje problem z komunikacją to dostaniemy następujący komunikat:

avrdude: error: programm enable: target doesn't answer. 1
avrdude: AVR device initialized and ready to accept instructions
 
Reading | ################################################## | 100% 0.02s
 
avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.

Jeśli otrzymujesz dowolny komunikat o błędzie to nie wykonuj dalszych poleceń bo jest to bez sensu. Jeśli natomiast wszystko przebiega zgodnie z opisem to można przystąpić do wgrywania programu to mikrokontrolera. Odczyt programu z pamięci mikrokontrolera do pliku *.hex następuje po wykonaniu polecenia:

avrdude -c usbasp -p t2313 -U flash:r:program.hex

Natomiast zapis programu z pliku *.hex do pamięci mikrokontrolera dokonujemy za pomocą:

avrdude -c usbasp -p t2313 -U flash:w:program.hex

Możliwe jest jeszcze ustawienie fusebitów z poziomu konsoli tekstowej ale nie zalecam tej metody(o wiele łatwiej dokonać tego w programie graficznym) gdyż nie jest to zadanie dla początkujących. Jednak gdyby ktoś bardzo chciał to można dokonać ustawień za pomocą komendy:

avrdude -c usbasp -p t2313 -U hfuse:w:0x{wartość}:m -U lfuse:w:0x{wartość}:m 

Gdzie pola wartość to liczby heksadecymalne przedstawiające stan rejestrów hfuse i lfuse mikrokontrolera. Wartości te można obliczyć na podstawie karty katalogowej mikrokontrolera(ale to tylko dla ambitnych)

Poniżej przedstawione są programatory obsługiwane przez AVRDude:

dasa3 = serial port banging, reset=!dtr sck=rts mosi=txd miso=cts
dasa = serial port banging, reset=rts sck=dtr mosi=txd miso=cts
siprog = Lancos SI-Prog
ponyser = design ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts
frank-stk200 = Frank STK200
blaster = Altera ByteBlaster
ere-isp-avr = ERE ISP-AVR
atisp = AT-ISP V1.1 programming cable for AVR-SDK1 from
dapa = Direct AVR Parallel Access cable
xil = Xilinx JTAG cable
futurlec = Futurlec.com programming cable.
abcmini = ABCmini Board, aka Dick Smith HOTCHIP
picoweb = Picoweb Programming Cable, http://www.picoweb.net/
sp12 = Steve Bolt's Programmer
alf = Nightshade ALF-PgmAVR, http://nightshade.homeip.net/
bascom = Bascom SAMPLE programming cable
dt006 = Dontronics DT006
pony-stk200 = Pony Prog STK200
stk200 = STK200
bsd = Brian Dean's Programmer, http://www.bsdhome.com/avrdude/
pavr = Jason Kyle's pAVR Serial Programmer
dragon_dw = Atmel AVR Dragon in debugWire mode
dragon_hvsp = Atmel AVR Dragon in HVSP mode
dragon_pp = Atmel AVR Dragon in PP mode
dragon_isp = Atmel AVR Dragon in ISP mode
dragon_jtag = Atmel AVR Dragon in JTAG mode
jtag2dw = Atmel JTAG ICE mkII in debugWire mode
jtag2isp = Atmel JTAG ICE mkII in ISP mode
jtag2 = Atmel JTAG ICE mkII
jtag2fast = Atmel JTAG ICE mkII
jtag2slow = Atmel JTAG ICE mkII
jtagmkII = Atmel JTAG ICE mkII
jtag1slow = Atmel JTAG ICE (mkI)
jtag1 = Atmel JTAG ICE (mkI)
jtagmkI = Atmel JTAG ICE (mkI)
avr911 = Atmel AppNote AVR911 AVROSP
avr109 = Atmel AppNote AVR109 Boot Loader
butterfly = Atmel Butterfly Development Board
usbasp = USBasp, http://www.fischl.de/usbasp/
avr910 = Atmel Low Cost Serial Programmer
stk500hvsp = Atmel STK500 V2 in high-voltage serial programming mode
stk500pp = Atmel STK500 V2 in parallel programming mode
stk500v2 = Atmel STK500 Version 2.x firmware (DualAVR)
stk500v1 = Atmel STK500 Version 1.x firmware
stk500 = Atmel STK500
avrisp2 = Atmel AVR ISP mkII
avrispmkII = Atmel AVR ISP mkII
avrispv2 = Atmel AVR ISP V2
avrisp = Atmel AVR ISP

oraz nazwy procesorów używane przez AVRDude:

m6450 = ATMEGA6450
m3250 = ATMEGA3250
m645 = ATMEGA645
usb1287 = AT90USB1287
usb1286 = AT90USB1286
usb647 = AT90USB647
usb646 = AT90USB646
t84 = ATtiny84
t44 = ATtiny44
t24 = ATtiny24
m2561 = ATMEGA2561
m2560 = ATMEGA2560
m1281 = ATMEGA1281
m1280 = ATMEGA1280
m640 = ATMEGA640
t85 = ATtiny85
t45 = ATtiny45
t25 = ATtiny25
pwm3 = AT90PWM3
pwm2 = AT90PWM2
t2313 = ATtiny2313
m168 = ATMEGA168
m88 = ATMEGA88
m48 = ATMEGA48
t861 = ATTINY861
t461 = ATTINY461
t261 = ATTINY261
t26 = ATTINY26
m8535 = ATMEGA8535
m8515 = ATMEGA8515
m8 = ATMEGA8
m161 = ATMEGA161
m32 = ATMEGA32
m6490 = ATMEGA6490
m649 = ATMEGA649
m3290 = ATMEGA3290
m329 = ATMEGA329
m169 = ATMEGA169
m163 = ATMEGA163
m162 = ATMEGA162
m644 = ATMEGA644
m324 = ATMEGA324
m164 = ATMEGA164
m16 = ATMEGA16
c128 = AT90CAN128
m128 = ATMEGA128
m64 = ATMEGA64
m103 = ATMEGA103
8535 = AT90S8535
8515 = AT90S8515
4434 = AT90S4434
4433 = AT90S4433
2343 = AT90S2343
2333 = AT90S2333
2313 = AT90S2313
4414 = AT90S4414
1200 = AT90S1200
t15 = ATtiny15
t13 = ATtiny13
t12 = ATtiny12
t11 = ATtiny11

2. Instalacja i Konfiguracja Burn-O-Mat'a

AVRDude jest bardzo dobrym programem jednak jego obsługa z poziomu konsoli tekstowej może wydawać się skomplikowana. Dlatego wykorzystuje się nakładki graficzne na AVRDude (programy generujące polecenia dla AVRDude) ułatwiające pracę z tym programem. Jedną z nich jest Burn-O-Mat, polecam go ponieważ obsługa jest bardzo intuicyjna a ustawienia Fusebitów banalne. Program można pobrać tutaj. Znajduje się tam wersja w postaci instalatora Windows albo spakowany program w formacie *.zip (Ta wersja działa również pod Linuxem a uruchamianie następuje poprzez znajdujący się tam skrypt powłoki, lub bezpośrednio z konsoli za pomocą Java). Program Burn-O-Mat napisany jest w Javie, więc wymaga zainstalowania pakietu JRE (http://java.sun.com/javase/downloads/index.jsp).

Po zainstalowaniu lub wypakowaniu programu, uruchamiamy go, powinno to wyglądać jak na rysunku poniżej:



Zanim zaczniemy programować mikrokontroler musimy dokonać kilku ustawień w menu Settings->AVRDUDE (bez tego nic nie zaprogramujemy), ale o tym za chwilę. W głównym oknie znajduje się jeszcze pole do wyboru typu mikrokontrolera AVR Type i przycisk wywołujący okno ustawień jego fusebitów (Fuses), jednak o tym powiemy na samym końcu. Tutaj znajdują się jeszcze funkcje umożliwaijące zaprogramowanie pamięci programu (Flash) i pamięci EEPROM mikrokontrolera. Aby zaprogramować procesor wystarczy wybrać plik *.hex z dysku za pomocą przycisku File i kliknąć przycisk Write, weryfikacja poprawności zapisanych danych odbywa się po wciśnięciu Verify, a odczyt danych z mikrokontrolera po klinięciu Read. Analogicznie sprawa wygląda podczas programowania pamięci EEPROM, tylko że służą do tego odpowiednie przyciski w sekcji EEPROM, a dodatkowo można też wgrywać plik *.eep wygenerowany przez Bascom'a. Główne okno programu zawiera jeszcze pole tekstowe, w którym można podglądać parametry z jakimi program Burn-O-Mat wywołuje AVRDude i jego odpowiedzi.

Ustawień programu, jak już wcześniej mówiłem dokonujemy wybierając z menu Settings->AVRDUDE, musimy tego dokonać zanim przystapimy do programowania. Okno ustawień wygląda następująco:



Na samym początku wybieramy ścieżkę dostępu do programu AVRDude (avrdude.exe) i do jego pliku konfiguracyjnego (avrdude.conf), po czym klikamy Apply i uruchamiamy ponownie program Burn-O-Mat aby mogły się wczytać ustawienia i typy programatorów z pliku konfiguracyjnego AVRDude. Po ponownym uruchomieniu programu wchodzimy do ustawień i tym razem konfigurujemy typ programatora (Programmer) i port do którego jest podłączony (nie wszystkie programatory wymagają ustawienia portu, np USBASP, którego sam używam tego nie wymaga). Poniższe opcje, możliwe do zaznaczenia, pozostawiamy odznaczone (tak jak na rysunku wyżej). Na samym dole mamy jeszcze możliwość dopisać ręcznie do AVRDude dodatkowe parametry wywołania (additional options), jednak pozostawmy to pole puste, gdyż nie jest to wymagane. Po tych czynnościach klikamy Apply okceptując ustawienia.

W oknie głównym programu za pomocą przycisku Fuses przechodzimy do ustawień fusebitów (bitów konfiguracyjnych) mikrokontrolera. Widzimy następujące okno:

U góry okna począwszy od lewej mamy przyciski umożliwiające: Odczyt fusebitów (read fuses), Zapis fusebitów (write fuses), weryfikacje ustawień (verify fuses) oraz Reset do wartości domyślnych (reset to default). Poniżej znajdują się zakładki umożliwiające ustawienie Fusebitów różnymi sposobami, nas bedzie interesowała pierwsza zakładka (Fuse Editor) pozwalająca konfigurować pojedyńcze bity i ewentualnie druga (Fuse Hex Editor) pozwalająca wpisywać wartości szesnastkowo. Zakładki te są ze sobą powiązane i zmiana wartości w jednej zmienia wartości w drugiej. Na zakładce pierwszej widzimy tabelkę z pojedyńczymi bitami, tych zaznaczonych na czerwono nie można przestawiać, gdyż nieumiejętne wpisanie złej wartości może zablokować dalszą możliwość programowania procesora (zmiana trybu Mode:normal na Mode:expert u góry okna pozwala ustawiać wszystko). Tabela z bitami konfoguracyjnymi jest dla każdego mikrokontrolera inna a dokładny opis wszystkich bitów znajduje się w karcie katalogowej danego mikrokontrolera. Podstawowe ustawienia dla najczęściej używanych mikrokontrolerów przedstawiłem w opisie tutaj. Należy pamiętać że zaprogramowany bit to bit o wartości 0, czyli zaznaczenie "ptaszkiem" bitu nadaje mu wartość 0 (jest to napisane w programie pod tabelką). Dla przykładu gdy mamy ustawić np. CKSEL=0100, SUT=10 i CKDIV8=0 to znaczy że zaznaczmy bity CKSEL0, CKSEL1, CKSEL3, SUT0, CKDIV8 a odznaczmy CKSEL2 i SUT1 (widok powyżej na zdjęciu)

Konfigurację Fusebitów dobrze jest wykonać w następującej kolejności: Najpierw odczytujemy wcześniejsze ustawienia za pomocą przycisku read fuses, potem jeśli operacja nie wygeneruje błędów to ustawiamy żądane wartości, na samym końcu klikamy write fuses. Należy pamiętać, że jeśli ustawimy sobie taktowanie (za pomocą bitów CKSEL) z zewnętrznego rezonatora kwarcowego to po kliknięciu write fuses procesor nie ruszy dopuki nie podłączymy takiego kwarca.


3. Konfiguracja Bascom AVR do współpracy z AVRDude

Pod Windowsem istnieje możliwość współpracy programu Bascom AVR z AVRDude. Aby to zrobić wykonujemy następujące czynności. Aby to zrobić wchodzimy do ustawień programatora w Bascomie (Options->Programmer). Okno ustawień powinno wyględać jak na rysunku poniżej:

W polu Programmer wybieramy Extrenal programmer. W części Other w polu Program wybieramy scieżkę do AVRDude, w polu Parameter wpisujemy:

"avrdude" -p m8 -c usbasp -U flash:w:"{FILE}":a -U flash:v:"{FILE}":a

oczywiście m8 jest typem aktualnie programowanego mikrokontrolera, a zamiast usbasp musimy podać nazwę naszego programatora (analogicznie jak jest to opisane w rozdziale pierwszym). Drobną niedogodnością jest konieczność przestawiania w opcjach Bascom'a typu mikrokontrolera na ten który aktualnie programujemy za każdym razem kiedy piszemy program pod inny mikrokontroler niż ostatnio, oraz tym sposobem nie są programowane Fusebity ani pamięć EEPROM mikrokontrolera. Mimo wszystko taka konfiguracja jest bardzo przydatna podczas testów nad nowym projektem, lub gdy programujemy płytke testową (wielokrotne programowanie tylko pamięci programu), bo pozwala w kilka sekund wrzucić program do procesora nie wychodząc z okna Bascoma (tylko na początku trzeba ustawić Fusebity w Burn-O-Mat).




Portret użytkownika Krzysztof

DualAVR- nazwa w AVRDude ?

Mój programator to DualAVR. Nie znalazłem w opisie, dlatego pytam- jakie oznaczenie ma on w AVRDude ?

-

Nowicjusz :)

Portret użytkownika mirley

Re: Programator

Spróbuj daś stk500 lub stk500v2 a jak nie pójdzie to musisz mi dać linka do dokumentacji tego twojego programatora bo go nie znam niestety

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika wilus14

programowanie w AVRdude

Ja też programuje w AVRdude ale z nakładką graficzna i zawsze mam problem z fusebitami,aby ustawić proca na wewnętrzne 1Mhz wpisuje w hfuse D9 i w ifuse E1,
kwarc 2Mhz kolejno Hf D9 w If E2 , kwarc 4Mhz Hf D9 If E3, kwarc 8Mhz to Hf D9 If D4. a co z zewnętrznymi kwarcami np 12Mhz 16mhz itd jeżeli ktoś wie co gdzie wpisać to prosiłbym o pomoc:)

Portret użytkownika mirley

AVRdude

Bo masz do kitu nakładkę graficzną... zainstaluj sobie burn-o-mat'a według opisu powyżej i nie będziesz miał problemu z Fusebitami. Wpisywanie fusebitów szesnastkowo to chory pomysł szczególnie że wszystkie wartości w kartach katalogowych są podawane binarnie, bit po bicie. Burn-o-Mat umożliwia ustawianie każdego bitu z osobna i nie trzeba nic przeliczać. Tutaj masz większość ustawień w postaci binarnej

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Krzysztof

DualAVR- dokumentacja.

Witam. Długo mnie nie było, wróciłem ale problem pozostał. Próbowałem w komendzie uzyć stk500 lub stk500v2 lecz otrzymałem komunikat:

avrdude: stk500_2_ReceiveMessage<>: timeout 

Link do dokumentacji: http://www.speedyshare.com/388315856.html

P.S.

Mam założoną zworkę numer 3.

Edycja:

Super !! Udało mi się. Zagłębiłem się w dokumnetację i znalazłem. Moim problemem było to, że brakowało mi jednego pliku oraz zworki. Teraz wszystko działa. Jednak elektronika nie jest taka "trudna". Pamiętam jak wszyscy na elektrodzie pisali, że w dokumentacji wszystko jest- teraz potwierdzam :)

Taka mała prośba do Ciebie- jeśli możesz na liście dopisz DualAVR- stk500v2, ponieważ może ktoś będzie również miał problem z identyfikacją tego programatora w avrdude.

Pozdrawiam

EDYCJA :(

Zostawiłem programatora na chwile i coś się popsuło. Teraz już nie mam dostępu podczas komendy destowej dostaje odpowiedź o braku dostepu do com1 :/ Jak możesz to rzuć okiem na plik i powiedz jak dokładniej skonfigurować burn o mat ponieważ teraz już nic nie działa :/ Wysyłam plik na flash i nie mogę. Czy jest tu opcja aby zresetować chip, ponieważ po ostatnim zaprogramowaniu nie czyściłem go ?

-

Nowicjusz :)

Portret użytkownika Kamil

Mirley, wysłałem ci na

Mirley, wysłałem ci na e-maila zrzut konsoli cmdktóra "wypluwa" mi dziwne informacje odnośnie AVRdude. Proszę o pomoc.

-

Są ludzie i parapety, ale żeby klamką się urodzić to jest sztuka.

Portret użytkownika mirley

Re: AVRDUDE

Podczas wywoływania avrdude musisz byc w folderze w którym sie on znajduje a nie gdzieś gdzie Ci sie cmd otworzył. Przejdź za pomoca polecenia "cd ścieżka" do odpowiedniego folderu i potem wywołuj avrdude.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Krzysztof

Przepraszam za zamieszanie.

Mirley-u możesz mi pomóc ? Nie wiem co się dzieje :/ Zaczynam wszystko od początku. W tym poście jeśli Ci to nie przeszkadza będe wklejał pytania, na które nie znam odpowiedzi, może tak w końcu uda mi się zrobić wszystko tak jak być powinno.

1. Jak powinien być zainstalowany DualAVR ze sterownikami czy HID ?

-

Nowicjusz :)

Portret użytkownika mirley

Re: Pytania

Załóż sobie nowy temat na forum na temat programator Dual AVR, bo to nie jest miejsce dla niego. Edycja postów według zasad tak jak wszędzie gdy odpowiedź jest napisana edycja jest zabroniona...

...Nie znam Dual AVR ale wydaje mi się że jest to inna wersja USBaspa tego co mam na stronie.... Jeśli dostałes sterowniki razem z programatorem to postępuj według instrukcji i wszystko pójdzie. STK500 to programator na COM'a więc raczej będą sterowniki, jednak mogę sie mylić... Ja za każdym razem polecam USBASPA.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Krzysztof

Dziwna sytuacja.

Dziwne, ponieważ używając komendy z instrukcji do programatora DualAVR wyświetla mi się poprawny komunikat ( ten o sprawdzeniu łącznośći ) jednak w bezpośrednio w konsolce cmd tak jak ty pokazujesz - timeout.

Wiesz, może w czym rzecz ?

Zamieszam zrzut konsolki. Dodam, że burn o mat wyświetla błędne komunikaty podczas zapisywania jak i odczywtywania np. fuseów lub wgrywaniu hexa. Natomiast ta nakładka avrdoper- nie otwiera się.

http://img200.imageshack.us/i/zrzutcmd.png/

Nakładka avrdoper działa, a burn o mat już nie. Co mam zrobić w tej sytuacji ?

-

Nowicjusz :)

Portret użytkownika mirley

Re: Programownie

Ja testowałem działanie dla USBASPa.... może inne programatory poprostu muszą mieć podane w parametrach orty na których pracują. Popatrz czy po dołączeniu programatora nie pojawia die nowy wirtualny COM. Wybierz port w ustawieniach burn-o-mat na taki jaki pojawia się po dołączeniu programatora.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Krzysztof

Zrobię USBASP.

Zrobiłem to co mówiłeś i nic. Nie wiem o co chodzi. Zresztą jakiś dziwny ten programator, nawet w internecie mało co piszę na jego temat. Według mnie zamiast męczyć się lepiej będzie jeśli zrobię USBASP :) Przy okazji podszkolę zdolnośći manualne.

-

Nowicjusz :)

Portret użytkownika gosc

Kto pytanie..... rozwiazuje

Kto pytanie..... rozwiazuje problemy, wiec znowu ja.
Folder z odpowednią zaatośćia AVRDUDE jest w program files.
Do progamowania Atmegi16 używam kabelka programującego LPT Twojej konstrukcji i jak w CMD wydam taką komędę:
C:\Program Files\avrdude>avrdude -c bascom -p m16

wyskakuje taki błąd.

Co to może być? BASCOM komunikuje się kabelkiem z uC.

1. jak w koncoli nie mogę się połaczyć z uC, to BURN też nie będzie działał?
2. wczytując w BASCOM plik BIN, to pogamujęc EEPROM, czy FLASH - pytaniem wyprzedzam fakt, że nie wiem w DUDE, czy będe miał wczytać plik do EEPROM, czy właśni FLASH

Portret użytkownika mirley

Re: Programowanie

komenda dobra ale spróbuj dodać jeszcze opcje "-P lpt" która powinna ustawić że ten programator jest na LPT. To co Ci wyskoczyło dotyczy USB i nie powinno się pojawić. Burn-o-mat działa za pomocą avrdude, jeśli w konsoli nie pójdzie to nie masz co kombinować z burn-o-mat bo to strata czasu.

2. polecenie -U flash:w:program.hex wgrywa flash, jeśli chcesz eeprom to słowo flash będziesz musiał zamienić na eeprom. Składnia -U jest nastepująca (typ pamięci):(r,w,v):(plik)

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Farmi18

Komenda: gdzie mam wstawic

Komenda:
gdzie mam wstawic to.... "-P lpt"?
W każdym razie:
C:\Program Files\avrdude>avrdude -c bascom -p m16 -P lpt
albo
C:\Program Files\avrdude>avrdude -P lpt -c bascom -p m16
wywala ten sam błąd, hmmm??

Portret użytkownika mirley

Re: AVRDUDE

No nie wiem ... niezależnie gdzie dodasz opcję powinno działać... wróć narazie do ustawień fusebitów w BASCOM, jak zrobisz sobie normalny programator to będziesz się bawił burn-o-matem. Nie mam czasu robić takiego kabelka żeby sprawdzić co jest nie tak.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Farmi18

Okej, kabelek LPT zostawie

Okej,
kabelek LPT zostawie na boku,a pobawie się programatorem NORMALNYM, jak to powiedziałeś.
Domyślam, się, że chodzi o ten programaor:
http://mirley.firlej.org/programator_na_usb_usbasp
??

Portret użytkownika mirley

Re: Programator

Kabelek będziesz musiał jeszcze przeprosić bo czymś musisz zaprogramować M8 :)

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Farmi18

Tak wiem, przeczytałem. Na

Tak wiem, przeczytałem.
Na szczęscie podałęś jak w BASCOM ustawić FUSEBITs, wieć powinno się udać z M8.
Te LPT używałem w sumie raz, a juz mnie drażnił, bo nie mam LPT u siebie w Lapku, wiec miedzy 2 kompami biegałem.
To zaczynam robić USBasp.

Portret użytkownika pawlik835

Witam po dłuższej

Witam po dłuższej przerwie.
Zrobiłem sobie programator poza tym własnoręcznie ;)przyznam że myślałem że wykonanie płytki metodą termotransferu jest prostrze ale wyszło jak wyszło więc do rzeczy.
Podłączyłem attiny2313 do owego programatora i podczas weryfikacji fusebitów wyskakuje mi taki oto błąd poniżej czym jest spowodowany? Wszystko chyba raczej dobrze wykonałem i zlutowałem bo dioda czerwona się świeci podczas podłączenia do USB poza tym sterowniki również zainstalowałem.

C:\Program Files\USBASP_avrdude\avrdude\avrdude.exe -C C:\Program Files\USBASP_avrdude\avrdude\avrdude.conf -p t2313 -P /dev/parport0 -c usbasp -U efuse:v:0xFF:m -U hfuse:v:0xDF:m -U lfuse:v:0xEF:m

avrdude.exe: error: programm enable: target doesn't answer. 1
avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.08s

avrdude.exe: Device signature = 0x000000
avrdude.exe: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.

avrdude.exe done. Thank you.

Portret użytkownika mirley

Re: USBASP

Z tego co widzę to programator działa poprawnie tylko nie może się skomunikować z attiny2313. Prawdopodobnie połączenia między programatorem a procesorem są źle wykonane, procesor nie jest zasilany lub poprostu jest nowy a nie zwarłeś zworki S_SCK

Poza tym przy wywoływaniu avrdude niepotrzebnie podajesz port i te inne badziewia. Na początku miałeś poprostu wywołać komunikację z procesorem:

C:\Program Files\USBASP_avrdude\avrdude\avrdude.exe -C C:\Program Files\USBASP_avrdude\avrdude\avrdude.conf -p t2313 -c usbasp

przełącznik:

-P /dev/parport0

jest totalnie bez sensu, podajesz że usbasp jest na porcie LPT i to do tego jeszcze pod linuksową nazwą. Przeczytaj instrukcję wyżej jak masz to odpalać po kolei. Nie wydawaj żadnych poleceń zapisu ani odczytu czegokolwiek dopóki nie uzyskasz:

avrdude: AVR device initialized and ready to accept instructions
 
Reading | ################################################## | 100% 0.00s
 
avrdude: Device signature = 0x1e910a
 
avrdude: safemode: Fuses OK
 
avrdude done.  Thank you.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Ziomek

Problem z, no wlasnie z czym?

Witam
Zaprogramowalem attiny2313 i program działa lecz nie mam dostepu zeby ponownie ja zaprogramowac. Kody bledu wystepujace to na zmine 0xffff00 0x000000 0xffffff. Teraz w czym jest problem czy padl attiny czy padl programator? Pozdrawiam.

Portret użytkownika mirley

Re: AVRDUDE

Może byc to problem komunikacji z procesorem, Uszkodzony kabel itp. Poza tym czy programujesz attiny2313 w układzie w którym pracuje czy przekładasz do innej podstawki?

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Ziomek

Programuje w układzie ale już

Programuje w układzie ale już znalazłem problem. Podczas programowania najprawdopodobniej zwarłem piny MISO i MOSI i przez to uszkodziłem atmege8 w USBasp. Po wymianie wszystko śmiga cacy :)

Portret użytkownika pawlik835

houston mamy problem :)

Witam podłączyłem attiny2313 pod oddzielne zasilanie z komputera wyszło mi coś takiego:
lecz dodatkowo coś takiego co jest pogrubione

Ścieżka ........................
found 4 buses

avrdude: AVR device initialized and ready to accept instructions

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

avrdude: Device signature = 0x1e910a

avrdude: safemode: Fuses OK

avrdude done. Thank you.

a tak poza tym dlaczego nie chciało iść poprzez port USB?

--------------------------------------------------------------

a teraz coś takiego jeszcze mi psuje szyki o co chodzi bo już się poddaję...

C:\Program Files\USBASP_avrdude\avrdude.exe -C C:\Program Files\USBASP_avrdude\avrdude.conf -p t2313 -P /dev/parport0 -c usbasp -U flash:w:C:\Documents and Settings\Ryba\Pulpit\MINILAMPKARGB2.BIN:a

avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.06s

avrdude.exe: Device signature = 0x1e910a
avrdude.exe: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude.exe: erasing chip
avrdude.exe: reading input file "C:\Documents and Settings\Ryba\Pulpit\MINILAMPKARGB2.BIN"
avrdude.exe: input file C:\Documents and Settings\Ryba\Pulpit\MINILAMPKARGB2.BIN auto detected as raw binary
avrdude.exe: writing flash (1988 bytes):

Writing | ################################################## | 100% 17.69s

avrdude.exe: 1988 bytes of flash written
avrdude.exe: verifying flash memory against C:\Documents and Settings\Ryba\Pulpit\MINILAMPKARGB2.BIN:
avrdude.exe: load data flash data from input file C:\Documents and Settings\Ryba\Pulpit\MINILAMPKARGB2.BIN:
avrdude.exe: input file C:\Documents and Settings\Ryba\Pulpit\MINILAMPKARGB2.BIN auto detected as raw binary
avrdude.exe: input file C:\Documents and Settings\Ryba\Pulpit\MINILAMPKARGB2.BIN contains 1988 bytes
avrdude.exe: reading on-chip flash data:

Reading | ################################################## | 100% 11.95s

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

avrdude.exe done. Thank you.

-------------------------------------------------------------
dodam jeszcze że zielona dioda nawet nie mrugnęła...
poza tym napięcie mam w granicy 4,70V
aha musiałem zastąpić opornik 10kOm na 5kOm ponieważ nie miałem w sklepie również nie dostałem
jakieś pomysły?

Portret użytkownika mirley

Re: AVRDUDE

found 4 buses..... Wygląda na to że poprostu znalazł 4 porty USB (lub 4 kontrolery po dwa pory), to jest szczegół i się tym nie przejmuj.

Quote:
a tak poza tym dlaczego nie chciało iść poprzez port USB?

Rozumiem, żpytasz czemu układ nie chciał iść zasilany przez USB? Może poprostu port nie dawał wystarczająco prądu. Różne wersje USBASP'a różnią sie między sobą a w programatorze zaszyta jest informacja o max poborze prądu, jeśli zadeklarowane jest np 100mA a będziesz pobierał 110mA to port się wyłączy. Dokładnego powodu czemu tak działa nie jestem w stanie stwierdzić.

Odnośnie błędu w weryfikacji. To może byc to wynikiem pliku który podajesz do programowania... skąd masz informacje że za pomocą avrdude można wgrywać plik BIN z bascoma. Może i można ale nigdy nie sprawdzałem, zawsze wgrywam HEX. Co prawda avrdude rozpoznał typ pliku ale nie masz pewności czy dobrze. Dlatego trzymaj się instrukcji wyżej i wgrywaj hex. Szczególnie można podejrzewać że coś jest nie tak z formatem pliku bo juz w pierwszym bajcie jest problem: "avrdude.exe: verification error, first mismatch at byte 0x0000"

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika pawlik835

i znowu problem

To jest tak chciałbym zrobić lampkę RGB 2 posiadam taki fajny kryształek.
Znowu chciałem się połączyć jednak wywala mi znowu błąd jak za pierwszym razem 0x000000 czyli brak zasilania próbowałem i z zasilacza brać 5V i przez USB i nic.
Nie mam pojęcia możliwe że jest coś źle wlutowane i przez to się dzieje?
Dlaczego raz się udało a teraz nie? Robiłem wszystko tak samo.

Aha a ten plik .hex do lampki skąd wziąć bo jak otwieram po kompilacji to wyskakuje mi ten ciąg znaków i rozumiem te znaki (kod) wklejam w notatnik a następnie zmieniam rozszerzenie na .hex? Bo pliku całego .hex nie znalazłem.

Portret użytkownika mirley

Re: AVRDUDE

No te jest problem z kablem albo płytka jest tak zlutowana że raz styka a raz nie. Popraw luty na płytce programatora, korzystając z pasty lutowniczej lub kalafonii. Sprawdź kabel którym podłączasz od programatora do układu. Prawdopodobnie w różnych ułożeniach różnie przewodzi. Najlepiej wymień ten kabel na nowy.

jak to skąd wziąźć plik hex przecież masz pod opisem lampki w załącznikach http://mirley.firlej.org/files/MINILAMPKARGB2.HEX a poza tym bascom generuje plik bin i plik hex. Jeśli hex się nie pojawia to w opcjach Compiler trzeba zaznaczyć opcję żeby tworzył plik hex.

Pliku Bin ani pliku hex nie otwieraj a już napewno nie koślawym notatnikiem windowsowskim (ten link wyżej zapisz na dysk za pomocą opcji "zapisz element docelowy jako" a nie kopiując z przeglądarki). Jeśli cokolwiek zmienisz w tym pliku lub dasz na nim zapisz itp to możesz go skasować i zrobić sobie nowy plik, Nie możesz otwierać takiego pliku w notatniku nie mówiąc już o jego kopiowaniu czy zapisywaniu

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

Witam Normalną rzeczą jest,

Witam
Normalną rzeczą jest, że w programatorze USBasp wykrywa mi procesor Atmega8 z kwarcem 8mhz po wpisaniu avrdude -p m8 -c usbasp dopiero po zwarciu zworki ( tryb programowaniu <1,5Mhz) ? bez załozonej zworki mam kamunikat:
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.

bez podłączonej atmegi normalnie sie programator testuje obojętne czy zwarta czy rozwarta

Portret użytkownika mirley

Re: USBASP

Jeśli w procesorze nie przestawiałeś fusebitów na zewnetrzny kwarc, to nie ma znaczenia że masz go podłączonego do procesora. fabryczny Mega8, podobnie jak inne działają na 1MHz i cokolwiek byś podłączał do X1 i X2 to niczego nie zmienisz. Wtedy programator musi mieć zworką a bez zworki będzie taki komunikat jak dostałeś. jeśli zmienisz konfiguracje taktowania na zewnetrzny kwarc to wtedy będzie chodził na 8Mhz i niezależnie od zworki będzie się programowało (ze zworką znacznie wolniej)

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

Witam.Mam problem, otóż

Witam.Mam problem, otóż uruchamiam Burn-O-Mat'a wybieram hex. i biore write w wywala mi taki błąd:
C:\Program Files\avrdude\avrdude.exe -C C:\Program Files\avrdude\avrdude.conf -p t2313 -P lpt1 -c bascom -U flash:w:D:\TermometrUniwersalnyAVR[1].hex:a
avrdude.exe: can't open device "giveio"

avrdude.exe: failed to open parallel port "lpt1"

Bascom wykrywa mi programator SAMPLE Cable.

Co robić?

Portret użytkownika mirley

Re: Programowanie

A w bascomie da rade zaprogramować? W avrdude nigdy nie programowałem przez LPT

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

W bascomie daje rade,

W bascomie daje rade, normalnie mi go znajuduje moge wejść na fuse,zaprogramować.Ogólnie rozchodz się o to że chce zaprogramowac attiny2313 do tego urządzonka:http://mirley.firlej.org/termometr_uniwersalny
A tam fuse bit są w avrdude w nakładce.Czy mógłby Pan powiedzić co zmnić w fusach bit w bascomie?Poprostu co zmienić,w której linijce.Był bym wdzięczny gdyby mugł Pan przesłąc mi screna z bascoama na @ :)

Portret użytkownika mirley

Re: Fusebit tiny

Ustaw tak jak w projekcie Mini Lampka RGB 2, tam jest screen z bascoma. Najważniejsze jest ustawienie bitu CKDIV8 na wyłączony (disable) i przestawienie taktowania tak aby było "External crystal oscylator high frequency"(8MHz-)

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Michał

Błąd

Jaka może być przyczyna wyświetlenia następującego komunikatu " Uruchomienie tej aplikacji nie powiodło się, ponieważ nie znaleziono libusb0.dll . Ponowne zainstalowanie tej aplikacji może naprawić ten problem" po próbie uruchomienia z konsoli pliku C:\Program Files\avrdude. Jest to plik pobrany i rozpakowany z "Wersja której ja używam (5.5) znajduje się tutaj, natomiast najnowszych..." po rozpakowaniu otrzymałem dwa pliki avrdude.conf i avrdude.exe

Portret użytkownika mirley

Re: Avrdude

umieszczasz te dwa pliki w jakimś folderze, np C:/avrdude , lub w program files

potem uruchamiasz cmd i przechodzisz do tego folderu gdzie jest avrdude za pomocą polecenia dir

wpisujesz: avrdude i dajesz enter. Powinno być to co masz wyżej w opisie.

reszta wpisów zależy od programatora, ja testowałem tylko na USBASP więc o innych się nie wypowiadam, lista programatorów jest też w opisie:

potem normalnie już wywołujesz

avrdude -c {programator} -p {typ procesora} {inne polecenia}

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Michał

Błąd

No więc właśnie tak robiłem i gdy daje enter to zamiast tego co mam w opisie wyskakuje mi komunikat "avrdude.exe Nie można znaleźć składnika" " Uruchomienie tej aplikacji nie powiodło się, ponieważ nie znaleziono libusb0.dll . Ponowne zainstalowanie tej aplikacji może naprawić ten problem" nie w wierszu poleceń cmd, tylko taka ramka jak np w bascom. Po naciśnięciu "ok" ramka się zamyka i nic się nie uruchamia.

------

Zrobiłem. Ściągałem Avrdude z innej strony, rozpakowałem i ruszył, niby wszystko to samo ale z tamtym coś mu musiało nie pasować. A jak bym chciał ustawić programator taki jak jest w artykule "Jak zaprogramować pierwszy AVR?" czyli wtyk DB25M z rezystorami (330R) to trzeba ustawić USBASP czy coś innego? Co mam wpisać w "port" jeśli w BIOSie LPT mam ustawione na ECP, 378, Parallel Port Mode IRA na 7 i Parallel Port Mode DMA na 3?

Portret użytkownika mirley

Re: Avrdude

testowałem tego avrdude na windows XP sp2 i vista. Może inna wersja musiała byc.... neważne.

Programator z rezystorami na lpt to nie usbasp.... musisz ustawić typ programatora na "bascom", jest to napisane w liście obsługiwanych programatorów. W przypadku usbaspa portu nie trzeba podawać ale jak masz ten na LPT to wydaje mi się że będzie trzeba wpisać -P LPT żeby załapał port.

Wszystko wpisuj w okienku cmd... ono nie ma prawa zniknąć, chyba że coś masz z systemem operacyjnym nie tak. W cmd będzie ci wyświetlało komunikaty o tym co jest nie tak

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Michał

Avrdude

A co jeśli bym chciał to ustawić w Burn-O-Mat to jako typ programatora ustawiam "bascom..." a port wyskakuje tylko /dev/parport0, lpt od 1 do 8, com od 1 do 8 i usb. W to miejsce wpisać "P LPT" tak?

Portret użytkownika mirley

Re: Burn-o-mat

nie... jak masz burn-o-mat to masz do wyboru z listy, jak tam chcesz coś wpisać..... wpisujesz jak wywołujesz z komendy tekstowej i to nie "P LPT" tylko "-P LPT". Czytaj uważnie bo potem się będziesz dziwił że nie działa. "-P" oznacza poprostu "użyj portu" ale to teraz nieważne.

Wybierz z listy w burn-o-macie port lpt, jak jest więcej do wyboru to sprawdzaj po kolei te lpt i może zadziała na którymś. Poza tym nie ma chyba na liście tych portów 2000 żeby b y ło problem w 2 minuty sprawdzić. W oknie burn-o-mata masz pokazane polecenie za pomocą którego wywołuje avrdude i tam sobie zobaczysz co on dokładnie robi na ustawieniach które wybrałeś. Może polecenie z tym portem być równie dobrze -P lpt lub -P Lpt

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika rgbled

Błąd

Witam, mam problem ponieważ wywala mi taki błąd:

Dodam że korzystam z płytki testowej uniwersalnej avr z Pana strony:)
i jeszcze dodam że sprawdziłem połączenie od programtaora do odczytywanej atmegi (miso,sck,...) i są ok
Bardzo proszę o pomoc:)

-

Pozdro :)

Portret użytkownika mirley

Re: Programowanie

Rozumiem że programator na płytce jest uruchomiony (atmega w programatorze zaprogramowana i fusebity ustawione poprawnie). W systemie programator jest wykrywany jako usbasp? Sprawdź jeszcze czy nie ma zwarcie między sygnałami programującymi, bo raz sobie tak zrobiłem, a pomiar przewodzenia wyszedł prawidłowy :)

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika rgbled

Witam, komp wykrywa mi

Witam, komp wykrywa mi usbasp,procek w pragramatorze zaprogramowany i fuski ustawione,I sprawdziełm nie ma zawarnie między sygnałami(sck,miso itp_
Więc co dalej zroibć?

Bardzo proszę o pomoc:)

-

Pozdro :)

Portret użytkownika mirley

Re: Programowanie

Procesor który chcesz zaprogramować masz napewno zasilany? jest na nim napięcie? Może włącz Slow SCK, taki przełącznik na płytce, gdy procesor jest nowy to jest to wymagane. Naprawdę ciężko jest mi ocenić co może być nie tak, szczególnie że na zrzucie który podesłałeś coś tam widać że działa

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika rgbled

Działa:)

Witam, programator już śmiga, co było przyczyną?A to że na tej płytce testowej na mam ten przycisk to programowania ponież 1,5 mhz.Do tej pory brałem atemgi8które były śmigały na wewnętrznym oscylatorze(1mhz) teraz wziąłem atmege8 która miała zewnetrzny kwarc ustawion 12mhz i podłączyłem taki kwarc i śmiga.Dobrze odczytuje w cmd i programuje w Burn-O-Mat.Tylko teraz zamierzam wywalić ten przełącznik i wstaić goldpiny plus zworek tylko w które ściżki muszą być zwarte?

-

Pozdro :)

Portret użytkownika mirley

Re: Slow sck

Popatrz na schemat, tylko dwa piny się zwierają .... nawet po samej płytce dojdziesz, który idzie bezpośrednio do procka w programatorze a który do masy.....

aha.. .pytania o płytkę pisz pod płytką

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Szymon

ATMega64 i STK500v2

Czołem!

Podczas programowania Atmegi64 dostaję następujący komunikat:
Writing | avrdude.exe: stk500v2_command(): unknown status 0x80
avrdude.exe: stk500v2_paged_write: write command failed
################################################## | 100% 0.21s

avrdude.exe: failed to write flash memory, rc=-1

Dodam, że odczyt pierwotnej zawartości procesora odbył się bez zająknięcia, udało się odczytać fuseBity, flash, EEPROM, sygnaturę. Czy ktoś spotkał się z takim "jednostronnym" błędem?

Ponadto chcę powiedzieć, że cała ta strona jest świetna ;) Opisane jak trzeba! Podziękowania dla autora ;)

Portret użytkownika troll_u

#47 - kontynuacja

Dobra, założyłem konto, dodałem avatara, to teraz mogę kontynuować :)
Jest to ciąg dalszy posta #47.

Chciałbym uzupełnić swoją wypowiedź o następujące fakty:
- próbowałem zarówno na Windows 7 w trybie HID (port avrdoper) jak i na Windows XP w trybie COM (port COM5) i HID (port avrdoper) - za każdym razem ten sam błąd
- dysponuję takim programatorem: http://allegro.pl/programator-usb-avr-isp-ii-stk500-stk500v2-i1247902272.html (http://img10.allegroimg.pl/photos/oryginal/12/47/90/22/1247902272 - USB AVR ISP II STK500v2)
- programatorem tym programowalem z powodzeniem procesor ATMega32 (wewnętrzny Zegra 1MHz)
- układ który chcę teraz zaprogramować to ATMega64 (jest to wnętrze tego urządzenia: http://unitedhobbies.com/hobbyking/store/catalog/Mready-01.jpg), z podłączonym rezonatorem kwarcowym 16MHz
- jak już pisałem, odczyt urządzenia poszedł poprawnie - udało się poprawnie odczytać wszystkie fuse bity, eeprom, flash, sygnaturę urządzenia itp.
- komunikacja z urządzeniem występuje (sprawdzam wpisując avrdude -p m64 -c stk500v2 -P avrdoper)

http://forums.obdev.at/viewtopic.php?t=226 - na tej stronie ktoś opisuje podobny problem - rozwiazaniem było podłączenie programatora bezpośrednio do portu USB komputera, a nie poprzez HUB. Ktoś na tej stronie też wspomina o tym, że na programatorze trzeba ustawić zworkę Slow SCK, niestety u mnie są tylko dwie zworki - zasilanie układu z programatora i wybór trybu (HID / COM).

Nie wiem co by tu jeszcze napisać... :) Jakieś pomysły?

EDIT

Dodam jeszcze że napięcie zasilania procka (Vcc na wyjściu progamatora) to +4,79V.

Portret użytkownika troll_u

Rozwiązanie #47 i #48

Dobra, sam postawiłem problem to sam ro rozwiązałem :) Okazało się, urzązenie daje się zaprogramować po przestawieniu programatora na zasilanie z układu programowanego, i podłączeniu do tego układu napięcia 5V (o odpowiedniej wydajności prądowej). Nie wiadomo co było przyczyną niepowodzenia w programowaniu układu. Możliwe że zbyt niskie napięcie 4,79V pochodzące z USB, lub też zbyt niska wydajność prądowa portu USB (Ponoć dla niedokońca rozpoznanych urządzeń idzie tylko 100mA czy 200mA, moje urządzenie napewno pobierało więcej). Jak się również okazało pierwotnie pisałem że odczyt flasha i eepromu się powiódł - okazało się jednak, że pliki otrzymane z tego odczytu są bezużyteczne - ich wgranie że tak powiem "wali krzakami" na ekranie.

Portret użytkownika modelarz

problem

Witam ja mam problem w nakładce avr Burn-O-mat.Programator to USBasp i gdy klikam Verify to mam takie okno a chcę wgrać pana program z Mini Lampki RGB2 do attiny 2313