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