Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

AVT592 - w jakiej wersji napisano program.

poczatkujacyavr
-
-
Posty:45
Rejestracja:26 mar 2009, o 18:20
Lokalizacja:Kraków
AVT592 - w jakiej wersji napisano program.

Postautor: poczatkujacyavr » 12 gru 2010, o 19:21

Witam,

chciałbym skompilować raz jeszcze program dla kitu AVT592 i nie wiem pod jaką wersją AVR-GCC jest napisany. Czy ktoś może pomóc? Listing pobrać można bezpośrednio z działu Download EP. Autor nie odpowiada. Nie jestem specjalistą w C ciężko mi sobie z tym poradzić.

Dziękuje.

P.S. Tak zachwalają C, wchodzę na stronę skąd można pobrać WinAVR a tam dokładnie 20 wersji niekompatybilnych ze sobą pod względem składni. Porażka.

Awatar użytkownika
pajaczek
Moderator
Moderator
Posty:2653
Rejestracja:24 sty 2005, o 00:39
Lokalizacja:Winny gród

Postautor: pajaczek » 13 gru 2010, o 13:30

C jest zawsze ze sobą zgodne "pod względem składni" (te zmiany jakie zachodziły w języku na przestrzeni lat, to na prawdę sporadyczne sprawy). Różnice mogą być w wersjach bibliotek ;)

Może pokaż skąd pobierałeś, względnie z czym nie możesz sobie poradzić (jakie błędy).

poczatkujacyavr
-
-
Posty:45
Rejestracja:26 mar 2009, o 18:20
Lokalizacja:Kraków

Postautor: poczatkujacyavr » 13 gru 2010, o 16:39

Witam,

używam WinAVR 20100110.
Komunikaty które otrzymuję to:

Kod: Zaznacz cały

watomierz.c:104: warning: pointer targets in passing argument 1 of 'lcd_string' differ in signedness watomierz.c:109: warning: pointer targets in passing argument 1 of 'lcd_string' differ in signedness watomierz.c:123: warning: pointer targets in passing argument 1 of 'lcd_string' differ in signedness watomierz.c:130: warning: pointer targets in passing argument 1 of 'lcd_string' differ in signedness watomierz.c:145: warning: pointer targets in passing argument 1 of 'lcd_string' differ in signedness watomierz.c:152: warning: pointer targets in passing argument 1 of 'lcd_string' differ in signedness Linking: watomierz.elf avr-gcc -mmcu=at90s2313 -I. -gdwarf-2 -DF_CPU=4000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=watomierz.o -std=gnu99 -MMD -MP -MF .dep/watomierz.elf.d watomierz.o --output watomierz.elf -Wl,-Map=watomierz.map,--cref -lm watomierz.o: In function `show_time': f:\temp\winavrc2010\watomierz/watomierz.c:67: undefined reference to `lcd_goto' f:\temp\winavrc2010\watomierz/watomierz.c:69: undefined reference to `lcd_print_x_digit' f:\temp\winavrc2010\watomierz/watomierz.c:69: undefined reference to `lcd_data' f:\temp\winavrc2010\watomierz/watomierz.c:71: undefined reference to `lcd_print_x_digit' f:\temp\winavrc2010\watomierz/watomierz.c:72: undefined reference to `lcd_data' f:\temp\winavrc2010\watomierz/watomierz.c:73: undefined reference to `lcd_print_x_digit' f:\temp\winavrc2010\watomierz/watomierz.c:74: undefined reference to `lcd_data' f:\temp\winavrc2010\watomierz/watomierz.c:75: undefined reference to `lcd_print_x_digit' watomierz.o: In function `main': f:\temp\winavrc2010\watomierz/watomierz.c:98: undefined reference to `lcd_init' f:\temp\winavrc2010\watomierz/watomierz.c:99: undefined reference to `lcd_command' f:\temp\winavrc2010\watomierz/watomierz.c:102: undefined reference to `lcd_string' f:\temp\winavrc2010\watomierz/watomierz.c:103: undefined reference to `lcd_goto' f:\temp\winavrc2010\watomierz/watomierz.c:104: undefined reference to `lcd_string' f:\temp\winavrc2010\watomierz/watomierz.c:105: undefined reference to `delay_long' f:\temp\winavrc2010\watomierz/watomierz.c:107: undefined reference to `lcd_clear' f:\temp\winavrc2010\watomierz/watomierz.c:108: undefined reference to `lcd_goto' f:\temp\winavrc2010\watomierz/watomierz.c:109: undefined reference to `lcd_string' f:\temp\winavrc2010\watomierz/watomierz.c:118: undefined reference to `lcd_goto' f:\temp\winavrc2010\watomierz/watomierz.c:119: undefined reference to `lcd_print_x_digit' f:\temp\winavrc2010\watomierz/watomierz.c:120: undefined reference to `lcd_data' f:\temp\winavrc2010\watomierz/watomierz.c:121: undefined reference to `lcd_print_x_digit' f:\temp\winavrc2010\watomierz/watomierz.c:123: undefined reference to `lcd_string' f:\temp\winavrc2010\watomierz/watomierz.c:129: undefined reference to `lcd_goto' f:\temp\winavrc2010\watomierz/watomierz.c:130: undefined reference to `lcd_string' f:\temp\winavrc2010\watomierz/watomierz.c:139: undefined reference to `lcd_goto' f:\temp\winavrc2010\watomierz/watomierz.c:144: undefined reference to `lcd_print_x_digit' f:\temp\winavrc2010\watomierz/watomierz.c:149: undefined reference to `lcd_print_x_digit' f:\temp\winavrc2010\watomierz/watomierz.c:150: undefined reference to `lcd_data' f:\temp\winavrc2010\watomierz/watomierz.c:151: undefined reference to `lcd_print_x_digit' f:\temp\winavrc2010\watomierz/watomierz.c:152: undefined reference to `lcd_string'
Jest tego trochę.

