ISP przez LPT w AVR Studio

Loading thread data ...

W dniu 2011-01-06 21:45 4CX250 napisał(a):

AVR ISP (oznaczenie Atmela: ATAVRISP) ma port szeregowy (COM) a nie równoległy (LPT):

formatting link
Współczesne wersje AVR Studio (4.x) obsługują tylko atmelowe programatory (i ich klony :)) podłączane przez porty COM lub USB.

Reply to
Adam Dybkowski

W dniu 2011-01-07 13:26, 4CX250 pisze:

Bo prawdopodobnie dodałeś tylko pliki nagłówkowe, a zapomniałeś o dodaniu plików *.c z tej biblioteki do projektu.

Reply to
Zbych

Użytkownik "4CX250" snipped-for-privacy@poczta.onet.pl> napisał w wiadomości news:ig70n5$2il7$ snipped-for-privacy@news2.ipartners.pl...

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

Reply to
4CX250

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 :)...

Reply to
Konop

Użytkownik "Konop" snipped-for-privacy@gazeta.pl napisał w wiadomości news:ig7bcp$b15$ snipped-for-privacy@inews.gazeta.pl...

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ę.

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

Reply to
4CX250

Ogolnie jesli zainstalujesz WinAVR a potem AVR Studio to Studio wykrywa WinAVR i uzywa automatycznie.

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:

formatting link
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.

Tomek

Reply to
Tom

Użytkownik "Tom" snipped-for-privacy@no.spam.invalid> napisał w wiadomości news:ig97mc$cs7$ snipped-for-privacy@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

Reply to
4CX250

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.

Reply to
Sebastian Biały

Użytkownik "Sebastian Biały" snipped-for-privacy@poczta.onet.pl> napisał w wiadomości news:iga7cr$n06$ snipped-for-privacy@news.onet.pl...

Tak, ale na "dłuższą metę" jest to upierdliwe udpalanie z palca.

Marek

Reply to
4CX250

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.