Embedded Linux v kameře Jablocom EYE-02
25. 5. 2009 20:57
Vytvořil jsem port operačního systému Linux na kameru EYE-02 od firmy
JabloCOM. Pro vytvoření kompletního systému pro nové zařízení jsem
prošel několik kroků. První krok je vytvoření nebo získání nástrojů
pro vytváření aplikací pro danou architekturu. Následně jsem upravil a
nakonfiguroval jádro a pomocí těchto nástrojů jsem jej přeložil.
Následovala část přeložení zbývajících programů a příprava
souborového systému. Inicializaci systému jsem provedl pomocí vlastního
bootloaderu, který z paměťové karty načetl binární obraz jádra a
spustil ho.
Použité zdroje:
http://www.linux4sam.org
http://free-electrons.com
http://maxim.org.za/at91_26.html
http://www.gentoo.org/…se/embedded/
Vývojové nástroje
25. 5. 2009 20:03
Projekt GNU zaštiťuje veškeré nástroje pro vývoj aplikací
pro procesory ARM. Jako první je nutné zvolit si knihovnu jazyka C, kterou
budu používat. Dále je nutné vytvořit nástroje sloužící pro práci
s binárními soubory. Následuje vytvoření samotného kompilátoru pro
procesor ARM a celý proces přípravy je ukončen kompilací knihovny
jazyka C.
Bootloader
25. 5. 2009 20:57
Skládá se z několika hlavních částí
- načítání dat z MMC karty (sdcard.c)
- práce s debugovacím sériovým portem (board.c)
- nastavení procesoru (MMU, cache) (hw.c)
- nastavení GPIO (rozsvícení LED) (board.c)
- struktury pro nastavení parametrů kernelu (atag.c)
- načtení tabulky oddílů (partition.c)
- vlastní bootloader – řízení načtení, spuštění a předání parametrů (main.c)
Linux Kernel
25. 5. 2009 20:57
Jádro Linuxu je již připraveno pro procesory ARM, ale není předpřipraveno
pro konkrétní zapojení různých zařízení. Je proto nutne vytvořit
vlastní definici desky.
Kořenový adresář
25. 5. 2009 20:57
Pro kompletní funkci je potřeba připravit souborový systém, na kterém
se nacházejí další podpůrné aplikace. K sestavení všech aplikací jsem
použil systém portage z Gentoo. Jako základ systému jsem zvolil aplikaci
busybox, která zahrnuje mnoho užitečných utilit.

