Rys. 5 Programmers Notepad
konfigurację narzędzi
zawierającego pliki naszego programu. Czy teraz widzisz niebezpieczeństwo? Zastanów się przez chwilę, co się stanie, jeśli w podobny sposób zechcesz zainstalować kompilator C dla procesorów 51, może ARM? Zapewniam Cię, że nazwa make.exe wśród kompilatorów nie jest wcale rzadka. Myślę, że już zaczynasz rozumieć - w takim przypadku przy próbie kompilacji zostanie uruchomiony ten kompilator, który jako pierwszy wpisze swoje dane do PATH-a. Do pozostałych będziesz mógł się dostać tylko przez bezpośrednie podanie pełnej ścieżki.
Jak rozwiązać przedstawiony problem? Dalej napiszemy banalne pliki wsadowe które ustawią odpowiednio wspomnianą zmienną tylko w chwili kompilacji i tylko dla jej wątku. Nie tylko dodadzą odpowiednie katalogi. Po prostu ustawimy permanentnie katalogi takie, jakie są nam potrzebne, zupełnie nie przejmując się poprzednią zawartością zmiennej. W ten prosty sposób ominiemy przedstawiony wyżej problem, jednocześnie nie zmniejszając komfortu obsługi naszych narzędzi. Ważne jest to, że w systemie Windows takie przypisanie nie przybiera formy stałej. Obowiązuje tylko dla aktualnie działającego programu.
Na resztę warunków instalacji zgadzamy się bez sprzeciwów. Na początkowym etapie przygody z GCC dotyczy to także ścieżki docelowej instalacji. Dalszy opis dotyczy standardowo zainstalowanego kompilatora do katalogu C:\WhiAVR. Katalog instalacyjny AVRStudio nie ma znaczenia. W tym miejscu oba programy powinny już być zainstalowane. Zajmijmy się więc ich konfiguracją.
Na początek proponuję stworzenie pro-ściutkiego skryptu, który przeprowadzi wszystkie czynności mające na celu kompilację dowolnego programu. Dalej opisane pliki teoretycznie możesz umieścić gdziekolwiek. Aby nie czynić zamieszania, proponuję Ci zapisać je w katalogu C:\WinAVR. Uruchom dowolny edytor tekstowy, najlepiej niech będzie to prosty windowsowy Notatnik. Wpisz w nim kod widoczny na listingu 1.
Uważaj: Bardzo ważny w pierwszej linii jest brak spacji pomiędzy poszczególnymi ścieżkami oraz naokoło znaku równości! Przy zignorowaniu tego faktu skrypt może w ogóle nie działać. Po przepisaniu podanego listingu zapisz plik w wybranym folderze - dla ujednolicenia naszej sytuacji umówmy się, że przynajmniej na początku zapiszesz plik tak jak ja - w folderze C:\WinAVR, pod nazwą rnake.bat. Pamiętaj o wpisaniu rozszerzenia podczas zapisywania. Jeśli o tym zapomnisz, plik zostanie zapisany z domyślnym rozszerzeniem jako tnake.txt. Chwilowo jeszcze bez wyjaśnień wpisz podobnie jak poprzednio skrypt z listingu 2. Zapisz go jako C:\WmAVR\cIean.bat.
Gratuluję - właśnie stworzyłeś coś, co nazwiemy skryptami kompilacji. Pierwszy z nich spowoduje skompilowanie Twojego programu. Drugi umożliwi automatyczne usunięcie wszystkich plików tworzonych przez kompilator - czasami okazuje się to bardzo wygodne. Jeśli będziesz chciał na przykład zapisać na dyskietkę kopię swojego programu, nie musisz dodawać wszystkich plików powstałych podczas kompilacji. Jedna komenda i masz tylko to co najważniejsze.
Działanie powyższych skryptów jest tak samo proste, jak ich napisanie. W pierwszej linii obu z nich pojawia się ustawienie ścieżek, których potrzebuje kompilator AVR-GCC. Pamiętasz? Wspomniałem już o tym, że będziemy musieli to zrobić ręcznie. Następnie wywoływane jest polecenie make.exe kompilatora. Plik, do którego się odwołujemy, znajduje się w katalogu C:\WinAVR\util.sNzin. Zależnie od tego, z jakimi zostanie wywołany parametrami, wywoła on inne programy z pakietu kompilatora. Wydanie komendy make.exe bez parametru, jest równoważne z komendą make.exe all. Powoduje uruchomienie wszystkich procesów koniecznych do kompilacji programu. Automatycznie utworzone zostaną pliki, które będziemy mogli wpisać do pamięci docelowego urządzenia, oraz specjalny plik umożliwiający symulację programu.
Z kolei, jak się łatwo domyślić, parametr clean spowoduje usunięcie wszystkich plików poza tymi, które utworzyliśmy sami. Skrypty te należy uruchomić z katalogu zawierającego pliki programu. Można to zrobić nawet bezpośrednio za pomocą konsoli, a same pliki pisać w notatniku... ale my mieliśmy stworzyć sobie przyjemniejszy zestaw narzędzi. W celu pisania kodu, jego kompilacji, wreszcie - 1 zarządzania całym projektem, wykorzystamy bardzo wygodny i uniwersalny program o nazwie „ Programmers Notepad". Korzystam z tego narzędzia już od dwóch lat i w tym czasie program przeszedł wiele zmian. O ile na początku praca była dość kłopotliwa, w tej chwili śmiało mogę powiedzieć, że narzędzie jest rewelacyjne - mam nadzieję, że w najbliższym czasie uda mi się przekonać Ciebie, że tak jest w istocie. Na pulpicie powinien się znajdować teraz skrót o nazwie „Programmers Notepad". Jeśli tak jest, uruchamiamy go. W przeciwnym przypadku uruchamiamy bezpośrednio plik
C:\WmAVR\)rćpn.exe.
Po pierwszym uruchomieniu program powinien wyglą-— dać mniej więcej tak jak na rysunku 5. Ja pomniejszyłem okienko specjalnie, tak aby widoczne były wszystkie elementy kontrolne, a jednocześnie obrazek nie zajmował wiele miejsca. W celu „zbratania” kompilatora z uruchomionym właśnie edytorem wydajemy następujący ciąg komend: Tools->Options. W okienku, które się ukazało, wybieramy z listy po lewej stronie opcję Tools. Upewniamy się, że w rozwijalnej liście „scheine” podświetlone jest pole „(Nonę — Global Tools)". Na rysunku 6 umieściłem okienko, jakie powinno się pojawić oraz sposób jego wywołania. Zauważysz teraz, że instalator domyślnie dodał do zestawu naszych narzędzi trzy dotyczące naszego kompilatora. Okazuje się jednak, że domyślne ustawienia nie działają, jeśli podczas instalacji nie zezwoliliśmy na dodanie wpisów do PATH-a. Poza tym, narzędzia te można skonfigurować troszkę wygodniej. Bez większego żalu
38 Maj 2005 Elektronika dla Wszystkich