Systemy wbudowane
1.1. Wstęp
Przed wgraniem do pamięci urządzenia wbudowanego program zapisany w formie pliku lub zbioru plików tekstowych stanowiących tzw. kod źródłowy musi zostać przetłumaczony na postać binarną odpowiednią dla docelowej architektury. Mimo, że proces przekształcania kodu źródłowego potocznie nazywany jest kompilacją to składa się on z dwóch odrębnych etapów -kompilacji oraz konsolidacji. Kompilacja to proces podczas którego kod źródłowy programu jest automatycznie analizowany i przekształcany na postać kodu maszynowego. Należy zaznaczyć, że proces kompilacji jest zależny od docelowej architektur}' co oznacza, że program skompilowany dla procesora typu ARM nie będzie działał na systemie z procesorem z rodziny x86. Schemat blokowy procesu kompilacji zilustrowany jest na rysunku 1.
plik z kodem źródłowym
plik z kodem źródłowym
plik wynikowy w postaci binarnej
Rysunek 1: Ilustracja procesu kompilacji oprogramowania
Pliki tekstowe z kodem źródłowym programu mogą zostać utworzone za pomocą dowolnego edytora tekstowego. Każdy z plików jest oddzielnie analizowany przez kompilator i tworzone są pliki obiektowe zawierające wstępnie przetworzone fragmenty program w formie tak zwanej reprezentacji pośredniej. Następnie, na etapie konsolidacji wszystkie pliki obiektowe łączone są razem i powstaje jeden plik wykonywalny. Dodawane są również pliki bibliotek użytkownika stanowiące zbiory skompilowanych funkcji wielokrotnego użytku oraz biblioteki systemowe dostarczane wraz z kompilatorem umożliwiają miedzy innymi pobieranie danych od użytkownika czy wyświetlanie informacji na domyślnym terminalu. W przypadku kompilacji z wykorzystaniem tzw. GNU Toolchain (czyli narzędzi takich jak kompilator gcc, asembler1 as oraz linker ld) proces ten przebiega w następujących krokach: kompilator danego
W języku polskim zarówno język asemblera (ang. assembly language) jak i program przeprowadzający asemblację (ang. assembler) nazywane są potocznie asemblerem.