BME-MIT. Linux board bringup

Hasonló dokumentumok
BME-MIT. Linux board bringup

6.2. TMS320C64x és TMS320C67xx DSP használata

TI TMDSEVM6472 rövid bemutatása

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05+ Geodéziai Feldolgozó Program

Dr. Schuster György október 30.

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05 Geodéziai Feldolgozó Program

Mikrorendszerek tervezése

Egy egyszerű, gyors és szabad újratelepítő eszköz: upi

Mérő- és vezérlőberendezés megvalósítása ARM alapú mikrovezérlővel és Linux-szal

Opensuse automatikus telepítése

Ethernet - soros vonali eszköz illesztő felhasználói leírás, és használati útmutató

Virtualizációs Technológiák Operációs rendszer szintű virtualizáció Konténerek Forrás, BME-VIK Virtualizációs technológiák

Mikrorendszerek tervezése

ClusterGrid for Windows

Mikrorendszerek tervezése

Dr. Kincses Zoltán, Dr. Vörösházi Zsolt: FPGA-alapú beágyazott rendszerek tervezése

Kameleon Light Bootloader használati útmutató

OPENCV TELEPÍTÉSE SZÁMÍTÓGÉPES LÁTÁS ÉS KÉPFELDOLGOZÁS. Tanács Attila Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem

ARM Cortex magú mikrovezérlők. mbed

2004 Xilinx, Inc. All Rights Reserved. EDK Overview Xilinx, Inc. All Rights Reserved

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Témakiírások 2014/15. őszi félévben

Útmutató az OKM 2007 FIT-jelentés telepítéséhez

A L I N U X f e l é p í t é s e

Hardver és szoftver követelmények

Laboratóriumi műszerek megvalósítása ARM alapú mikrovezérlővel és Linux-szal

RapidMiner telepítés i. RapidMiner telepítés

Programmable Chip. System on a Chip. Lazányi János. Tartalom. A hagyományos technológia SoC / PSoC SoPC Fejlesztés menete Mi van az FPGA-ban?

Az internet ökoszisztémája és evolúciója. Gyakorlat 1

SZTE Egyetemi Könyvtár. Bán Attila István - Gál Gyula

Segesdi Dániel. OpenNebula. Virtualizációs technológiák és alkalmazásaik BMEVIMIAV ősz

A L i n u x r u h á j a

Programozási segédlet DS89C450 Fejlesztőpanelhez

Utolsó módosítás:

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

WebEC kliens számítógép telepítése és szükséges feltételek beállítása, az alábbi ellenőrző lista alapján történik.

Bevitel-Kivitel. Eddig a számítógép agyáról volt szó. Szükség van eszközökre. Processzusok, memória, stb

IDAXA-PiroSTOP. PIRINT PiroFlex Interfész. Terméklap

BEÁGYAZOTT RENDSZEREK TERVEZÉSE UDP csomag küldése és fogadása beágyazott rendszerrel példa

Veeam Agent for Windows and Linux

SEGÉDLET. A TTMER102 - FPGA-alapú hálózati eszközfejlesztés című méréshez

Könyvtári címkéző munkahely

Léteznek nagyon jó integrált szoftver termékek a feladatra. Ezek többnyire drágák, és az üzemeltetésük sem túl egyszerű.

Az internet ökoszisztémája és evolúciója. Gyakorlat 1

Procontrol RSC-E2. Kezelői, és telepítői kézikönyv. Ethernet - soros adatkonverter. Verzió:

Telepítési Kézikönyv

Dr. Kincses Zoltán, Dr. Vörösházi Zsolt: FPGA-alapú beágyazott rendszerek tervezése

Ismerkedjünk meg a Linuxszal!

Perifériák hozzáadása a rendszerhez

Egy PIC-BASIC program fordítása, betöltése

Alternatív processz állapot és statisztika lekérdezési módszer a Linux kernelben

A fő menüpontok között a bal vagy jobb nyíllal mozoghatunk, Enter leütésére pedig megjelenik az adott menühöz tartozó tartalom.

Hálózati architektúrák és Protokollok GI 8. Kocsis Gergely

