Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[ATTINY2313][Bascom] - Konfiguracja ATTINY

Arek1111111111 28 Oct 2012 12:24 5640 25
IGE-XAO
  • #1
    Arek1111111111
    Level 9  
    Witam,
    Rozpoczynam naukę programowania, w tym celu
    zakupiłem zestaw płytki testowej AVT3500 wraz z książką i programatorem USB. Zestaw jest przystosowany do procesora 90S2313 i zapewne problem leży w konfiguracji oprogramowania.
    Z internetu pobrałem BASCOM AVR IDE[2.0.7.5] oraz AVR studio4.

    Przy próbie programowania w Bascomie (F4), wyskakuje windowsowe okno przeglądania folderu, próbowałem korzystać z różnych źródeł, aby naprawić ten problem, ale bezskutecznie.

    Korzystałem m.in. z tego poradnika: http://www.portalnaukowy.edu.pl/attiny.htm Droga kończy się na ustawianiu lock i fuse bitów, ponieważ jak wyżej wspomniałem, okno się nie pokazuje.

    Będę wdzięczny za każdą pomoc.

    Pozdrawiam
    Kamery 3D Time of Flight - zastosowania w przemyśle. Darmowe szkolenie 16.12.2021r. g. 10.00 Zarejestruj się
  • IGE-XAO
  • #2
    sp3ots
    Level 37  
    Witam !
    Jaki masz uP ? ATTiny2313 czy AT90S2313 ? Jeśli ten drugi to nie musisz nic przestawiać w fuse bitach.
    Nie mam pojęcia jakie okno pojawia się Tobie w Bascomie AVR po naciśnięciu F4.
    Jaki masz typ programatora USB ? to nic nie znaczy.
    W opcjach bascoma zakładka programator trzeba ustawić rodzaj programatora.
    Pozdrawiam. Stefan
  • #3
    Arek1111111111
    Level 9  
    Posiadam Attiny2313, więc zapewne trzeba coś będzie ustawić.

    Okno, które wyskakuje po wciśnięciu F4 wygląda tak: [ATTINY2313][Bascom] - Konfiguracja ATTINY

    Zakupiłem ten zestaw , więc programator USB to AVTPROG2:

    http://sklep.avt.pl/p/pl/488041/kurs+programowania+procesorow+avr+w+bascomie+-+komplet.html

    Zakładka programmer wygląda następująco: [ATTINY2313][Bascom] - Konfiguracja ATTINY

    Pracuję na windowsie 7, nie wiem czy to może mieć jakiś wpływ, ale warto odnotować.

    Pozdrawiam,
    Arek
  • #4
    ZbeeGin
    Level 39  
    Co do dziwnego zachowania BASCOM-a to odpowiedź jest w sumie prosta: Nie wpisałeś w polu STK500.EXE ścieżki dostępu do tego pliku w katalogach AVR Studio (co jasno widać na drugim zrzucie ekranowym). Stąd podczas próby programowania otwiera ci się tylko okno folderu domyślnego.
    Kliknij małą ikonkę z prawej strony tego pola w oknie konfiguracji i znajdź plik stk500.exe

    Proponuję jednak zmienić wybór programatora z "STK500 (requires stk500.exe)" na "STK500 native driver" i wybranie odpowiedniego portu COM pod jakim zgłasza się ten klon. Będzie łatwiej.
  • #5
    Arek1111111111
    Level 9  
    Jeden problem rozwiązany, dziękuję ZbeeGin. Niestety pojawił się kolejny.

    To pojawia się przy podaniu ścieżki do stk500.exe: [ATTINY2313][Bascom] - Konfiguracja ATTINY

    A to, przy native driver: [ATTINY2313][Bascom] - Konfiguracja ATTINY

    W obu przypadkach Bascom nie chce programować.

    Będę wdzięczny za dalszą pomoc.
  • Helpful post
    #6
    ZbeeGin
    Level 39  
    Programator nie potrafi wprowadzić procesora w tryb programowania.
    Do sprawdzenia poprawność połączeń i czy linia RESET nie jest zbyt obciążona (kondensator do masy, rezystor do VCC o zbyt niskiej wartości). I przede wszystkim czy procesor jest w ogóle zasilany.
  • IGE-XAO
  • #7
    Arek1111111111
    Level 9  
    Wszystko wydaje się w porządku, szczególnie, że AVR Studio 4 programuje bez problemu, jedynie nie jestem w stanie używać wszystkich programów z kursu, ze względu na różnicę w wersjach oprogramowania. Niestety to co się udaje w AVR Studio, nie udaje się w Bascomie
  • #8
    emarcus
    Level 38  
    Arek1111111111 wrote:
    Jeden problem rozwiązany, dziękuję ZbeeGin. Niestety pojawił się kolejny.


    W obu przypadkach Bascom nie chce programować.

    Będę wdzięczny za dalszą pomoc.


    "Bascom nie chce programowac" bo napisał ci dlaczego. Popraw rozbieżności i programuj ponownie.

    [ATTINY2313][Bascom] - Konfiguracja ATTINY

    Znaczy to mniej więcej że rozpoznany processor w programatorze jest inny niż ten który jest zadeklarowany w hex/bin file, lub w skompilowanym programie.

    Attiny2313 i At90S2313 są w pewnym zakresie compatybilne lecz nie jest to samo; stąd więc to ostrzeżenie.
    Kliknij na zielony icon "Identify Chip" i znajdziesz pełniejsze wyjaśnienie.
  • Helpful post
    #9
    ZbeeGin
    Level 39  
    emarcus wrote:
    "Bascom nie chce programowac" bo napisał ci dlaczego. Popraw rozbieżności i programuj ponownie.
    ...
    Znaczy to mniej więcej że rozpoznany procesor w programatorze jest inny niż ten który jest zadeklarowany w hex/bin file, lub w skompilowanym programie.

    Spójrz jeszcze raz na zrzut ekranu z wybranym STK500 Native driver. W oknie loga pojawia się "ChipID: 000000". Odpowiedz Mi, który procesor Atmel-a ma taką sygnaturę?

    Arek1111111111 wrote:
    Niestety to co się udaje w AVR Studio, nie udaje się w Bascomie

    Muszę odkopać swój STK500 v2, to sprawdzę w podobnej konfiguracji (też Lenovo z Win7 x64, STK500 na FTDI, ZL11AVR i BASCOM 2.0.7.5), czy wystąpi ten sam problem.

    --edyta--

    U mnie wszystko działa. Jedynie najnowsza wersja BASCOM-a nieco "sypie" bzdurnymi ostrzeżeniami w logu. Niestety używam Atmel Studio 6 więc nie sprawdziłem z STK500.EXE.

    [ATTINY2313][Bascom] - Konfiguracja ATTINY [ATTINY2313][Bascom] - Konfiguracja ATTINY

    Oczywiście pojawia się ostrzeżenie o niedopowiednim układzie, ale sygnatura podłączonego mikrokontrolera zostaje odczytana - co widać w logu.
  • #10
    Arek1111111111
    Level 9  
    Wyskakuje mi podobne okno. Korzystam z książki Piotra Góreckiego którego programy były pisane na 90S2313 a w zestawie AVT3500 jest ATtiny2313, nie wszystkie programy na nim działają poprawnie a dowiedziałem się że jest możliwość aby ATtiny2313 pracował jak 90S2313 , wystarczą drobne zmiany w fuce bitach. Niestety nie potrafię wejść w ustawienia fuce bitów. Bardzo proszę o jakąś rade, sam już nic więcej nie wymyśle, a dopiero zaczynam zabawę z tym upiorem.:/ Z góry dziękuje
    Pozdrawiam. Arek
  • #11
    piotrva
    VIP Meritorious for electroda.pl
    Nie wiem skąd takie bzdury przeczytałeś - te procesory nie mają bitu kompatybilności, ale z punktu widzenia rejestrów Attiny2313 to prawie to samo co poczciwy 90s2313. Programy w Bascom powinny działać po zmianie $regfile na taki odpowiedni dla procesora Attiny2313:
    Code:

    $regfile = "attiny2313.dat"   
  • #12
    ZbeeGin
    Level 39  
    Jeśli dalej masz "Chip ID : 000000" lub "Chip ID : FFFFFF" w oknie loga to masz problem: z programatorem, połączeniem, zasilaniem, samym procesorem (np. zablokowany).
    Jeśli procesor jest rozpoznawany, czyli "Chip ID : 1E910A" to bez problemu możesz wejść do zakładki "Lock and Fuse bits" i pozmieniać ustawienia (Ostrożnie!).

    W zasadzie musisz tylko wybrać, by procesor był taktowany z rezonatora kwarcowego płytki AVT3500. Resztę załatwisz dopisaniem w pierwszej linijce każdego programu:
    Code: vb
    Log in, to see the code
  • #13
    Arek1111111111
    Level 9  
    Co do kodu $regfile = "attiny2313.dat" to on nic nie zmienia, jeśli chodzi o problem z programatorem to przenoszę skompilowany program do AVR STUDIO 4 i z tamtąd programuje bez problemu, problem jest jedynie w niektórych programach. co do BASCOMA to nie mam zielonego pojęcia o co może chodzić:cry:


    Doczytałem jeszcze że te ustawienia fucebitów powinienem robić w avr studio, jednak mój angielski nie jest za dobry więc nie mam pojęcia jak to ustawić, bardzo proszę o pomoc.
  • #14
    mirekk36
    Level 42  
    Arek1111111111 wrote:
    Doczytałem jeszcze że te ustawienia fucebitów powinienem robić w avr studio, jednak mój angielski nie jest za dobry więc nie mam pojęcia jak to ustawić, bardzo proszę o pomoc.


    Nie fucebitów tylko fusebitów tak w ogóle. A jeśli chcesz po polsku wygodny program a co ważniejsze bezpieczny do ich programowania odczytywania itp, to pobierz sobie program MkAvrCalculator LINK. Poczytaj sobie na tej stronce i obejrzyj filmik video ;) zobaczysz jakie to proste i wygodne narzędzie. A z twoim prockiem ATtiny2313 ale nie tylko bo także z ATmega8 jeśli na nią przejdziesz później - będzie działał w pełni za free.
  • #15
    Arek1111111111
    Level 9  
    Zainstalowałem ten MkavrCalculator ale pojawia mi sie jakiś błąd źle wgranego avr dude. program ten usunąłem i co dziwne avr studio całkiem przestał programować, zastanawiam się czy możliwe że programator avtprog2 spalił się przez to.
  • Helpful post
    #16
    mirekk36
    Level 42  
    Arek1111111111 wrote:
    Zainstalowałem ten MkavrCalculator ale pojawia mi sie jakiś błąd źle wgranego avr dude. .


    A pisałem żebyś poczytał na tej stronce i obejrzał filmik video, tam jest pokazane jak z zakładki "Ustawienia" tego programu można zainstalować prawidłowo avrdude w 5 sekund. No ale masz rację bez poczytania to się nic nie zrobi.
  • #17
    Arek1111111111
    Level 9  
    Wiem już poradziłem sobie z avrstudio a teraz zabieram sie za mkavrcalculator, pozdrawiam

    Dodano po 3 [godziny] 9 [minuty]:

    niestety to też nie chce chodzić, nie może znaleźć tego programatora

    Dodano po 20 [minuty]:

    Czy możliwe że zainstalowany avrstudio4 nie pozwala na prawidłowe działanie mkavrcalculator? I czy w tym mkavrcalculator można programować w bascom wszystkie programy? z tego co zrozumiałem jest to program do języka c.
  • #18
    piotrva
    VIP Meritorious for electroda.pl
    Nie, AVRStudio nie wpływa na avr-dude
    Mkavrcalculator to program DO USTAWIANIA FUSEBITÓW I WGRYWANIA WSADÓW do procesora - nie jest on zależny od tego czy plik *.hex powstał w wyniku kompilacji kodu C czy BASCOM.
  • #19
    mirekk36
    Level 42  
    Arek1111111111 wrote:

    Czy możliwe że zainstalowany avrstudio4 nie pozwala na prawidłowe działanie mkavrcalculator? I czy w tym mkavrcalculator można programować w bascom wszystkie programy? z tego co zrozumiałem jest to program do języka c.


    Po pierwsze nie jest to żaden program ani do języka C ani do Bascoma ani do asemblera ;)

    Panie kolego - program możesz sobie napisać w dowolnym języku spośród wymienionych powyżej, a na końcu zawsze musisz go skompilować do pliku, który ładuje się do mikrokontrolera. Obojętnie którego języka używasz i tak każdy kompilator na końcu wypluje ci np plik *.HEX (wsad do procesora) i ten wsad można wgrać do procka wieloma różnymi programami w tym także za pomocą MkAvrCalculator. Rozumiesz? Więc nie ma ten program nic a nic wspólnego z żadnym językiem.

    Poza tym MkAvrCalculator nie przeszkadza AVR Studio i odwrotnie AVR Studio nie przeszkadza MkAvrCalculatorowi - wymyślasz niestety niestworzone historie. Ja mam jeszcze poza AVR Studio i MkAvrCalculatorem zainstalowane Eclipse, Bascoma i jeszcze wiele różnych programów - każdy z nich działa niezależnie od siebie więc nie wymyślaj że jeden drugiemu w czymś przeszkadza

    Jeśli ci coś nie wychodzi to tylko ze względu na to że pewnie nie masz pojęcia jak zacząć.

    Proponuję ci na początek jeszcze raz obejrzeć ten filmik. W programie MkAvrCalculator masz zakładkę "Programator AVR". I tam ręcznie wybierasz programator - a nie że on sam coś ci tam wykryje. Tzn nie wykryje programatora.

    Jeśli więc masz programator STK500v2 to wybierz go tam z listy i obok numer portu szeregowego COM na którym masz zainstalowany ten programator. A dopiero potem naciśnij żółty klawisz do sprawdzenia jaki masz podłączony procesor do programatora

    a jak ci nie zadziała to nie szukaj winy w programie takim czy innym tylko zrozum panie kochany, że mogłeś jeszcze źle podłączyć procesor do programatora.

    Pokazałeś schemat jak to próbujesz robić ?

    Pokazałeś jakieś fotki ?

    nie - piszesz tylko w kółko że coś ci nie działa. Więc jak ci pomóc ? hmmm?
  • #20
    Arek1111111111
    Level 9  
    Uważałem że nie ma żadnych połączeń ponieważ programator avtprog2 podłączony jest z jednej strony do usb w laptopie a z drugiej oryginalnym kablem dołączonym wraz z całym zestawem do płytki testowej , więc nie mam możliwości tworzenia nic nowego. poza tym jak pisałem wyżej avrstudio programuje go bez żadnego problemu, dlatego myśle że komunikacja i połączenia są wpożądku. A za brak wiedzy przepraszam, po raz pierwszy zajmuje sie programowaniem i nie zdołałem jeszcze wszystkiego opanować. przy próbie połączenia mkavrcalculator z attiny2313 pojawia się komunikat- ostrzerzenie:" Błąd AVRDUDE _ nie odpowiada podczas próby dostępu do port: com 1 " (na tym porcie jest programator ) oraz w avtprog2 ciągle pali się czerwona dioda. W takim razie jeszcze raz wszystko posprawdzam i dziękuje za informacje.

    mkavrcalculator zainstalowałem na innym komputerze z systemem winXP i działa prawidłowo jednak nie rozumiem co mi on da skoro w bascomie nie moge kompilować listingu z pliku bas na plik hex , a ten mkavrcalculator raczej nie ma funkcji kompilatora.
  • #21
    ZbeeGin
    Level 39  
    Arek1111111111 wrote:
    nie rozumiem co mi on da skoro w bascomie nie moge kompilować listingu z pliku bas na plik hex

    Najpierw się dowiadujemy, że masz problem z programatorem. Teraz, że i kompilator dziwnym zbiegiem okoliczności "nie działa". Więc jak jest na prawdę?

    Jeśli chodzi o program i jego "niekompilowalność", to wklej cały kod oraz zrzut ekranu z oknem błędów bo chcielibyśmy jednak poznać fakty, a nie tylko słowa.
  • #22
    piotrva
    VIP Meritorious for electroda.pl
    Matko, skoro masz plik bas (czyli kod źródłowy) a nie hex, który wynikowo daje kod większy niż limit wersji demo, to bez pełnej wersji tego nie skompilujesz.
  • #23
    ZbeeGin
    Level 39  
    piotrva wrote:
    Matko, skoro masz plik bas (czyli kod źródłowy) a nie hex, który wynikowo daje kod większy niż limit wersji demo, to bez pełnej wersji tego nie skompilujesz.

    W czasie powstawania tego cyklu (Mikroprocesorowa ośla łączka, a później z tego książka) dostępny limit był na poziomie 2KB kodu. Obecnie limit wynosi 4KB, zatem nie jest mu potrzebna pełna wersja.
    Sam Piotr Górecki w jednym odcinku wspominał, że miał problem gdy uaktualnił BASCOM-a, gdzie kod wynikowy z winy zmian w kompilatorze powiększył się poza limit 2KB. Ale teraz z limitem 4KB kod musi się poprawnie skompilować. Ewentualnie nie zmieści się w ATtiny2313 (Ale zmieściłby się w ATtiny4313).
  • #24
    Arek1111111111
    Level 9  
    Oto przykładowe zdjęcie listingu zasilacza:[ATTINY2313][Bascom] - Konfiguracja ATTINY Nie chce kompilować co niektórych programów, wyświetla wtedy błędy tego typu

    [ATTINY2313][Bascom] - Konfiguracja ATTINY
    Przy niektórych listingach książki Piotra Góreckiego pojawiają się różne błędy.
    Ps problem jest co chwile w czym innym jak rozwiąże jeden to pojawiają się nowe zupełnie inne.

    Dodano po 13 [minuty]:

    to jest pełny listing zegara i zasilacza
  • #25
    emarcus
    Level 38  
    Arek1111111111 wrote:
    Nie chce kompilować co niektórych programów, wyświetla wtedy błędy tego typu:

    [ATTINY2313][Bascom] - Konfiguracja ATTINY
    Przy niektórych listingach książki Piotra Góreckiego pojawiają się różne błędy.
    Ps problem jest co chwile w czym innym jak rozwiąże jeden to pojawiają się nowe zupełnie inne.

    Dodano po 13 [minuty]:

    to jest pełny listing zegara


    Tu akurat masz błąd w programie: (linia4)
    Portb = &B255
    taki syntax jest niezrozumiały dla nikogo!!!!
    W tym wyrażeniu po "&B" moga pojawic się tylko zera albo jedynki w dowolnej "mieszanej" formie (w sumie 8 znaków) jako liczba binarna.
    Poprawny wpis w tej konfiguracji byłby:
    Portb =&B11111111; albo 'Port=255'; albo 'Portb =&HFF' - wszystko znaczy to samo: - wszystkie piny portuB wyjściowego (poprzedni wpis), mają ustawiony początkowy stan wysoki.

    Dla ułatwienia compilator najczęściej wskazuje w dolnym oknie gdzie jest błąd; - tu: linia4 listingu.
    Nie masz włączonej opcji numeracji linii.
    Z górnego menu wybierz 'Options/Environment/Editor' -> zaznacz box 'Line numbers', ostatnia opcja na dole.
    Inna uwaga to: wystarczy 'double click' na każdy wymieniony błąd w dolnym oknie compilatora, a ukaże ci się znak przy linii z błędem;
    Dobrym nawykiem jest nie komasowanie więcej niz jednej instrukcji/dyrektywy w jednej linii, mimo że Bascom pozwala na rozdzielenie ich dwukropkiem, ułatwia to wszukanie ewentualnych błędów w programie.

    e marcus
  • #26
    Arek1111111111
    Level 9  
    Juz program działa prawidłowo, dziękuje za pomoc:D Pozdrawiam :)
    Arek

    Zamykam.
    Dar.El