Page 2 of 6
ARM toolchain
Pierwszym krokiem mo?e by? instalacja toolchaina, który mo?na pobra? za darmo ze strony Codesourcery. Poszukiwa? nale?y pakietu o nazwie Sourcery G++ Lite Edition for ARM w wersji EABI (tak zwany bare-metal).
W chwili pisania tego artyku?u najbardziej aktualna wersja to Sourcery G++ Lite 2009q1-161 for ARM EABI, czyli wersja z pierwszego kwarta?u 2009 roku. Najnowsz? wersj? mo?na znale?? zawsze w taki sposób - Codesourcery > menu Products > Sourcery G++ > Editions > Lite > ARM > Download > wybra? wersj? EABI
 
EABI to skrót od ARM Binary Interface - jest to standard który pozwala ??czy? obiekty i biblioteki stworzone przez ró?ne kompilatory
Proces instalacji nie kryje w sobie ?adnych niespodzianek - pami?ta? nale?y o tym, ?eby zezwoli? na zmodyfikowanie zmiennej PATH w systemie, co jest standardowo wybran? opcj?.
Po zako?czeniu instalacji warto j? przetestowa?. W tym celu nale?y otworzy? systemowy Wiersz polecenia
Wiersz polecenia (w angielskich wersjach systemu Windows - Command Prompt) mo?na otworzy? na kilkana?cie ró?nych sposobów. Dwa najbardziej oczywiste: 1. Start > Uruchom... (Run...) > cmd 2. Start > Wszystkie Programy (All Programs) > Akcesoria (Accessories) > Wiersz polecenia (Command Prompt)
W tym miejscu warto nadmieni? po raz pierwszy, ?e GCC nie b?dzie dzia?a? poprawnie, je?li podawane mu ?cie?ki i / lub nazwy plików / katalogów zawiera? b?d? spacje
Aby przetestowa?, czy kompilator zosta? poprawnie zainstalowany wystarczy wykona? polecenie arm-none-eabi-gcc --version w dowolnym folderze. Je?li instalacja przebieg?a pomy?lnie, naszym oczom powinien ukaza? si? nast?puj?cy komunikat (dok?adna tre?? zale?na oczywi?cie od zainstalowanej wersji)
C:\>arm-none-eabi-gcc --version arm-none-eabi-gcc (Sourcery G++ Lite 2009q1-161) 4.3.3 Copyright (C) 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Kolejnym testem mo?e by? kompilacja najprostszej mo?liwej aplikacji. W tym celu nale?y stworzy? przy u?yciu dowolnego edytora tekstu gdzie? (pami?taj?c o spacjach w ?cie?ce dost?pu!), na przyk?ad w folderze test na dysku c:, plik main.c o zawarto?ci
int main(void) { return 0; }
Kompilacja pliku wykonywana jest ponownie z Wiersza polecenia przy u?yciu komendy arm-none-eabi-gcc c:\test\main.c (?cie?k? oczywi?cie dopasowa? do swojej sytuacji). Kompilator podzieli si? z nami oczywi?cie swoimi w?tpliwo?ciami dotycz?cymi opcji kompilacji:
C:\>arm-none-eabi-gcc c:\test\main.c c:/program files/codesourcery/sourcery g++ lite/bin/../lib/gcc/arm-none-eabi/4.3.3/../../../../arm-none-eabi/bin/ld.exe: warning: cannot find entry symbol _start; defaulting to 00008018
niemniej jednak po zako?czeniu jego dzia?ania w folderze z którego zosta? wywo?any powinien znajdowa? si? nowy plik o nazwie a.out i rozmiarze oko?o 35kB. Sukces!
|