4CX250
Guest
Thu Jan 06, 2011 9:45 pm
Czy ja ślepy jestem czy nie ma rzeczywiście obsługi programatora AVR
ISP przez port LPT ?
Marek
Roman
Guest
Thu Jan 06, 2011 10:57 pm
Użytkownik "4CX250" <taunusmtv@poczta.onet.pl> napisał w wiadomości
news:ig59jh$1nm9$1@news2.ipartners.pl...
Quote:
Czy ja ślepy jestem czy nie ma rzeczywiście obsługi programatora AVR
ISP przez port LPT ?
PonyProg to ma. Przynajmniej można tak wybrać w: Setup->Interface Setup...
Pozdrawiam
Roman
Adam Dybkowski
Guest
Fri Jan 07, 2011 12:11 am
W dniu 2011-01-06 21:45 4CX250 napisał(a):
Quote:
Czy ja ślepy jestem czy nie ma rzeczywiście obsługi programatora AVR ISP
przez port LPT ?
AVR ISP (oznaczenie Atmela: ATAVRISP) ma port szeregowy (COM) a nie
równoległy (LPT):
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2726
Współczesne wersje AVR Studio (4.x) obsługują tylko atmelowe
programatory (i ich klony

) podłączane przez porty COM lub USB.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
4CX250
Guest
Fri Jan 07, 2011 12:33 pm
Użytkownik "Adam Dybkowski" <adybkows12@45wp.pl> napisał w wiadomości
news:ig5i6t$11k$1@news.onet.pl...
Quote:
Dzięki za wyjaśnienia. Pozostaje więc twój program lub Pony Prog, albo
zakupić programator "dla ludzi"
Pozwole sobie ciebie jeszcze o coś zapytać.
Chciałem wykorzystać bibliotekę niejakiego Pana Radzio obsługującą
wyśw graph. na KS0108.
Zainstalowałem sobie zarówno AVR Studio jak i Win AVR. AVR Studio
wygląda na poważniejsze narzędzie ale problemem jest pecet. Dość długo
trzeba czekac na wykonywanie pewnych czynności, czasem nawet po
kilkanascie sekund. Trzeba będzie usprawnić PCta ale zanim to zrobię
wróciłem więc do Win AVR ale w nim mam natomiast problem z
includowaniem tej biblioteki.
Wklepałem krótki programik i gdy wybieram make all to nie rozpoznaje
jednej lub paru funkcji z tej biblioteki.
Całą zawartość biblioteki GLCDKS0108 od Radzio umieściłem w katalogu
E:\WinAVR\avr\include\ks108
Zapis w main.C wygląda tak
#include <ks108/KS0108.h>
#include <ks108/graphic.h>
int main(void)
{
GLCD_Initialize();
GLCD_ClearScreen();
GLCD_GoTo(0,0);
GLCD_WriteString(" Test Wyswietlacza |");
for( ; ; );
return 0;
}
Ciągle wywala mi błędy które pojawiają się już na etapie kompilacji.
Poniżej wkleiłem komunikaty jakie wydał z siebie Win AVR
Quote:
"make.exe" all
-------- begin --------
avr-gcc (WinAVR 20100110) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There
is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
Compiling C: main.c
avr-gcc -c -mmcu=atmega128 -I. -gstabs -DF_CPU=8000000UL -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes
-Wa,-adhlns=./main.lst -std=c99 -MMD -MP -MF .dep/main.o.d main.c -o
main.o
main.c: In function 'main':
main.c:8: warning: implicit declaration of function 'GLCD_Initialize'
Linking: main.elf
avr-gcc -mmcu=atmega128 -I. -gstabs -DF_CPU=8000000UL -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes
-Wa,-adhlns=main.o -std=c99 -MMD -MP -MF .dep/main.elf.d
main.o --output main.elf -Wl,-Map=main.map,--cref -lm
main.o: In function `main':
main.c:8: undefined reference to `GLCD_Initialize'
main.c:9: undefined reference to `GLCD_ClearScreen'
main.c:11: undefined reference to `GLCD_GoTo'
main.c:12: undefined reference to `GLCD_WriteString'
make.exe: *** [main.elf] Error 1
Quote:
Process Exit Code: 2
Time Taken: 00:01
4CX250
Guest
Fri Jan 07, 2011 1:26 pm
Użytkownik "4CX250" <taunusmtv@poczta.onet.pl> napisał w wiadomości
news:ig6tlb$2h4r$1@news2.ipartners.pl...
Quote:
Pozwole sobie ciebie jeszcze o coś zapytać.
Chciałem wykorzystać bibliotekę niejakiego Pana Radzio obsługującą
wyśw graph. na KS0108.
....
Znalazłem chyba błąd ale nadal to nie wyszystko.
W ściągniętych bibliotekach w KS0108.h w deklaracji było
GLCD_Initalize oraz GLCD_InitalizePorts a wywołania są do
GLCD_Initalize bez "i"
Teraz kompilator przechodzi bez błędu ale linker nadal wywala te same
błędy.
Marek
Zbych
Guest
Fri Jan 07, 2011 2:04 pm
W dniu 2011-01-07 13:26, 4CX250 pisze:
Quote:
Użytkownik "4CX250" <taunusmtv@poczta.onet.pl> napisał w wiadomości
news:ig6tlb$2h4r$1@news2.ipartners.pl...
Pozwole sobie ciebie jeszcze o coś zapytać.
Chciałem wykorzystać bibliotekę niejakiego Pana Radzio obsługującą
wyśw graph. na KS0108.
...
Znalazłem chyba błąd ale nadal to nie wyszystko.
W ściągniętych bibliotekach w KS0108.h w deklaracji było GLCD_Initalize
oraz GLCD_InitalizePorts a wywołania są do GLCD_Initalize bez "i"
Teraz kompilator przechodzi bez błędu ale linker nadal wywala te same
błędy.
Bo prawdopodobnie dodałeś tylko pliki nagłówkowe, a zapomniałeś o
dodaniu plików *.c z tej biblioteki do projektu.
4CX250
Guest
Fri Jan 07, 2011 2:17 pm
Użytkownik "4CX250" <taunusmtv@poczta.onet.pl> napisał w wiadomości
news:ig70n5$2il7$1@news2.ipartners.pl...
Quote:
Teraz kompilator przechodzi bez błędu ale linker nadal wywala te
same błędy.
Wychodzi na to że sam sobie odpowiadam na stawiane tu pytania

ale
opiszę co i jak bo być może ktoś inny będzie miał takie problemy.
Na szczęście znalazłem kolejna i ostateczną przyczynę i program dał
się już bez błędów skompilować oraz zlinkować.
O ile wcześniej sygnalizowałem że sa błędy w źródłach gdzi zapomniano
kilku literek "i" to teraz znalazłem przyczynę raczej po mojej stronie
wynikającej z niewiedzy.
Wydawało mi się że samo #include plik.h w main.c powinno wystarczyć
ale okazuje się że kompilator zrobi tylko to co mu się zleci w
Makefile.
Otóż plik Makefile musiałem uzupełnić dopisując w nim wszystkie
wymagane pliki z dołączaniej biblioteko aby zostały skompilowane przed
zlinkowaniem.
# List C source files here. (C dependencies are automatically
generated.)
SRC = $(TARGET).c KS0108.c graphic.c KS0108-AVR.c
I to wszystko.
Powiem szczerze że pisząc wczesniej programy tylko w asemblerze
łatwiej mi było zapanować nad wszystkim.
No cóz uparłem się uczyć w C. Na PCty natomiast pisałem dawno już temu
w Turbo Pascalu a potem w Borland Pascalu i nawyki są inne.
Marek
4CX250
Guest
Fri Jan 07, 2011 2:20 pm
Użytkownik "Zbych" <abuse@onet.pl> napisał w wiadomości
news:4d270f56$0$2501$65785112@news.neostrada.pl...
Quote:
Bo prawdopodobnie dodałeś tylko pliki nagłówkowe, a zapomniałeś o
dodaniu plików *.c z tej biblioteki do projektu.
Dość długo pisałem ostatnią wypowiedź i nie zauważyłem tej od ciebie
która pojawiła się w między czasie.
Oczywiście masz rację, tak było jak piszesz.
Marek
Konop
Guest
Fri Jan 07, 2011 4:27 pm
Quote:
Wydawało mi się że samo #include plik.h w main.c powinno wystarczyć ale
okazuje się że kompilator zrobi tylko to co mu się zleci w Makefile.
Otóż plik Makefile musiałem uzupełnić dopisując w nim wszystkie wymagane
pliki z dołączaniej biblioteko aby zostały skompilowane przed zlinkowaniem.
# List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c KS0108.c graphic.c KS0108-AVR.c
No

. Poczytaj trochę o tym. Ja z mojej strony wrzucę Ci 3 zdania
komentarza, ale to za mało - serio, poczytaj więcej!!
Pisząc projekt w C działamy z reguły tak, że każdy plik kompilujemy
OSOBNO (można więc kompilować różne fragmenty kodu z różnymi
ustawieniami

). Tworzą się w ten sposób pliki *.o. Żeby kompilator
mógł obsłużyć jakieś Twoje biblioteki musi wiedzieć, jakie są w niej
funkcje, z jakimi argumentami itd. Dlatego dołącza się pliki *.h.
Później, wszystkie pliki *.o trafiają do linkera, ten to wszystko
dopiero łączy w całość... no i jeśli Ty wywołujesz w jednym z plików *.c
funckję FunkcjaJakastam(), to linker MUSI znaleźć tą funkcję w jakimś
innym pliku

. To tyle

...
No a teraz do rzeczy - AVR Studio korzysta także z WinAVR - z tych
samych narzędzi (o ile piszesz w C, bo możesz pisać też w Assemblerze i
wtedy AVR Studio radzi sobie sam). Tyle tylko, że WinAVR wtedy sam dba o
stworzenie Makefile itp. Jeśli dodasz do projektu plik np. Ks0108-AVR.c,
od razu wpis o tym znajdzie się w Makefile i wszystko się poprawnie
skompiluje. Dlatego na początek polecam korzystać z AVR Studio

...
--
Pozdrawiam
Konop
4CX250
Guest
Fri Jan 07, 2011 5:22 pm
Użytkownik "Konop" <konoppo@gazeta.pl> napisał w wiadomości
news:ig7bcp$b15$1@inews.gazeta.pl...
Quote:
No a teraz do rzeczy - AVR Studio korzysta także z WinAVR
Czy owe korzystanie jest samopylne czy trzeba coś gdzieś poustawiać?
W AVR Studio mam narazie problem że coś zacina się czasem na dłuższą
chwilą i to mnie irytuje.
Musze znaleźć przyczynę.
Quote:
z tych samych narzędzi (o ile piszesz w C, bo możesz pisać też w
Assemblerze i wtedy AVR Studio radzi sobie sam). Tyle tylko, że
WinAVR wtedy sam dba o stworzenie Makefile itp. Jeśli dodasz do
projektu plik np. Ks0108-AVR.c, od razu wpis o tym znajdzie się w
Makefile i wszystko się poprawnie skompiluje. Dlatego na początek
polecam korzystać z AVR Studio

...
To jest rzeczywiście dobry argument aby z niego korzystać.
Narazie motam się jeszcze gdyż tak naprawdę chodzi mi o poznanie
samego c w sobie.
Marek
Tom
Guest
Sat Jan 08, 2011 9:39 am
On 8/01/2011 2:22 AM, 4CX250 wrote:
Quote:
Użytkownik "Konop" <konoppo@gazeta.pl> napisał w wiadomości news:ig7bcp$b15$1@inews.gazeta.pl...
No a teraz do rzeczy - AVR Studio korzysta także z WinAVR
Czy owe korzystanie jest samopylne czy trzeba coś gdzieś poustawiać?
Ogolnie jesli zainstalujesz WinAVR a potem AVR Studio to Studio wykrywa WinAVR i uzywa automatycznie.
Quote:
W AVR Studio mam narazie problem że coś zacina się czasem na dłuższą chwilą i to mnie irytuje.
Musze znaleźć przyczynę.
WinAVR przestal byc rozwijany okolo rok temu, ci sami ludzie tearz rozwijaja atmelowska wersje WinAVR nazywana AVR Toolchain. Jesli chcesz miec najnowsza wersje (co Tobie radze jesli nie uzywasz starego kodu) to wejdz na:
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725
sciagnij i zainstaluj:
AVR Studio 4.18 (build 684) (116 MB, updated 11/09)
AVR Studio 4.18 SP3 (b716) (31 MB, updated 9/10)
AVR Toolchain Installer (87 MB, updated 9/10) For use with AVR Studio 4.18 SP3
Jesli nie chcesz bawic sie w makefile to uzywaj AVR Studio od poczatku do robienia projektow, tworzysz nowy projekt (menu Project -> New Project) i wybierasz typ AVR GCC. AVR Studio zajmie sie detalami jak makefile, musisz tylko dodac wszystkie pliki do projektu.
Jesli chodzi o biblioteki to osobiscie kopiuje biblioteke do katalogu projektu (razem z moim kodem). Nie jest to na pewno "jedyna sluszna droga" i mozesz robic jak Ci pasuje ale tak mnie zycie nauczylo i odpowiada mi to z kilku wzgledow, miedzy innymi:
-mam pewnosc ze moj kod i biblioteka w danej wersji sa przetestowane, wspolpracuja ze soba i kompiluje sie bez bledow. Jak masz jedna kopie biblioteki i zmienisz na nowsza/inna wersje moze nie dzialac (to nie jest najgorsze, przynajmniej wiesz na czym stoisz) lub dzialac troche inaczej (o czym przewaznie dowiadujesz sie od wkur**ch uzytkownikow).
-jak robie backup to musze sie martwic tylko o moj katalog projektu, mam tam wszystko do odtworzenia calego projektu (trzymam tez tam informacje jaka wersja WinAVR zostala uzyta). Jak po kilku latach chcesz cos szybko zmienic to moze sie okazac ze najnowsza, aktualna wersja WinAVR nie kompiluje Twojego kodu tak samo albo nie kompiluje w ogole. Jak masz oryginalny kod (kompletnie z bibliotekami) i ta sama makefile, kompilujesz ta sama wersja WinAVR to masz gwarancje ze mozesz odtworzyc projekt i cos zmienic jak potrzeba.
-czasem potrzebuje zmienic/przystosowac biblioteke do moich potrzeb, jesli mialbym tylko jedna kopie wspolna dla wszystkich projektow to prawdopodobnie te zmiany sp***y inne projekty.
Quote:
z tych samych narzędzi (o ile piszesz w C, bo możesz pisać też w Assemblerze i wtedy AVR Studio radzi sobie sam). Tyle tylko, że WinAVR wtedy sam dba o stworzenie Makefile itp. Jeśli dodasz do projektu plik np. Ks0108-AVR.c, od razu wpis o tym znajdzie się w Makefile i wszystko się poprawnie skompiluje. Dlatego na początek polecam korzystać z AVR Studio

...
To jest rzeczywiście dobry argument aby z niego korzystać.
Narazie motam się jeszcze gdyż tak naprawdę chodzi mi o poznanie samego c w sobie.
Marek
Tomek
4CX250
Guest
Sat Jan 08, 2011 6:33 pm
Użytkownik "Tom" <tom@no.spam.invalid> napisał w wiadomości
news:ig97mc$cs7$1@news.eternal-september.org...
Dzięki za porady, co do katalogów to masz zupełną rację. W ASM jak
pisałem to też jakieś swoje i cudze zestawy zawsze kopiowałem do
katalogów roboczych.
Marek
Sebastian Biały
Guest
Sat Jan 08, 2011 6:37 pm
On 2011-01-07 14:17, 4CX250 wrote:
Quote:
Otóż plik Makefile musiałem uzupełnić dopisując w nim wszystkie wymagane
pliki z dołączaniej biblioteko aby zostały skompilowane przed zlinkowaniem.
Możesz w ogóle pominąc pliki makefile i uruchamiać kompilator ręcznie.
Dla malych projektów to czy skompiluje jeden czy cztery pliki za kazdym
razem jest bez znaczenia.
4CX250
Guest
Sun Jan 09, 2011 12:49 pm
Użytkownik "Sebastian Biały" <heby@poczta.onet.pl> napisał w
wiadomości news:iga7cr$n06$1@news.onet.pl...
Quote:
Możesz w ogóle pominąc pliki makefile i uruchamiać kompilator
ręcznie. Dla malych projektów to czy skompiluje jeden czy cztery
pliki za kazdym razem jest bez znaczenia.
Tak, ale na "dłuższą metę" jest to upierdliwe udpalanie z palca.
Marek