Get in Touch

Course Outline

Introduction

  • History of Unix/Linux
  • Free Software
  • The Unix Philosophy

HOST PLAYGROUND

  • Exploring GNU/Linux
    • Architecture
    • Shell
    • Permissions
    • FHS (File Hierarchy Standard)
    • Hard and soft links
    • Real and effective UID/GID
    • Scheduler
    • Process, task, and thread management
    • IPC: Simple and advanced
      • Pipes
      • Signals
      • Message queues
      • Semaphores
      • Shared memory
      • Sockets
      • Select/poll
    • IPC techniques to avoid
  • Host Linux setup
    • Yocto/ELDK (cross/target tools, libraries, packages)
    • Terminal Emulation
    • Servers (DHCP, tftp, NFS)

TARGET PLAYGROUND

  • Files required to run on the board
    • JTAG/BDI configuration
    • u-boot (checkout, config, build)
    • Kernel (checkout, config, build)
    • Root filesystem
    • Flat device tree
  • Build and execute the relevant components on the target board
  • Various root filesystem options
    • CRAMFS
    • Ramdisk
    • MTD
    • JFFS2
    • roEXT2
    • UBI
  • Build and execute the relevant components on the target board
  • Comparison of root file systems
  • Debugging
    • Simple tools
    • Local and remote debugging
    • User-space and kernel debugging
    • gdb
    • gdbserver
    • JTAG/BDI (optional)
  • Profiling
    • gprof
    • gcov
    • Oprofile

REAL-TIME

  • Prerequisites
    • Interrupts
    • Reentrant code
  • Real-time Linux
    • Explicit and implicit preemption points
    • Real-time preemption patch
    • Fully preemptive kernel
    • Hard real-time extensions
  • Adeos/Xenomai
    • Adeos patch
    • Xenomai
    • Patch/config/build kernel
    • Execution on the board

SW RELEASE

  • Administration
  • Development
  • How to reproduce a software release

MISC

  • getopt
  • Endianness
  • Cheat sheets

Except where otherwise noted, content on this course outline is licensed under Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).

Requirements

  • Basic familiarity with using a GNU/Linux system (e.g., Ubuntu) as an end-user in user space
  • Basic familiarity with a command-line shell
  • Basic knowledge of user-space application development with GNU/Linux
  • Basic knowledge regarding embedded processors and development boards
  • Basic C programming knowledge
  • ...or a willingness to learn the above
 35 Hours

Custom Corporate Training

Training solutions designed exclusively for businesses.

  • Customized Content: We adapt the syllabus and practical exercises to the real goals and needs of your project.
  • Flexible Schedule: Dates and times adapted to your team's agenda.
  • Format: Online (live), In-company (at your offices), or Hybrid.
Investment

Price per private group, online live training, starting from 6500 € + VAT*

Contact us for an exact quote and to hear our latest promotions

Testimonials (3)

Provisional Upcoming Courses (Contact Us For More Information)

Related Categories