Embedded Linux training

Embedded Linux training

Our maximum popular `combo` on-line path due to the fact in only 5 afternoons you may examine the whole lot you want to start to move bring together the Linux Kernel for an ARM card and use Yocto Project to generate recipes and custom layers.

Basic path aimed toward novices with a minimal information of Linux, it gives the facts had to configure and move-bring together the u-boot Bootloader and the Kernel.

This path additionally gives the facts had to configure and use Yocto Project (and Openembedded), git and bitbake via way of means of developing an embeddded Linux distribution from scratch. Management of recipes in overlays with custom layers.

Learn to construct and control embedded Linux structures with the Yocto Project and OpenEmbedded.
If you need to now no longer waste time acting time-ingesting obligations in the course of the path, this in depth path is ideal for you.
In order to shop time, a few sections are shortened or skipped, including downloading the applications and the lengthy preliminary compilation, relying at the desires and hobbies of the participants.

Topics covered

The course, aimed at developers who need to quickly learn the Linux development environment.

  • Understanding the u-boot Bootloader
  • Understanding the Linux Kernel
  • Understanding the Device Tree
  • Compiling the Kernel
  • Compiling the U-Boot
  • Laboratory practice on ARM board (physical/QemuARM
  • Integrate your card into a BSP

At the end of this course, you will be ready to use the Embedded Linux System and compiled cross applications.

Details

  • Duration:
    • For Corporates: 
        •  5 Full Continue Days
    • For Working Professionals
        • Total 1 Month Duration
        • Weekend classes (4 Saturdays & 4 Sundays Time= 2-4 hours)
        • Weekdays support for Assignments
  • Type: ~ 50% presentations, ~ 50% practical exercises
  • Language: English

Pre-requisites:

  • Ubuntu 18.04 LTS Laptop (4 GB  RAM and 40 GB free Space).
  • Good Internet connection.
  • Install zoom/teamviewer/Anydesk

Hardware used 

The practical exercises will be run by the teacher on a real board with an ARM CPU during the course.
The board used depends on the course you are attending.
Verify this detail in the page dedicated to the specific training course you are going to attend.

Thanks to the portability of Linux and Yocto Project, all the exercises performed will be applicable to any other type of card. For example:

  • NXP – i.MX6, i.MX7, i.MX8
  • ST Microelectronics – STM32
  • NVIDIA –  Jetson NANO, Xavier NX
  • Microchip – SAMA5D2, SAMA5D3
  • Ti – AM335x,AM57X
  • Intel – x86

Course structure OUTLINE

  • Introduction to Embedded 
  • Introduction to Embedded Hardware
  • Introduction to Embedded Linux Software
  • Introduction to ARM Processor Basics & Families
  • Embedded OS Architecture
  • Embedded OS Booting Process
  • Manually Flashing Pre compiled OS Images to Board
    • Flash u-boot on board
    • Flash Kernel on board
    • Flash rootfs on board
  • ARM Cross Toolchain
    • What are ARM Cross Toolchain and its uses?
    • Toolchain Components
    • Install ARM Cross Toolchain
    • Setup Toolchain Environment
  • U-boot Bootloader
    • Introduction to U-boot
    • U-boot Source Directory structure
    • U-boot Code flow
    • U-boot Menu configuration support
    • Compile and flash U-boot to board.
  • U-Boot Customisation
    • Add New Command in U-boot
    • Add Heartbeat GPIO Driver
    • Modifying Bootloader to support new device
    • Booting with Customized u-boot Console
  • U-Boot
    • Upgrade U-boot Version to 2020 to 2021
  • Linux Kernel
    • Linux Kernel Introduction
    • Linux Kernel Source Directory Architecture
    • Linux Kernel Code Flow
    • Linux Kernel Image Types
    • U-boot Menu configuration support
    • Linux Kernel Download & Compile & flash to board
    • Device tree
      • Introduction to Device Tree (dts, dtsi, dtb)
      • introduction to Platform device, platform driver, and Platform data
      • Device tree Structure
      • How to analyze datasheets
      • How to do Pinmux for different Pins
    • Create New Device Nodes For,
      • GPIO
      • I2C
      • SPI
      • UART etc,
    • Create New Board Device tree files
    • Upgrade Linux Kernel from 5.5. to 5.10
    • Device Drivers
      • Introduction to Device drivers
      • GPIO driver for LED|Buttion
      • Introduction to I2C and SPI Device drivers