K U R S
AVR GCC: kompilator C
mikrokontrolerów AVR,
część 6
W tej części kursu przedstawiamy zasady korzystania z plików
Do używanych w projekcie plików
nagłówkowych *.h odwołujemy się
nagłówkowych, które są jednym z najbardziej podstawowych
w dwojaki sposób: #include
narzędzi ułatwiających pracę z kompilatorem AVR GCC.
albo #include file.h . Różnica leży
tylko w sposobie wyszukiwania przez
kompilator na dysku pliku o podanej > Używaj lokalnych podkatalogów lib/ wiska aktualizacja tabeli zależności nie
nazwie. Przy odwołaniu <> w pierw- inc. Automatycznie jest także przy wy- odbywa się samoczynnie; po wprowa-
szej kolejności sprawdzane są wła- wołaniu kompilatora dodawana ścieżka dzeniu w projekcie korekt takich jak
sne, systemowe zasoby plików avr gcc do subfoldera [\inc]. dodanie lub usunięcie pliku czy też
(a więc foldery avr\include i lib\gcc\ Z lokalizacją własnych plików na- dopisanie (usunięcie) dołączenia na-
avr\wersja\include), do których nie główkowych związana jest jeszcze jed- główka w kodzie zródłowym, należy
musimy podawać ścieżki. Dołącza- na opcja AvrSide: Konfiguracja projektu użyć polecenia menu Projekt > Aktu-
my więc takim zapisem wszystkie > AvrSide > Szukaj deklaracji w folde- alizuj zależności. Nie musimy jednak
potrzebne w projekcie pliki avr libc. rach inc. Jest ona połączona z mecha- tego każdorazowo robić przy ładowaniu
Konieczne jest jednak zaznaczenie nizmem podpowiedzi deklaracji symbo- projektu w tym przypadku utworze-
wejścia do ewentualnych subfolde- lu (F1). Przeszukanie plików w poszuki- nie tabeli jest automatyczne. (Powyż-
rów a więc np. #include . waniu deklaracji odbywa się domyślnie sze polecenie jest także przydatne dla
Użycie uniksowego slasha / zamiast wewnątrz foldera projektu. Zaznaczenie zresetowania tabeli w razie wystąpienia
windowsowego backslasha \ nie jest opcji powoduje również przeszukanie błędu, którego niestety nie udało mi
błędem: kompilator interpretuje go po- plików w dodatkowych lokalizacjach się dotychczas zlokalizować, a który po-
prawnie natomiast znacznie ułatwione jest to bardziej uniwersalne ale może woduje ciągłe oznaczenie plików zró-
jest przeniesienie projektu do środowi- spowalniać pracę AvrSide w przypadku dłowych jako zmienione pomimo ich
ska uniksowego (jak Linuks). nagromadzenia dużej liczby plików. przekompilowania).
Forma uruchamia wyszukiwanie Następne ułatwienie w pracy z pli- Należy też pamiętać, że powyż-
pliku od bieżącego folderu projektu kami nagłówkowymi dotyczy zależności. sza obsługa jest jednopoziomowa,
oraz dodatkowych podanych kompila- Mianem tym określamy w tym przypad- nie wspiera zagnieżdżonych dołączeń
torowi lokalizacji. W ten sposób powo- ku ustalenie, w których plikach zródło- (w nagłówku 1.h dołączamy 2.h a z ko-
łujemy się więc na własne pomocnicze wych *.c oraz *.s jest używany dany lei 1.h jest dołączony do 3.c nasza
pliki nagłówkowe projektu (jak dane.h plik nagłówkowy. Zmiana w takim pliku uproszczona obsługa wykryje zmianę
w naszym przykładzie). Dodatkowe nagłówkowym pociąga za sobą oczywi- w 1.h ale w 2.h juz nie, konieczne
ścieżki przeszukiwania wprowadzamy ście zmiany w tych zródłach co wymaga jest zastosowanie komendy Build). Jak
przy pomocy opcji Iścieżka. Środowi- ich ponownego przekompilowania. Jed- widać nie może się więc ona równać
sko AvrSide wspiera jedną pomocniczą nak bez samoczynnego wsparcia musie- z rozbudowanymi narzędziami kontroli
lokalizację, którą wpisujemy w oknie libyśmy albo zawsze pamiętać, których zależności używanymi w plikach make-
edycyjnym dialogu Konfiguracja pro- plików mogą dotyczyć zmiany albo za- file. Jednak dość dobrze zdaje egzamin
jektu > Ścieżki. Zazwyczaj będzie to wsze po korekcie dowolnego nagłów- w przeciętnej wielkości amatorskich
folder [\AvrSide\Myinc] przewidziany na ka ponownie kompilować cały projekt projektach, dla których przede wszyst-
ogólne własne pliki nagłówkowe z ulu- (Build), co przy rozbudowanych pro- kim AvrSide powstało.
bionymi typami, definicjami, pomoc- gramach może znacznie wydłużać całą Często zbiór funkcji obsługujących
niczymi makrami używanymi w wie- operację. Obsługa zależności w AvrSide konkretne zadanie (np. obsługę urzą-
lu projektach. Zauważmy jednak, że jest dosyć uproszczona: polega na prze- dzenia peryferyjnego) lokujemy w od-
narzucenie konkretnej pełnej ścieżki szukaniu pierwszych kilkunastu wierszy dzielnym module zródłowym xx.c a do-
dostępu może sprawiać kłopoty przy kodu każdego zródła .c i .s i utworzeniu stęp do niego realizujemy poprzez sko-
przenoszeniu projektu na inną maszy- tabeli zależności na podstawie znale- jarzony plik nagłówkowy o takiej samej
nę z inaczej zainstalowanym AvrSide zionych dyrektyw dołączenia (#inclu- nazwie xx.h. AvrSide oferuje dodatkowe
po prostu takiej ścieżki może nie de) wszelkich otwartych w projekcie skróty klawiszowe (SHIFT+F6 albo AL-
być co spowoduje błędy. Dla takich (obecnych na zakładkach edytora) pli- T+UP) do szybkiego przełączania po-
przenośnych zastosowań przewidziałem ków nagłówkowych *.h. Tabela ta jest między tak nazwaną parą plików.
dodatkowe subfoldery foldera projek- pózniej sprawdzana przy zapisywaniu Jerzy Szczesiul, EP
tu [\lib] oraz [\inc]. Posługują się one zmian w pliku nagłówkowym na tej jerzy.szczesiul@ep.com.pl
lokalizacją względną nie utrudniającą podstawie są oznaczane jako zmienione
przenoszenia. Utworzenie tych subfol- (podkreślenie nazwy pliku na zakładce UWAGA!
Środowisko IDE dla AVR-GCC opracowane
derów jest dokonywane samoczynnie edytora) i włączane do polecenia Make
przez autora artykułu można pobrać ze
przy zapisaniu projektu z ustawioną odpowiednie moduły zródłowe.
strony http://avrside.ep.com.pl.
opcją Konfiguracja projektu > Ścieżki Dla przyśpieszenia działania środo-
Elektronika Praktyczna 8/2005
91
Wyszukiwarka
Podobne podstrony:
200511
VIP 156xx 08 2005 PL
68 Ktoś wygrywa, ktoś przegrywa Jay Friedman, Win some, Lose some Sept 08, 2005
NF 2005 08 pocałunek śmierci
2005 10 084133 set9
1501@7 pol ed02 2005
NF 2005 08 twórca
DF 081
2005 08 Collector s Item Tellico Desktop Database
NF 2005 08 tajemnica
2005 10 083034 SET2[1]
więcej podobnych podstron