Training

Our Programs

Upgrade your skills with our courses displayed below or order your own custom training in the embedded area.

We can release our courses in two different ways

online:
– webinar
– video courses
offline:
– at your location

Be an expert of embedded systems and order our courses today

coreboot for embedded linux developers

Overview

  • modern x86 architecture
  • firmware design principles by examples
  • boot flow from power on to system take off
  • Coreboot walk through
  • firmware build process based on Coreboot
  • coreboot developer workflow
  • remote testing environment
  • SPI flash theory of operation
  • flashing and debugging tools
  • writing payloads hands-on workshop
  • FSP – from theory to integration
  • firmware security basics in Coreboot ecosystem
  • MinnowBoard – hands-on workshop using previously
  • gained knowledge

Audience

People familiar with Embedded Linux development and BSP building. People porting and maintaining Coreboot supported mainboards.

Duration

5 days
40 hours (8h/day)
70% lectures
30% hands-on workshop

Materials

All training materials presentations and source code will be available for customer internal usage.

Language

English


Building and Development of Embedded Linux Systems

Overview

  • Open source development overview
  • Brief history of Linux
  • Linux kernel introduction
  • Using Git for source code management
  • Introduction to Embedded Linux
  • Getting kernel source code
  • Linux kernel configuration and compilation
  • Cross development
  • Linux kernel modules
  • Character device drivers
  • Linux kernel debugging
  • Device Tree files
  • Typical Embedded Linux bootloaders
  • Introduction to Build Systems
  • Building custom Embedded Linux system for typical hardware target
  • Embedded Linux tools
  • Embedded Linux application development and debugging

Audience

People who want to get familiar with Embedded Linux development and BSP building. No prior experience in this area is required. Some basic experience with desktop Linux usage (Command Line Interface) is recommended.

Duration

4 days
32 hours (8h/day)
50% lectures
50% hands-on workshop

Materials

All training materials presentations and source code will be available for customer internal usage.

Language

English


Yocto Project development

Overview

  • Overview of an Embedded Linux system architecture
  • Overview of the Yocto Project and OpenEmbedded ecosystem
  • Using Yocto Project documentation
  • Building emulation image
  • Building image for the development board
  • Board Support Packages and Yocto Project metadata
  • Customizing the build with layers
  • Image customization
  • Extending existing recipes
  • Overview of some of the existing build systems (Autotools,
  • CMake, Meson)
  • Creating a custom recipe
  • Creating a custom image
  • Creating a custom machine configuration
  • Linux Kernel Development in Yocto Project
  • Overview of the available system update mechanisms
  • Security hardening
  • Runtime packages management
  • Troubleshooting build failures
  • Using the Yocto Project SDK
  • Using the Toaster web interface
  • Working with licenses
  • System image optimization

Audience

People familiar with Embedded Linux development and BSP building. Passing our Building and Development of Embedded Linux Systems training first is recommended.

Duration

4 days
32 hours (8h/day)
40% lectures
60% hands-on workshop

Materials

All training materials presentations and source code will be available for customer internal usage.

Language

English


UEFI offensive security

Overview

  • modern x86 architecture
  • boot flow from power on to system take off
  • understading Intel security features
  • attacking Intel security features
  • overview most popular Uefi forensics tools
  • firmware weakness analysis
  • SMM known attacks – theory and practice
  • TPM
  • Intel TXT and SGX
  • Uefi variables and S3 attacks
  • Update mechanism exploitation
  • Non Uefi attack vectors WiFi/BT/3G/4G and USB
  • DMA as an attack vector
  • recent Lenovo and Dell vulnerabilities

Audience

People familiar with computer architecture on intermediate level. Computer Science or similar Master of Science degree. Minimal knowledge of Python is required.

Duration

5 days
40 hours (8h/day)
70% lectures
30% hands-on workshop

Materials

All training materials presentations and source code will be available for customer internal usage.

Language

English


UEFI advanced concepts

Overview

  • Memory protection mechanisms in UEFI
  • Boot Service and Runtime Services hands-on
  • UEFI Authenticated Variables
  • Virtualization in firmware and its use cases
  • System Management Mode deep dive
  • SMI Transfer Monitor design and practical use cases
  • ACPI in UEFI
  • SecurityPkg and CryptoPkg use cases

Audience

People with very good knowledge of Linux, C and Python. Good knowledge of computer systems architecture is required. Preferred audience after accomplishing 3mdeb UEFI fundamentals training or similar.

Duration

5 days
40 hours (8h/day)
50% lectures
50% hands-on workshop

Materials

All training materials presentations and source code will be available for customer internal usage.

Language

English


UEFI fundamentals

Overview

  • UEFI and PI specification overview
  • UEFI development workflow and hardware interaction
  • EDK2 code infrastructure and build process
  • Detailed analysis of UEFI and PI boot flow
  • Hands on experience with all booting phases
  • Debugging methods
  • PEIMs and DXE drivers development
  • UEFI protocols overview and hands-on experience
  • SMM in UEFI theory of operation and practical exercises
  • Human interfaces and drivers configuration
  • Boot process manipulation
  • Legacy BIOS integration through Compatibility Support Module (CSM)

Audience

People with basic knowledge of Linux, C and Python building. Minimal knowledge of computer systems architecture is required.

Duration

5 days
40 hours (8h/day)
50% lectures
50% hands-on workshop

Materials

All training materials presentations and source code will be available for customer internal usage.

Language

English


UEFI practical firmware development

Overview

  • Tianocore structure and components
  • EDK2 build process deep dive
  • FSP form basics to advanced concepts
  • FSP integration and building procedures
  • A new platform enabling and porting procedures
  • EDK2 debugging infrastructure
  • OVMF as a development environment
  • 3mdeb Remote Testing Environment
  • UEFI compliance testing
  • UEFI security validation
  • Image signing
  • UEFI Shell usage

Audience

People with very good knowledge of Linux, C and Python. Good knowledge of computer systems architecture is required. Preferred audience after accomplishing 3mdeb UEFI fundamentals training or similar.

Duration

5 days
40 hours (8h/day)
30% lectures
70% hands-on workshop

Materials

All training materials presentations and source code will be available for customer internal usage.

Language

English


Contact Us

Feel free to ask if you have any questions.