Szerver-üzemeltetés - Tudásközpont, Pécs

Dropbox - online fájltárolás és megosztás

RIEL Elektronikai Kft v1.0

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Operációs Rendszerek II. Első verzió: 2009/2010. I. szemeszter Ez a verzió: 2009/2010. II. szemeszter

Virtualizációs technológiák és alkalmazások. Házi feladat. A Virtualbox. készítette: Andrus Tamás

A Netburner fejlesztőeszköz alkalmazástechnikája

HÁLÓZATBIZTONSÁG III. rész

Image Processor BarCode Service. Felhasználói és üzemeltetői kézikönyv

Beágyazott rendszerek fejlesztése laboratórium DSP fejlesztési technológiák

Iman 3.0 szoftverdokumentáció

Házi feladatok Szenzorhálózatok és alkalmazásaik

A FileZilla program beállítása az első belépés alkalmával

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

OCSP Stapling. Az SSL kapcsolatok sebességének növelése Apache, IIS és NginX szerverek esetén 1(10)

Gyakorlati vizsgatevékenység. Graf Iskola

Hogyan tudom soros eszközeimet pillanatok alatt hálózatba kötni?

DEV-JTG-S-01 telepítési és használati útmutatója

Navigációs GPS adatok kezelése QGIS programmal (1.4 verzió) Összeállította dr. Siki Zoltán

Java I. A Java programozási nyelv

Hálózati architektúrák és Protokollok GI 7. Kocsis Gergely

Az operációs rendszer szerkezete, szolgáltatásai

Az Evolut Főkönyv program telepítési és beállítási útmutatója v2.0

A NetBeans IDE Ubuntu Linux operációs rendszeren

Silabs STK3700, Simplicity Studio laborgyakorlat

Elemi alkalmazások fejlesztése I.

INFORMATIKAI ALAPISMERETEK

Norway Grants. Az akkumulátor mikromenedzsment szabályozás - BMMR - fejlesztés technológiai és műszaki újdonságai. Kakuk Zoltán, Vision 95 Kft.

3. A DIGILENT BASYS 2 FEJLESZTŐLAP LEÍRÁSA

1. Használatba vétel. 1.1 Biztonsági előírások. 1.2 Rendszerkövetelmények. 1.3 A csomag tartalma

Orvosi készülékekben használható modern fejlesztési technológiák lehetőségeinek vizsgálata

A virtuális környezetet menedzselő program. Első lépésként egy új virtuális gépet hozzunk létre a Create a New Virtual Machine menüponttal.

Megoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat

Robotot vezérlő szoftverek fejlesztése Developing robot controller softwares

1. Origin telepítése. A telepítő első képernyőjén kattintson a Next gombra:

Mobil Informatikai Rendszerek

BioAdmin 4.1 könnyű telepítés csak Kliens használatra

OPERÁCIÓS RENDSZEREK I. BEVEZETÉS Koczka Ferenc -

FortiClient VPN-IPSec kliens konfigurációs segédlet

Szárazföldi autonóm mobil robotok vezérlőrendszerének kialakítási lehetőségei. Kucsera Péter ZMNE Doktorandusz

Operációs rendszerek. Windows NT. A Windows NT

Parallax Propeller programozási lehetőségei

HIK-CONNECT szolgáltatás beállítása

10. EGYSZERŰ HÁLÓZATOK TERVEZÉSE A FEJLESZTŐLAPON Ennél a tervezésnél egy olyan hardvert hozunk létre, amely a Basys2 fejlesztőlap két bemeneti

Átírás:

Linux board bringup

Előző előadás emlékeztető Linux alapok Alapfogalmak: Operációs rendszer rétegei Kernel és user space Device tree Driverfejlesztés alapok Kernel modul Hardverelérés Platform eszközvezérlők Egyszerű karakteres eszközök Nem volt szó a Linux élesztéséről.

Mai előadás Cél Egy olyan, Digilent Atlys panelen futó hardverkörnyezet létrehozása, mely rendelkezik soros porttal hálózat támogatással GPIO portokkal SD kártya olvasóval és ezeken túl Linux operációs rendszert futtat. Rendszerbetöltővel nem fogunk foglalkozni. Ráadásként szeretnénk rá könnyen szoftvert fejleszteni.

