6837093800

6837093800



Systemy wbudowane

języka programowania (np. cc 1 dla języka C) przetwarza pliki źródłowe do postaci plików pośrednich zawierających instrukcji asemblera dla danej architektury. Następnie program zwany asemblerem (np. as) przetwarza pliki asemblera do postaci plików pośrednich zapisanych w formacie ELF [1] (ang. Executable and Linkable Format). Podczas kolejnego kroku konsolidator łączy wszystkie pliki pośrednie oraz biblioteki statyczne w jeden plik wykonywalny. Ostatnim, opcjonalnym etapem jest przetworzenie pliku zapisanego w postaci ELF do postaci akceptowalnej przez programator wykorzystywany przez dany system mikroprocesorowy, np. Intel HEX lub format binarny.

1.2. Rodzaje kompilacji

Biorąc pod uwagę rodzaj architektury na której będzie działał kompilator oraz rodzaj architektury dla której kompilator będzie generował programy wyróżnić możemy trzy rodzaje kompilacji: kompilacja natywna, kompilacja kanadyjska oraz cross kompilacja. W przypadku GNU Toolchain podczas kompilowania środowiska programistycznego trzy zmienne środowiskowe określają rodzaj wspieranego typu kompilacji: target (określa rodzaj architektury dla której kompilator będzie generował programy), host (określa rodzaj architektur}' na której kompilator będzie uruchamiany) oraz build (określa rodzaj architektur}' na której będziemy kompilowali kompilator).

•    kompilacja natywna - kompilator generuje kod wykonywalny dla tej samej architekturze na której pracuje. Jest to najprostszy i jednocześnie najczęściej spotykany przypadek. W przypadku GNU Toolchain zmienne target, host, build określają tą samą architekturę, np.: x86.

•    kompilacja kanadyjska - specjalny przypadek umożliwiający skompilowanie środowiska programistycznego na jednej architekturze, działającego na innej i generującego programy dla jeszcze innej np.: kompilacja kanadyjska umożliwia skompilowanie na architekturze x86 kompilatora pracującego na architekturze ARM i generującego programy dla architektur}' PowerPC. W przypadku GNU Toolchain zmienne target, host, build będą ustawione odpowiednio PowerPC, ARM oraz x86.

•    cross kompilacja - kompilator generuje kod wykonywalny dla innej architektury niż ten na której sam pracuje. Cross kompilacja najczęściej wykorzystywana jest w przypadku systemów wbudowanych takich jak np. kuchenki mikrofalowe, pralki automatyczne czy telefony komórkowe posiadające znacznie ograniczone zasoby co uniemożliwia lub znacznie utrudnia uruchomienie środowiska do kompilacji natywnej. Cross kompilacja wymaga aby wszystkie narzędzia wchodzące w skład środowiska programistycznego były odpowiednio skonfigurowane tzn. muszą być przystosowane do pracy uwzględniającej odpowiednią architekturę docelową - kompilator musi generować odpowiedni kod asemblera, asembler, konsolidator oraz biblioteka standardowa muszą wspierać architekturę docelową. W przypadku GNU Toolchain, konfigurowania kompilatora dla architektury ARM działającego na procesorze x86 zmienna

2



Wyszukiwarka

Podobne podstrony:
Przedmiotowy system oceniania z języka polskiego Podstawa prawna do opracowania przedmiotowego syste
SWB - Systemy operacyjne w systemach wbudowanych - wykład 14a®zMinimalne wymagania pamięci Dla syste
test Systemy Wbudowane 09 StrefaWiedzy SW09 Quizy ► Próbny test końcowy [ -4 11 Przejdź do..Próbny t
[BADANIA OPERACYJNE - PROGRAMOWANIE LINIOWE] Koszalin 2006 Kolejny krok to doprowadzenie do postaci
Program wykonywalny (inaczej kod maszynowy lub postać binarna) to wynik kompilacji kodu źródłowego d
Program praktyki studenta polonistyki III roku Program praktyki nauczycielskiej dla studentów III ro
Lachur zarys jezykoznawstwa ogolnego 2 System fonologiczny języka polskiego oparty jest wyłącznie na
PRZEDMIOTOWY SYSTEM OCENIANIA Z JĘZYKA POLSKIEGO DLA KLAS 4-6 SZKOŁY PODSTAWOWEJ I. Przedmiotem
Scan00080012 Ćwiczenie 4: Programowanie obróbki w systemie ShopMill 7 Zadanie: wykonaj program obrób
skan2 2 SYSTEM FONOLOGICZNY JĘZYKA POLSKIEGO prof. dr hab. Irena Kamińska-Szmaj STOPIEŃ ZBLIŻENIA

więcej podobnych podstron