joachim726 Napisano Lipiec 2, 2011 Udostępnij Napisano Lipiec 2, 2011 Witam wszystkich! To mój pierwszy post na tym forum, więc proszę o wyrozumiałość za ewentualne błędy (w szczególności, jeśli to zły dział). Chcąc zacząć naukę programowania mikro kontrolerów w C (wybrałem ATmega8), zakupiłem zestaw uruchomieniowy ZL2AVR, z programatorem i samym mikro kontrolerem. Ponieważ używam systemu operacyjnego Linux Slackware 13.37, rozpocząłem kompletowanie potrzebnych narzędzi, pod ten właśnie system. Binutils skompilowałem, ze źródeł, podając parametry, podane w tutorialu znalezionym w internecie. Avr-gcc i avr-libc, zainstalowałem z pakietów. Kiedy postanowiłem, sprawdzić czy wszystko działa i skompilowałem ten kod #define F_CPU 1000000L #include #include main() { } [\code] , dostałem komunikat błędu: as: unrecognized option '-mmcu=atmega8' [\code] - . Proszę, o pomoc w rozwiązaniu tego problemu (co jest źle), ponieważ, samemu nie jestem w stanie tego zrobić. Jeśli potrzebne są jakieś logi, czy coś w tym stylu - wstawię. Ps. kompilowałem poleceniem: avr-gcc -mmcu=atmega8 -Os -g \ a.out a.c [\code] Cytuj Link do komentarza Share on other sites More sharing options...
joachim726 Lipiec 4, 2011 Autor tematu Udostępnij Lipiec 4, 2011 Czy powinienem, podac jeszcze jakieś inforacje? Cytuj Link do komentarza Share on other sites More sharing options...
Barto Lipiec 4, 2011 Udostępnij Lipiec 4, 2011 Konsolowo nie obsługiwałem kompilatora ale komenda -mmcu mi się nie podoba tak samo jak kompilatorowi. Spróbuj -mcu. Poza tym na samej diodzie masz kurs z podstawami Cytuj Link do komentarza Share on other sites More sharing options...
dondu Lipiec 4, 2011 Udostępnij Lipiec 4, 2011 To przykład z AVR Studio: avr-gcc -mmcu=atmega8 -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT Proba_10.o -MF dep/Proba_10.o.d -c ../Proba_10.c Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
pawel Lipiec 4, 2011 Udostępnij Lipiec 4, 2011 Proponuję naprawdę zapoznać się z dokumentacją do avr-gcc, tam są te wszystkie argumenty opisane. Ma być -mmcu. Ma pewno musi być fumkcja main() poprzedzona jakimś przedrostkiem określającym co ma zwracać(bądź nic). W porzypadku funkcji main() ma tam być int. Czyli program powinien wyglądać tak: #define F_CPU 1000000L #include <avr/io.h> #include <util/delay.h> int main() { } Cytuj Link do komentarza Share on other sites More sharing options...
dondu Lipiec 5, 2011 Udostępnij Lipiec 5, 2011 ... i przy okazji UL a nie L: #define F_CPU 1000000UL Cytuj Link do komentarza Share on other sites More sharing options...
joachim726 Lipiec 24, 2011 Autor tematu Udostępnij Lipiec 24, 2011 Poniewaz, musialem re-instalowac moj system (nadal mam Linux'a Slackware 13.37), musialem instalowac wszystko od nowa, tzn. skompilowalem ze zrodel wg. tego poradnika: lhttp://www.nongnu.org/avr-libc/user-manual/install_tools.html . Kiedy sprobowalem skompilowac ten kod: #define F_CPU 1000000L #include <avr/io.h> #include <util/delay.h> int main(void) { } , poleceniem avr-gcc -mmcu-atmega8 a.c -o a, assemblerowi nie przezkadzala juz opcja "-mmcu", jednak wystapil problem z bilioteka, na wyjscie bledu zostal zwrocony komunikat: a.c:2:20: fatal error: avr/io.h: No such file or directory compilation terminated. . Kiedy zakomentowalem polecenie zalaczajoce ten plik, zostal zwrocony alanoigczny komunikat nt. drogiego polecenia. Po usunieciu obu polecen include, kompilator zwraca ten blad: /lib/gcc/avr/4.6.1/../../../../avr/bin/ld: cannot find crtm8.o: No such file or directory /lib/gcc/avr/4.6.1/../../../../avr/bin/ld: cannot find -lc collect2: ld returned 1 exit status . Rozumiem, ze popelnilem blad podczas instalacji biblioteki. Bardzo prosze o pomoc. Ps.Przepraszam, za brak pl. znakow, spowodowane jest to tym, ze system jest swiezo po re-instalacji. Pps.Jesli pomocne w rozwiozaniu mojego problemu, beda logi systemowe, prosze podac jaki plik jest potrzebny, wkleje. Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!