Utveckling av inbyggda system med Yocto Project

Utveckling av inbyggda system med Yocto Project

Översikt

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.

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.

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

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

Utbildningsmaterialet finns både på engelska och på svenska. Utbildningen genomförs på svenska eller engelska.

Denna kurs har ingen certifiering.

Info kommer

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.

Vad man får lära sig:

  • Vad inbyggda system är och vad Yocto Project är
  • Hur man kan konfigurera 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 egen 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 effektivare kan skapa recept och hantera källkod med devtool
  • Hur man kan hantera Yocto setup för ett projekt och dess projektmedlemmar
  • Hur man säkert uppdaterar ett inbyggt system
  • Vad toaster är
  • Hur man kan felsöka

Inledning

  • Embedded Linux
  • De fyra elementen

Introduktion till Yocto

  • Poky
  • Översikt över Yocto och hur allt hänger ihop
  • Exempel

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 & 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 worklspace
  • Editera recept
  • modifiera källkod
  • uppdatera recept
  • Testa programvaran på målsystemet
  • Exempel

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

Summering och avslutning

Kursöversikt

26 950 kr

3 Dagar

Distans, Klassrum

Fortsättning

Engelska, Svenska

Startgaranti gäller om kursen har datum, om inget annat framgår.

Hittar du inget (passande) datum? Skicka in en intresseanmälan så gör vi vad vi kan för att planera ett tillfälle som passar. 

Fö­re­tags­an­pas­sad kurs

Kursen kan anpassas från flera perspektiv:
  • Innehåll och fokusområde
  • Omfattning
  • Upplägg

I samspel med kursledaren ser vi till att kursen uppfyller era önskemåll

Skicka intresseanmälan för utbildningen