Embedded Linux Systems Architecture ( eglisa | 35 hours )

Prerequisites:
  • 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 concerning embedded processors and development boards 
  • Basic C programming knowledge 
  • …and/or or fear to learn the above… 
Overview:

Course Objectives

To provide an understanding of the essentials of embedded GNU/Linux, how the bits and pieces fit together. What components are needed to build an embedded GNU/Linux system, where to get them from and how to configure/build/install them? Where to get help from? What about those software licenses? Hands-on exercises provide you with the necessary practical experience to go ahead and develop your own embedded GNU/Linux systems after completing this training successfully.

Description

This five day training class uses hands-on exercises combined with instruction to illustrate the concepts of embedded GNU/Linux. It is designed to bring you quickly up to speed. The philosophy, concepts and commands necessary to make effective use of GNU/Linux are described through a combination of theory and on-the-job training.

Don't reinvent the wheel, but learn from an experienced trainer and take home a working knowledge of GNU/Linux and the ability to use it effectively in your own embedded development project.

Who should attend?

Managers, project managers, software-, hardware-, development-, systems engineers, testers, administrators, technicians and other parties interested in the technology, who want to understand as quickly as possible how Embedded GNU/Linux works. You must use GNU/Linux or you have to luxury to decide whether it makes sense to use it or not. Maybe you already tried to use Embedded GNU/Linux, but are not quite sure that you did everything the right way. You currently use a different operating system and wand to figure out whether GNU/Linux might better and/or cheaper.

Delivery Options

All the training material is English, but the presentation of it can be in English or in German, as you wish, worldwide.

  • on-site - instructor driven
  • on-line - instructor driven
  • on-site/on-line combination - instructor driven
Course Outline:

Introduction

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

HOST PLAYGROUND

  • Play with GNU/Linux
    • architecture
    • shell
    • permissions
    • FHS (file hierarchy standard)
    • hard/soft links
    • real/effective uid/gid
    • scheduler
    • process/task/thread
    • IPC simple/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 needed to run something on board
    • JTAG/BDI config
    • u-boot (checkout, config, build)
    • kernel (checkout, config, build)
    • rootfs
    • flat device tree
  • build/execute what's applicable from above on the target board
  • various rootfs
    • CRAMFS
    • ramdisk
    • MTD
    • JFFS2
    • roEXT2
    • ubi
  • build/execute what's applicable from above on the target board
  • comparison of root file systems
  • debugging
    • simple tools
    • local/remote
    • user/kernel
    • gdb
    • gdbserver
    • JTAG/BDI (optional)
  • profiling
    • gprof
    • gcov
    • oprofile

REAL-TIME

  • prerequisites
    • interrupts
    • reentrant code
  • real-time Linux
    • explicit/implicit preemption points
    • real-time preemption patch
    • fully preemptive kernel
    • hard real-time extensions
  • Adeos/Xenomai
    • adeos patch
    • xenomai
    • patch/config/build kernel
    • run it on board

SW RELEASE

  • administration
  • development
  • how to reproduce an SW release?

MISC

  • getopt
  • endianess
  • 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).

Sites Published:

United Arab Emirates - Embedded Linux Systems Architecture

Qatar - Embedded Linux Systems Architecture

Egypt - Embedded Linux Systems Architecture

Saudi Arabia - Embedded Linux Systems Architecture

South Africa - Embedded Linux Systems Architecture

Brasil - Embedded Linux Systems Architecture

Canada - Embedded Linux Systems Architecture

中国 - Embedded Linux Systems Architecture

香港 - Embedded Linux Systems Architecture

澳門 - Embedded Linux Systems Architecture

台灣 - Embedded Linux Systems Architecture

USA - Embedded Linux Systems Architecture

Österreich - Embedded Linux Systems Architecture

Schweiz - Embedded Linux Systems Architecture

Deutschland - Embedded Linux Systems Architecture

Czech Republic - Embedded Linux Systems Architecture

Denmark - Embedded Linux Systems Architecture

Estonia - Embedded Linux Systems Architecture

Finland - Embedded Linux Systems Architecture

Greece - Embedded Linux Systems Architecture

Magyarország - Embedded Linux Systems Architecture

Ireland - Embedded Linux Systems Architecture

Israel - Embedded Linux Systems Architecture

Luxembourg - Embedded Linux Systems Architecture

Latvia - Embedded Linux Systems Architecture

España - Embedded Linux Systems Architecture

Italia - Embedded Linux Systems Architecture

Lithuania - Embedded Linux Systems Architecture

Nederland - Embedded Linux Systems Architecture

Norway - Embedded Linux Systems Architecture

Portugal - Embedded Linux Systems Architecture

România - Embedded Linux Systems Architecture

Sverige - Embedded Linux Systems Architecture

Turkey - Embedded Linux Systems Architecture

Malta - Embedded Linux Systems Architecture

Belgique - Embedded Linux Systems Architecture

France - Embedded Linux Systems Architecture

日本 - Embedded Linux Systems Architecture

Australia - Embedded Linux Systems Architecture

Malaysia - Embedded Linux Systems Architecture

New Zealand - Embedded Linux Systems Architecture

Philippines - Embedded Linux Systems Architecture

Singapore - Embedded Linux Systems Architecture

Thailand - Embedded Linux Systems Architecture

Vietnam - Embedded Linux Systems Architecture

India - Embedded Linux Systems Architecture

Argentina - Embedded Linux Systems Architecture

Chile - Embedded Linux Systems Architecture

Costa Rica - Embedded Linux Systems Architecture

Ecuador - Embedded Linux Systems Architecture

Guatemala - Embedded Linux Systems Architecture

Colombia - Embedded Linux Systems Architecture

México - Embedded Linux Systems Architecture

Panama - Embedded Linux Systems Architecture

Peru - Embedded Linux Systems Architecture

Uruguay - Embedded Linux Systems Architecture

Venezuela - Embedded Linux Systems Architecture

Polska - Embedded Linux Systems Architecture

United Kingdom - Embedded Linux Systems Architecture

South Korea - Embedded Linux Systems Architecture

Pakistan - Embedded Linux Systems Architecture

Sri Lanka - Embedded Linux Systems Architecture

Bulgaria - Embedded Linux Systems Architecture

Bolivia - Embedded Linux Systems Architecture

Indonesia - Embedded Linux Systems Architecture

Kazakhstan - Embedded Linux Systems Architecture

Moldova - Embedded Linux Systems Architecture

Morocco - Embedded Linux Systems Architecture

Tunisia - Embedded Linux Systems Architecture

Kuwait - Embedded Linux Systems Architecture

Oman - Embedded Linux Systems Architecture

Slovakia - Embedded Linux Systems Architecture

Kenya - Embedded Linux Systems Architecture

Nigeria - Embedded Linux Systems Architecture

Botswana - Embedded Linux Systems Architecture

Slovenia - Embedded Linux Systems Architecture

Croatia - Embedded Linux Systems Architecture

Serbia - Embedded Linux Systems Architecture

Bhutan - Embedded Linux Systems Architecture

Nepal - Embedded Linux Systems Architecture