Instructions

- 64 -
Linia “Process Exit Code: 0“ na końcu ma największe znaczenie.
Oznacza ona, że nie wystąpił żaden błąd kompilacji. Jeśli pojawia się
coś innego, kod źródłowy zawiera błąd, na temat którego kompilator
zazwyczaj zwraca wiadomość, aby przybliżyć powód jego pochodze-
nia. Błąd ten musi zostać znaleziony i poprawiony.
Zauważ jednak, że komunikat “Process Exit Code: 0“ nie zawsze jest
gwarancją na całkowicie bezbłędny program! Kompilator nie znajdzie
nieprawidowego procesu myślowego, który zaimplementowałeś, np.
nie może zapobiec programowi, który sprawi, że robot uderzy w
ścianę. ;-)
UWAGA: Ostrzeżenia i inne błędy także możesz znaleźć w logu na
dole strony. Nie przejmuj się jednak ostrzeżeniami! PN2 zaznacza
błędy i ostrzeżenia innym kolorem, aby łatwiej je było znaleźć.
Kompilator pokaże nawet która linijka mu się nie podoba. Jeśli
klikniesz na wiadomość błędu, PN2 pokaże ci wadliwą linię kodu.
Wskaz na końcu, czyli “AVR Memory Usage“ również jest przydatny.
----------------
Size after:
AVR Memory Usage
----------------
Device: atmega64
Program: 3074 bytes (4.7% Full)
(.text + .data + .bootloader)
Data: 68 bytes (1.7% Full)
(.data + .bss + .noinit)
Dla procesora Atmega64 oznacza to, że nasz program ma rozmiar
3074 bajtów oraz 68 bajtów pamięci RAM jest zarezerwowane na
zmienne statyczne (należy dodać też dynamiczne zakresy stosu, ale
to już bardziej zaawansowane... po prostu zawsze staraj się mieć
conajmniej kilkaset bajtów wolnej pamięci). Procesor dysponuje
64kb (65536 bajtów) pamięci Flash ROM oraz 2kb (2028 bajtów)
pamięci RAM. Wśród 64kb, 2k jest zajęte przez bootloader - więc
właściwie można używać tylko 62kb. Zawsze się upewnij, że
program mieści się w limicie pamięci, jaki narzuca mikrokontroler
(RobotLoader nie prześle za dużego programu!)