Utveckling av inbyggda system med Yocto Project

Produkter med inbyggda system har vuxit både i storlek och i funktionalitet från små kontroll- och mätenheter till uppkopplade produkter med ett stort antal applikationer. Det kan vara produkter med grafiska användargränssnitt eller webbaserade användargränssnitt som hanterar många nätverksprotokoll med olika standarder som t ex TCP/IP.

Linux är idag det vanligaste valet när man utvecklar mer kraftfulla och uppkopplade inbyggda system. Linux går att köra på ett antal olika arkitekturer som PowerPC, ARM och MIPS och stöder alla sorters applikationer. Det gör det möjligt att snabbt få upp det mesta av ett inbyggt system med hjälp av standardverktyg och standardapplikationer.

Yocto Projects är idag det verktyg som de flesta använder för att utveckla ett inbyggt system i Linux. Yocto är en industristandard och har funnit sedan 2010. Projektet drivs av Linux Foundation och stöds av flera stora företag.

I kursen går vi igenom hur man börjar utveckla i Yocto och gör en djupdykning i byggsystemet, utveckling av recept, lager och hur man konfigurerar och optimerar Yocto. Det ingår ett antal övningar där du får prova på olika aspekter på utvecklingsprocessen för ett inbyggt Linux-system. Övningarna utförs på ett ARM-baserat kort som heter BeagleBone black.

I kursen går vi igenom:

  • Vad inbyggda system och Yocto Project är
  • Hur man konfigurerar Yocto
  • Hur man skapar recept och lager
  • Hur man utökar och anpassar befintliga lager
  • Hur man skapar en egen Image och hur man skapar en distribution
  • Hur man skapar en SDK för applikationsutveckling
  • Vad klasser är och hur de fungerar
  • Hur man patchar källkod och hur man kan förändra konfigurationen för applikationer
  • Hur man effektivt skapar recept och haterar källkod med devtool
  • Hur man hanterar Yocto setup för ett projekt och dess projektmedlemmar
  • Hur man säkert uppdaterar ett inbyggt system
  • Vad toaster är
  • Hur man felsöker


Målgrupp
Målgruppen är utvecklare som snabbt vill komma igång med att utveckla inbyggda Linux-system med Yocto.

Mål
Efter genomgången utbildning vet du vilka möjligheter Yocto Project erbjuder. Du har de praktiska verktygen för att utveckla ett inbyggt Linux-system med Yocto.

Bakgrundskunskaper
Deltagarna förväntas ha grundläggande kunskaper i Linux och ha grundläggande kännedom om mjukvaruutveckling.

Språk
Utbildningsmaterialet är skrivet på engelska. Utbildningen genomförs på svenska eller engelska.

Kurslängd
Kursen genomförs under tre dagar.

Innehåll

  • Inledning
    • Embedded Linux
    • De fyra elementen
  • Introduktion till Yocto
    • Poky
    • Översikt över Yocto och hur allt hänger ihop
    • Exempel på hur man bygger för olika inbyggda miljöer
  • Bitbake
    • Sätta upp miljön
    • Filtyper
    • Tasks
    • Bitbakeoperationer
    • Byggkatalogen
  • Konfiguration
    • Enskilda byggen
    • Konfigurationer för meta-lager
    • Maskinkonfigurationer i BSP-lager
  • Recept
    • Hur man skriver recept
    • Appendfiler
    • Exempelfiler
    • Externa resurser
    • Licenshantering
    • Virtuella recept/paket
    • Python tasks, datastore och events
  • Meta-lager
    • Vad är ett lager och översikt över lager
    • Standardlager som finns
    • Skapa nya lager
    • BSP-lager
  • Images och distributioner
    • Imagerecept och image-konfiguration
    • Distributioner
    • Paketgrupper
  • SDK - Software Development Kit
    • Översikt och inledning
    • Tillgängliga SDK
    • Generisk SDK och Imagebaserad SDK
    • Installera och använda SDK
  • Optimering och jobba effektivare
    • Sstate cache
    • rm_work
    • nedladdning av källkod
    • Spegelsiter och proxys
  • Klasser
    • Introduktion till klasser
    • Vanliga klasser
    • Arv och inkludering
  • Patchar
    • Patcha källkod
    • Förändra paketkonfiguration (bootloader, Linuxkärna etc.)
  • Devtool
    • Vad devtool är
    • Arbeta med workspace
    • Editera recept
    • Modifiera källkod
    • Uppdatera recept
    • Testa programvaran på målsystemet
    • Exempel på hur man arbetar med devtool
  • Yocto setup
    • Setup
    • Setup med officiella verktyg
    • Introduktion till KAS
  • Säker uppdatering av målsystemet
    • Varför uppdatera
    • Om uppdateringar
    • Symmetrisk och asymetrisk uppdatering
    • U-Boot-variabler
    • Olika programvaror och exempel med Mender
    • Atomär filuppdatering
  • Toaster & felsökning
    • Toaster
    • Felsökning


Mer information
För mer information kontakta Åsa Detterfelt, 070-659 58 12, alternativt maila asa.detterfelt@mindroad.se.

Kurstillfällen:
Stockholm 21 - 23/2, 24 - 26/4,  19 - 21/6
Göteborg 29 - 31/1, 20 - 22/3, 21 - 23/5
Linköping 4 - 6/3

Anmälan och frågor:
Maila asa.detterfelt@mindroad.se för att anmäla dig, eller för eventuella frågor.