MicroBlaze alapú Linux rendszer Linux rendszer létrehozásának lépései EDK SDK Parancssor Hardver platform Device tree Linux kernel Linux futtatható Rendszerbetöltő Userspace programok Saját alkalmazás

MicroBlaze alapú Linux rendszer Linux rendszer létrehozásának lépései EDK SDK Parancssor Hardver platform Device tree Linux kernel Linux futtatható Rendszerbetöltő Userspace programok Saját alkalmazás

Hardver platform létrehozása Új projekt Ugyanúgy létrehozhatjuk a BSB wizard segítségével a projektünket, amire oda kell figyelni: Legyen timer a rendszerben Legyen külső (DDR vagy SD RAM) memória Cache nem árt Blokk RAM memória nem lényeges a Linux szempontjából, a bootloadernek, ha használunk, viszont kell! Minden egység megszakításos legyen A MicroBlaze Debug Module kivételével Hogy lássuk a boot folyamatot, soros portra szükségünk van

Hardver platform létrehozása MicroBlaze beállítások A MicroBlaze beállításoknál Linux with MMU alapbeállítás Ez megdobja az erőforrásigényt! Megjegyzendő adatok Memória fizikai címe Bekapcsolt processzortulajdonságok (osztó, barrel shifter, stb.) ezeket később használni kell

Hardver platform létrehozása SD kártya Az SD kártyát SPI módban fogjuk használni, ehhez SPI vezérlőt helyezünk el a projektben A szokásos módon történik a bekötés Fontos paraméter, hogy az SPI órajele mekkora legyen a rendszer órajeléhez képest, ehhez konzultálni kell az SD kártya adatlapjával

Hardver platform létrehozása Szintézis A következő lépést már SDK-ban hajtjuk végre Export to SDK Célszerű először bitfájl nélkül exportálunk, és úgy indítani az SDK-t Mert utána már tudunk SDK-zni, míg szintetizálódik a projekt

MicroBlaze alapú Linux rendszer Linux rendszer létrehozásának lépései EDK SDK Parancssor Hardver platform Device tree Linux kernel Linux futtatható Rendszerbetöltő Userspace programok Saját alkalmazás

Az eszközfa generálása Eszközfa exportált hardver projektből A device tree olyan BSP, mint a standalone vagy a xilkernel, csak az alaptelepítés nem tartalmazza, külön kell letölteni, git verziókezelővel git clone git://github.com/xilinx/device-tree.git bsp/device-tree_v0_00_x Hozzá kell majd adni a Xilinx SDK elérési útvonalához Automatikusan generál a leírásból egy device tree-t. Ami utólag módosítható Maga a generáló program TCL programnyelven íródott, adott esetben kézzel továbbfeljeszthető

Az eszközfa generálása Paraméterek Boot console: hova írja ki a kernel a boot üzeneteket Xilinx Uartlite, Xilinx MDM vagy Xilinx Uart16550 Build project hatására az eszközfa xilinx.dts néven előáll Ebbe az SPI-ra illesztettsd-kártya miatt kézzel bele kell nyúlni és az SPI vezérlő csomópontjába befűzni a következőt: mmc_spi@0{ }; compatible = "mmc-spi-slot"; spi-max-frequency = < 2000000 >; reg = < 0x00000000 >; voltage-ranges = < 3300 3300 >;

MicroBlaze alapú Linux rendszer Linux rendszer létrehozásának lépései EDK SDK Parancssor Hardver platform Device tree Linux kernel Linux futtatható Rendszerbetöltő Userspace programok Saját alkalmazás

Root fájlrendszer fordítása A root fájlrendszer elkészítésének általános szempontjai Mekkora méretű lesz a kész fájlrendszer? Sokszor nincs adathordozó (pl. SD kártya) a hardverben, így a fő memóriába töltődik a root lemez (ramdisk) Milyen alkalmazásokat tartalmazzon? Sokféle alkalmazás nagy méret Kevés alkalmazás kevesebb szolgáltatás Milyen formátumban készüljön el? Pl. ISO CD-lemez kép, vagy ext2 (szabványos Linux fájlrendszer) Hogyan tudunk majd a kész userspace alkalmazásokhoz saját alkalmazást hozzátenni?

Root fájlrendszer fordítása A root fájlrendszer elkészítésének szoftveres szempontjai Kiemelkedően fontos a C programkönyvtár Hiszen ez lesz, ami a userspace alkalmazás és a kernel közötti interfészt kezeli Sokféle megvalósítása létezik, szolgáltatásban és optimalizáltságban különbözőek glibc legösszetettebb, asztali számítógépeken eglibc nagyobb beágyazott rendszereken uclibc mikrokontrollereken A választás sokszor azon múlik, hogy melyik van kéznél :-)

Root fájlrendszer fordítása A root fájlrendszer elkészítésének szoftveres szempontjai Eszközkezelés Alapértelmezésben a különböző hardveres eszközökhöz nem jönnek létre a fájlrendszer bejegyzések Kézzel kéne létrehozni Létezik viszont olyan szoftver, amely értesül a kerneltől ha egy új eszközt csatlakoztatnak, és akkor létrehozza a fájlrendszerbejegyzéseket devtmpfs kernel hozza létre a bejegyzéseket, nagyon kis méretű, nem konfigurálható mdev beágyazott, kis méretű udev nagyobb méretű, okosabb Választási szempont: van-e elég szabad helyünk?

Root fájlrendszer fordítása A root fájlrendszer elkészítésének szoftveres szempontjai init: első processz, ami elindul Ez indítja el a userspace szolgáltatásokat (hálózatot konfigurál, stb.) Itt is több választási lehetőség van, a klasszikus init a System V (sysv) init A választási szempont itt is lényegében a méret Felhasználói segédprogramok busybox: az általában használt userspace programok

Root fájlrendszer fordítása Fordítás módszerei Kézzel Ember letölti a forráskódokat, beállítja, mi szükséges neki, aztán lefordítja nehézkes Buildroot Egy konfigurációs felületen megadjuk, mire van szükségünk, aztán automatikusan letölti a forrást, fordít, installál Petalinux Xilinx specifikus, kernel és root fájlrendszer automatizált fordítása, viszont kevéssé konfigurálható Yocto Hasonló a Buildroot-hoz, de sokkal nehezebben tanulható (viszont egyre többen támogatják)

Root fájlrendszer fordítása Buildroot http://buildroot.uclibc.org/ Átlátható, menüvezérelt konfiguráció Automatikus letöltés és fordítás Automatikusan letölti az architektúrához szükséges fordítóprogramot Több architektúrára, nem csak MicroBlaze-re! A MicroBlaze támogatás a 2014-es release-ekben hibás, lefordul, de a hardveren futás közben elszáll! Kimeneti formátum választható: ISO image, ext2, CPIO (standard kernel root fájlrendszer formátum) Eclipse támogatás: a lefordított root fájlrendszerhez Eclipse-ből könnyű saját alkalmazást fejleszteni

Root fájlrendszer fordítása A fordítás lépései A fordítás alapvetően parancssorból történik :-( Konfiguráció: letöltött és kitömörített Buildroot forrásban a make menuconfig paranccsal Fordítás: konfiguráció után a make paranccsal történik. A lefordított kimenet az output/images könyvtárban jelenik meg

MicroBlaze alapú Linux rendszer Linux rendszer létrehozásának lépései EDK SDK Parancssor Hardver platform Device tree Linux kernel Linux futtatható Rendszerbetöltő Userspace programok Saját alkalmazás

Linux kernel fordítása A Linux kernel fordításának általános szempontjai Milyen architektúrára fordítunk? Esetünkben microblaze Milyen fordítóprogrammal végezzük a fordítást? Milyen hardvereket szeretnénk támogatni? Mihez szeretnénk drivert fordítani? Milyen platformra fejlesztünk? Device tree Milyen egyéb kernel oldali szolgáltatásokat szeretnénk?

Linux kernel fordítása A kernel forrása A Linux kernel forrása letölthető a www.kernel.org weboldalról A Xilinx IP-k drivereit csak részben tartalmazza (GPIO, UART, intc, ethernet), a Xilinx driverek egy része még nem vált hivatalossá Xilinx-módosított kernel források verziókezelőzve git clone git://github.com/xilinx/linux-xlnx.git A főbb Xilinx IP-khez (GPIO, UART, DMA, intc, ethernet) teljes körű támogatás

Linux kernel fordítása Kicsomagolt forráskód főbb alkönyvtárai arch alacsony szintű támogatás (megszakításkezelés, boot inicializálás, stb.) arch/microblaze a MicroBlaze-specifikus alacsony szintű rutinok arch/microblaze/boot a bootolható kimenet ide generálódik arch/microblaze/boot/dts ide szükséges helyezni a device tree fájlt, ami a platformot írja le

Linux kernel fordítása Kicsomagolt forráskód főbb alkönyvtárai Documentation: egész használható leírások az egyes részekről drivers: meghajtóprogramok fs: fájlrendszer kezelő részek net: hálózati protokollok samples: néhány példaprogram

Linux kernel fordítása Előkészítés A fordítás előkészítéseként szükséges a device tree Az arch/microblaze/boot/dts könyvtárba helyezendő a root fájlrendszer CPIO formátumban Tipikusan a kitömörített kernel forrás könyvtárába helyezhető C fordító, amely az adott processzorhoz fordít Például a Xilinx MicroBlaze fordító

Linux kernel fordítása Konfiguráció A szükséges szolgáltatások és driverek kiválasztása A root fájlrendszer kiválasztása A platform specifikus tulajdonságok beállítása Memória báziscíme Barrel shifter, osztó, hardveres szorzó, FPU Ezek a tulajdonságok a device tree-ben megtalálhatóak, azokkal kell egyeznie

Linux kernel fordítása Konfiguráció A konfiguráció a Buildroot-hoz hasonlóan menüvezérelt make ARCH=microblaze CROSS_COMPILE=microblaze-xilinx-linux-gnumenuconfig Itt kiválaszthatóak a támogatott tulajdonságok, elmenthető és betölthető a konfiguráció

Linux kernel fordítása Konfiguráció Általában nehéz nulláról konfigurálni egy rendszert Érdemes egy default konfigurációt módosítani MicroBlaze-nél mmu_defconfig make ARCH=microblaze CROSS_COMPILE=microblaze-xilinx-linux-gnummu_defconfig

Linux kernel fordítása Fordítás Fordítani a make ARCH=microblaze CROSS_COMPILE=microblaze-xilinx-linux-gnusimpleImage.[devicetree neve] paranccsal lehet. A simpleimage magában hordozza majd a device tree-t és a root fájlrendszert, letöltve a panelra a Linux bebootol

MicroBlaze alapú Linux rendszer Linux rendszer létrehozásának lépései EDK SDK Parancssor Hardver platform Device tree Linux kernel Linux futtatható Rendszerbetöltő Userspace programok Saját alkalmazás

Saját alkalmazás fejlesztése Saját alkalmazás fejlesztése Ez az leggyakoribb feladat Szükséges követelmények Hol található meg a fordítóprogram? Milyen programkönyvtárak találhatóak meg? Hol érhetőek el ezek? Hogyan töltjük fel az alkalmazást? Belefordítva a root fájlrendszerbe Hálózatról SD kártyáról Stb.

Saját alkalmazás fejlesztése Segédeszközök A legtöbb board bringup eszköz Eclipseintegrációval rendelkezik Kiválasztható, hogy melyik platformhoz szeretnék fordítani Az Eclipse támogat ún. remote target-eket, tehát hálózaton megtalálható eszközre telepíthető az alkalmazás

Saját alkalmazás fejlesztése Buildroot Eclipse plugin Telepíthető: http://buildroot.org/downloads/eclipse/kepler-sr2/ Új projekt létrehozásakor kiválasztható a létrehozott Buildroot rendszer Innentől kezdve klasszikus szoftverfejlesztés Debugger nélkül...