Biblioteka tAvrLib

1.0.1

Autor:
Tomasz Wasilczyk (http://www.wasilczyk.pl)
Biblioteka tAvrLib jest zbiorem funkcji przeznaczonych dla mikrokontrolerów AVR, z nastawieniem na obsługę urządzeń peryferyjnych.

Najnowsza wersja tej biblioteki jest dostępna na stronie projektu: tAvrLib.wasilczyk.pl.

Licencja

Niniejszy kod jest objęty licencją GNU LGPL v3 (http://www.gnu.org/licenses/lgpl.html). Zezwala się na bezpłatne używanie biblioteki w innych, własnościowych lub nie, projektach. Nie wolno jednak korzystać z kodu lub jego fragmentów bez podania źródła wraz z odnośnikiem (oczywiście interfejs użytkownika końcowego nie musi zawierać wspomnianej informacji). Mile widziane jest informowanie autora o projektach wykorzystujących bibliotekę.

Użycie biblioteki

Biblioteka została przygotowana do współpracy z AVR Libc (http://www.nongnu.org/avr-libc/) - kompilator avr-gcc dla systemu Linux. Mimo to dołożę starań, aby nie było problemów z uruchomieniem pod systemem Windows (w szczególności WinAVR).

Przed użyciem żądanych funkcji wystarczy po prostu dołączyć wybrany plik nagłówkowy (*.h) - kod funkcji (*.c) zostanie dołączony razem z nim. Rozwiązanie to pozwala na użycie opcji kompilatora -fwhole-program (wymaga ona kompilacji całego programu tylko jednym poleceniem avr-gcc).

Uwaga:
Pominięcie przełącznika -fwhole-program może skutkować znacznym wzrostem objętości wynikowego programu.
Jeżeli Twoja aplikacja nie może być kompilowana z powyżej opisanym przełącznikiem, a wielkość kodu wynikowego ma istotne znaczenie, należy zmodyfikować pliki biblioteki, usuwając z niej nie używane funkcje. Można też usunąć z plików nagłówkowych dołączenia plików *.c (jednocześnie dołączając do tych drugich pliki *.h) oraz kompilować z użyciem linkera. Nie jest to jednak zalecane rozwiązanie.

Przykładowy sposób kompilacji programu wykorzystującego tAvrLib:

avr-gcc -mmcu=atmega16 -O2 -fwhole-program -Isciezka/do/tAvrLib program.c -o program
avr-size program
avr-objcopy -O ihex program program.hex

Polecenie avr-size nie jest konieczne, ale pozwala w prosty sposób sprawdzić użycie pamięci w programie. Zaleca się także używanie flag kompilatora -Wall, -Wextra i -pedantic.

Przykładowe programy

W katalogu examples znajdują się przykładowe programy, demonstrujące działanie wybranych komponentów tAvrLib. Przed kompilacją należy przygotować środowisko. W systemie Windows wystarczy zainstalować WinAVR (przy domyślnej konfiguracji), natomiast w systemie Linux:

Gdy środowisko jest już poprawnie skonfigurowane, należy wejść do katalogu z programem i wpisać:

make flash 

Nota:
Jeżeli wykonujemy kompilację spod Windowsa (WinAVR), należy z pliku Makefile usunąć polecenie sudo.
W celu użycia innego programu, niż avrdude, można wygenerować plik *.hex poleceniem:
make nazwa-projektu.hex 

Wygenerowano Sun Dec 6 19:18:51 2009 dla tAvrLib programem  doxygen 1.5.9