Edited by Pajączek:

Kod: Zaznacz cały

[/color]
Ostatnio zmieniony 13 gru 2010, o 18:21 przez poczatkujacyavr, łącznie zmieniany 2 razy.

Awatar użytkownika
pajaczek
Moderator
Moderator
Posty:2653
Rejestracja:24 sty 2005, o 00:39
Lokalizacja:Winny gród

Postautor: pajaczek » 13 gru 2010, o 18:10

Proszę używać

Kod: Zaznacz cały

, to raz. Dwa, pierwszy blok to warningi, nie wpływa to na skompilowanie projektu. Drugi blok to problemy linkera, skąd masz makefile którego użyłeś (w źródłach nie ma, sam tworzyłeś), czy lcd4bit skompilowane? Dodaj do makefile wywołania linkera odpowiedni skompilowany plik, bo na razie to nie może znaleźć.

poczatkujacyavr
-
-
Posty:45
Rejestracja:26 mar 2009, o 18:20
Lokalizacja:Kraków

Postautor: poczatkujacyavr » 13 gru 2010, o 18:32

Czy mogę prosić troszkę jaśniej? Bo dopiero poznaję to narzędzie. Dziękuje.

Awatar użytkownika
pajaczek
Moderator
Moderator
Posty:2653
Rejestracja:24 sty 2005, o 00:39
Lokalizacja:Winny gród

Postautor: pajaczek » 13 gru 2010, o 18:42

Pokaż używany makefile.

A opisowo, skompilowałeś kod z watomierz.c, w kodzie podane są pliki nagłókowe *.h, dzięki temu nie krzyczy że nie wie co to znaczy "lcd_string", bo wie (dzięki lcd4bit.h) jak wygląda wywołanie, oraz że jak mu (linker) będzie potrzebne, to mu podasz. Do kompilacji nie jest to potrzebne... co innego do zlinkowania (połączenia w całość w formę binarną - tutaj elf).
Jednak Ty już linkerowi nie podajesz tego pliku (bo zapewne nie skompilowałeś lcd4bit.c oraz delay.c).

poczatkujacyavr
-
-
Posty:45
Rejestracja:26 mar 2009, o 18:20
Lokalizacja:Kraków

Postautor: poczatkujacyavr » 14 gru 2010, o 08:26

Proszę bardzo.

Pzdr

Wróć do „Kity AVT”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości