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.
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
Utbildningsformer
Remote
Längd
3 dagar
Pris
26950 kr
Target group
Goal
Prior knowledge
Course content: Developing embedded systems with Yocto Project
Day 1
Introduction
- Embedded Linux
- The four elements
Introduction to Yocto
- Poky
- Overview of Yocto and how it all fits together
- Example
Bitbake
- Set up the environment
- File types
- Tasks
- Bitbake operations
- The construction catalog
Configuration
- Individual buildings
- Configurations for meta layers
- Machine configurations in BSP layer
Recipe
- How to write prescriptions
- Append files
- Sample files
- External resources
- License management
- Virtual recipes/packages
- Python tasks, datastore and events
Meta layer
- What is a layer and overview of layers
- Standard stock available
- Create new layers
- BSP stock
- Layers with image recipes and image configuration
SDK - Software Development Kit
- Overview and introduction
- Available SDKs
- Generic SDK and Image-based SDK
- Install and use the SDK
Optimization and work more efficiently
- State cache
- rm_work
- source code download
- Mirror sites and proxies
Day 2
Classes
- Introduction to classes
- Regular classes
- Heritage and inclusion
Patches
- Patch source code
- Change package configuration (bootloader, Linux kernel, etc.)
Safe update of the target system
- Why update?
- About updates
- Symmetric and asymmetric update
- U-Boot variables
- Various software and examples with Mender
- Atomic file update
Toaster & troubleshooting
- Toaster
- Troubleshooting
Referenser