logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Błąd kompilacji w AVR Studio 4.12 i WinAVR - jak poprawnie skonfigurować?

xyacol 22 Lut 2006 14:22 9622 14
REKLAMA
  • #1 2333896
    xyacol
    Poziom 11  
    Posty: 36
    Pomógł: 1
    Zainstalowałem AVR Studio 4.12 z jakims service pack, Win AVR... napisałem program w C
    
    #include <avr/io.h>
    
    int main (void)
    
    {
    sbi(DDRB,PB1); 
    sbi(PORTB,PB1);
    
      while(1)
       {
       }
      return (0);    
    }
    

    i spróbowąłem go skompilować
    wyskoczył komunikat:
    MAKE Version 5.2  Copyright (c) 1987, 1998 Inprise Corp.
    Error Makefile 66: Command syntax error
    *** 1 errors during make ***
    Build succeeded with 0 Warnings...
    

    czy on mowi o bledzie?

    Gdzie jest tworzony i w ktorym momencie plik, ktory nalzy wgrac do Atmegi?

    Przepraszam, za pytania dla niektórych zbyt banalne, ale dopiero sie ucze...

    Dodano po 31 [minuty]:

    teraz juz mi się wszystkoi posypalo :/ Doinstalowałem AVR side i w AVR Studio nie mogę otworzyć zadnego pliku z C :/


    Mogłbym prosic o krótka istrukcje jak zainstalowac i skonfigurowac potrzebne (?) programy do napisania programu w C pod AVR, skompilowania go i potem zaladowania do mikroprocesora? :/
  • REKLAMA
  • #2 2334041
    juntom
    Poziom 19  
    Posty: 216
    Pomógł: 35
    Ocena: 27
    Blad ktory pokazales wynika z tego, ze masz zainstalowane Delphi lub Buildera.Dodaj do sciezki odpowiedni path i bedzie ok (panel sterowania->system->zaawansowane>zmienne srodowiskowe). Proponuje abys nie uzywal sbi...cbi... bo za chwile bedziesz pisal nowy post ;) Przejrzyj forum a wszystko bedzie jasne.
    Ps. Jesli uzywasz avrside to nie musisz sie martwic o makefile...

    Tomek
  • REKLAMA
  • #3 2334078
    xyacol
    Poziom 11  
    Posty: 36
    Pomógł: 1
    1.
    w sumie to nie bardzo widze roznice miedzy winAVR, AVR Studio i AVR Side...
    We wszystkich tych programach moge pisac...
    Rozumiem, ze WinAVR służy do kompilacji, bo bez niego po napisaniu programu a AVR Studio i przy probie kompilacji, podaje, ze go brakuje... Ale jaka jest w tym wszystkim rola AVR Side?

    Ponawiam jeszcze raz swoja prosbę o pomoc w poprawnej instalacji potrzebnych mi programów.
    Mam zainstalować te 3? Czy kolejność jest ważna?

    2.
    sbi, cbi - tak było podane w tutorialu... :/
    przeszukałem forum w poszukiwnaiu hasa "sbi cbi" i nie znalazłem żadnych przeciwskazań do używnia tych komend. Mozesz wyjasnic w czym tkwi problem? Albo może jakiś linko, bo mogę nie wiedzieć czego mam szukać

    Dodano po 1 [godziny] 13 [minuty]:

    Myslę, ze taka instrukcja byłaby przydatna dla wielu początkujących, nie tylko dla mnie, (ponieważ nie znalazłem na forum takiego HOW TO instalujących oprogramowanie dla AVR).

    W imieniu swoim i reszty zainteresowanych prosze jednak o pomoc, bo każdy kiedyś zaczynał :D

    Ps.
    A jeśli mimmo wszystko mylę się i był gdzieś podobny post z opisem, to proszę o link i jestem gotów przyjąć burę oraz obiecuję poprawe.
  • #4 2335027
    Dexter77
    Poziom 28  
    Posty: 889
    Pomógł: 134
    Ocena: 19
    Akurat tutaj wydajac polecenie make wywolywany jest make innego kompilatora tak jak wspomnial juntom prawdopodobnie cos ze stajni Borlanda, jesli masz zainstalowany C++ Builder lub cos innego to zeby wywolac make z WinAVR musisz podac sciezke dostepu. A jak juz uporasz sie z tym to dostaniesz blad "Undefined instruction or macro: sbi" Wpisz taki tekst w pole szukaj a zobaczysz ze znajdziesz.
    Pozdro
    Dexter
  • #5 2335864
    juntom
    Poziom 19  
    Posty: 216
    Pomógł: 35
    Ocena: 27
    1/ zainstaluj winavr
    2/ zainstaluj najnowsze avr studio (umozliwa wspolprace z winavr)
    3/ dodaj sciezke dostepu (path) do winavr w sposob jaki wskazalem poprzednio (wpisz do zmiennej :C:\WinAVR\bin;C:\WinAVR\utils\bin);
    4/ zacznij zabawe...
    Ps. Avr side to jest tylko IDE(ale bardzo uzyteczne dla poczatkujacych ze wzgledu na brak koniecznosci edycji makefile- tworzy je sam).
    A kwestie sbi,cbi wyjasnil kolega Dexter77 ;)
  • REKLAMA
  • #6 2335874
    micha3
    Poziom 12  
    Posty: 24
    Pomógł: 2
    Ocena: 1
    Wydaje mi się że AvrSide jest najprostrzy w użyciu ->po prostu przed pierwszą kompilacją wskazujesz gdzie jest katalog /bin (nie avr/bin).
    Pozostałą konfiguracjee (procesor itd dokonujesz w opcjach). Innymi słowy nie musisz męczyć się z makefile.
    Nie wiem której wersji WinAVR używasz dlatego trudno mi doradzać co do make. Wiem jednak żę z najnowszą (z tego roku) były pewne problemy.
    Ja osobiście używam albo AvrSide albo Programers Notepad 2 z własnym skryptem uruchomienia (modyfikacja tego co znalazłem w jednej z ostatnich EdW).
    Niechęć co do makr cbi wynika z tego że zostały one "potępione" w jednej z ostatnich wersji avr-libc (tak samo jak kiedyś outp).
    Zamiast nich należy stosować:
    
      PORTB|=1<<PB2; // ustawia pin PB2
      PORTB&=~(1<<PB2); //zeruje pinPB2
    


    Samego AVRStudio 1.12 nie polecam ->dla mnie jakoś wolno działa
  • #7 2336966
    xyacol
    Poziom 11  
    Posty: 36
    Pomógł: 1
    1. To jaka wersje AVR Side polecacie?

    2. Rozumiem, że kompilacje mozna przeprowadzić zarówno w AVR Studio jak i w AVR Side, tylko, że w AVR Side nie ma problemu z utworzeniem "makefile"? Dobrze rozumiem?

    Czy mogę zainstalować tylko Win AVR i AVR Side (bo rozumiem, ze AVR Studio spełnia tę samą rolę co AVR Side + jeszcze można w nim coś zasymulowac)?

    3. Jak wyglada kompilacja programu? Napiszę program w C np. w AVR Side i co dalej...? (musze wskazac /bin? co to jest za katalog i czym sie rozni od /avr/bin)

    Ps. Dziekuje za pomoc do tej pory i prosze o jeszcze troche cierpliwosci, zaczyna mi sie powoli wszystko układac w calość, a jak wspomnialem bedzie to juz instrukcja dla początkujących na przyszłość. Może nawet admin przykleji temat :]
  • REKLAMA
  • #9 2338149
    micha3
    Poziom 12  
    Posty: 24
    Pomógł: 2
    Ocena: 1
    1. Chodziło mi o AVRStudio a nie o avrside
    Generalnie może być najnowsza wersja. Zauważyłem tylko że AVRStudio 4.12 jest trochę powolny w stosunku do jego poprzedniej wersji 4.11
    więcej na temat AVRSdie możesz przeczytać na stronie domewej tego programu.
    2.AvrSide nie potrzebuje makefile ->poprostu bezpośrednio uruchamia gcc
    3. Aby była możliwa symulacja w opcjach kompilacji należy olbo zaznaczyć dwarf-2 albo odpowiednio wpisać w makefile( jest to domyślnie właczone). Ja urzywam AVRStudio tylko do symulacji, w tym celu należy w nim wczytać pilk projekt.elf lub project.aps.
    4. Są to katalogi kompilatora, i na razie nie musisz się nimi interesować
    5.Radziłbym ci zajrzeć do kilku ostatnich numerów EdW(bodajże od września). Jest tam prowadzony kurs, urzywają tam właśnie WinAVR.
  • #10 2344860
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    AVRSide jest niekompatybilny i niepotrzebny dla najnowszego AVRStudio, plugin AVR-gcc + WinAVR posiadają razem już sporo funkcjonalności. Czy lektura pliku pomocy do AVRStudio to już taki wysiłek, na który bardzo trudno się zdobyć ?
  • #11 2345052
    xyacol
    Poziom 11  
    Posty: 36
    Pomógł: 1
    Zlosliwcom mowimy NIE! ;) Wiem, ze czasem "doswiadczonych " moga denerwowac tego typu pytania, bo dla nich odpowiedz jest oczywista, a jesli czegos nie wiedza, to przypuszczaja gdzie tego szukac. Ja jednak zaczynam i czasem bede zadawal "proste" pytania.

    Wybacz, ale w tym pliku pomocy nie odnalazlem nic na temat AVRSide, takze w pomocy avr side nie ma nic na temat uzytecznosci tych dwoch programow, dlatego pytam :/
  • #12 2346322
    elektryk
    Poziom 42  
    Posty: 11029
    Pomógł: 439
    Ocena: 241
    xyacol napisał:
    Zlosliwcom mowimy NIE! ;) Wiem, ze czasem "doswiadczonych" moga denerwowac tego typu pytania, bo dla nich odpowiedz jest oczywista, a jesli czegos nie wiedza, to przypuszczaja gdzie tego szukac. Ja jednak zaczynam i czasem bede zadawal "proste" pytania.
    Leniwcom mówiemy NIE, na proste pytania odpowiada profesor google, wiem że myślenie boli, ale nikt nie lubi ludzi którzy oczekują że wszystko dostaną gotowe na tacy a sami zgarną za to wszystkie laury.
  • #13 2347417
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    xyacol napisał:
    Wybacz, ale w tym pliku pomocy nie odnalazlem nic na temat AVRSide, takze w pomocy avr side nie ma nic na temat uzytecznosci tych dwoch programow, dlatego pytam
    Za to jest sporo o WinAVR, pisałem już, że AVRSide jest nie kompatybilne - w domyśle - należy sobie darować jego instalację, a zamiast niego zainstalować samo WinAVR. Czy teraz już się rozumiemy ? ;)
  • #14 10691371
    Special_K
    Uczeń
    Posty: 103
    Witam. Szukam i nie mogę znaleźć nic na ten temat. Wyskakuje mi błąd kiedy klikam ,,Display the 'connect' '' dialog lub ,,Connect to the selected AVR programmer''. Chodzi o AVR Studio 4.14 A oto przyczyna mojego pytania :

    :Tip: To auto.connect to the programmer used last time, press the 'Programmer' button on the toolbar.

    Note that a tool cannot be used for programming as long as it is connected in a debugging sessios. In that case, select 'Stop Debugging' first.

    Wyłączyłem debuggowanie i dalej to występuje. O co chodzi ?
  • #15 10691794
    johny_w
    Poziom 24  
    Posty: 674
    Pomógł: 80
    Ocena: 63
    Zarówno AvrSide jak i AvrStudio są tylko programami do edycji. Wybierasz ten, który bardziej Ci odpowiada. Równie dobrze możesz pisać w notatniku.
    I oba wymagają kompilatora, którym w tym przypadku jest WinAVR.
    Aby program "widział" kompilator musisz dodać ścieżki tak jak powiedział juntom.

    Co do makefile: oba wyżej wymienione środowiska tworzą go automatycznie więc nie ma czym się przejmować. Wystarczy tylko zainteresować się opcjami danego projektu :)

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy problemów z kompilacją programów w języku C dla mikrokontrolerów AVR przy użyciu AVR Studio 4.12, WinAVR oraz AVR Side. Głównym problemem jest błąd związany z wywołaniem polecenia make, który wynika z konfliktu z innym narzędziem make pochodzącym z oprogramowania Borland (Delphi, C++ Builder). Rozwiązaniem jest poprawne ustawienie zmiennej środowiskowej PATH, aby wskazywała na katalogi WinAVR (np. C:WinAVRbin; C:WinAVRutilsbin). Użytkownicy zalecają unikanie makr sbi i cbi, które są przestarzałe i mogą powodować błędy, na rzecz bezpośredniej manipulacji rejestrami portów (np. PORTB |= 1
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA