Embedded Linux Systems Architecture Training Course
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).
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 concerning embedded processors and development boards
- Basic C programming knowledge
- …and/or or fear to learn the above…
Open Training Courses require 5+ participants.
Embedded Linux Systems Architecture Training Course - Booking
Embedded Linux Systems Architecture Training Course - Enquiry
Embedded Linux Systems Architecture - Consultancy Enquiry
Consultancy Enquiry
Testimonials (3)
The trainer's presentation and way of communicating.
Gianpiero Arico - Urmet Spa
Course - Embedded Linux Systems Architecture
I enjoyed having done full days of courses
Gianluca - Urmet Spa
Course - Embedded Linux Systems Architecture
Maybe more exercises could be better for lerning but the time was to little
Gianpiero Arico' - Urmet Spa
Course - Embedded Linux Systems Architecture
Provisional Upcoming Courses (Require 5+ participants)
Related Courses
Advanced Flutter
14 HoursThis instructor-led, live training Hong Kong (online or onsite) is aimed at developers who wish to use Flutter to create cross-platform applications .
By the end of this training, participants will be able to:
- Migrate applications from Java to Flutter.
- Integrate Firebase backend services such as database, authentication, and storage.
- Create animations and advanced UI features for an app.
BLoC Pattern
14 HoursThis instructor-led, live training in Hong Kong (online or onsite) is aimed at developers who wish to learn how to use BLoC Pattern to manage state across different applications.
By the end of this training, participants will be able to:
- Understand the BLoC core concepts and architecture.
- Create, test, and debug BLoCs.
- Learn about the BLoC build context.
Buildroot: a Firmware Generator for Embedded Systems
7 HoursBuildroot is an open-source project that contains scripts that produce a cross-compilation toolchain, a customizable root filesystem image, and a Linux kernel for embedded devices. During this practical course, participants will learn how to use it:
- How to select software that goes into the root filesystem.
- How to add new packages and modify existing ones.
- How to add support for new embedded boards.
During the course, bootable filesystem images will be produced. Remote courses are delivered using the QEMU emulator, while in the classroom it is possible to use either QEMU or real embedded boards of the trainer's choice.
Other projects with similar goals include the Yocto project and OpenWRT. Please use these presentations to determine which one is the right choice for your needs.
Introduction to Domain Driven Design
14 HoursDomain Driven Design (DDD) is an approach for handling complex behaviors when developing software.
Introduction to Enterprise Architect
7 HoursThis Introduction to Enterprise Architect training course is designed for all persons who wish to use Sparx Systems’ UML modelling tool, Enterprise Architect, for their modelling activities yet are unfamiliar with the features, functions and use of Enterprise Architect.
Enterprise Architecture in the UAF
40 HoursUsing a combination of lectures, demos, and interactive labs, this course showcases the foundations for building and maintaining an Enterprise Architecture (EA) utilizing the Unified Architecture Framework (UAF) version 1.2.
Build Native iOS and Android Apps with Flutter
14 HoursIn this instructor-led, live training in Hong Kong (online or onsite), participants will learn how to use Flutter to rapidly develop a mobile app that runs on both iOS and Android devices.
By the end of this training, participants will be able to:
- Quickly install the framework, IDE and other tooling to start developing.
- Understand and use Google's Dart language to quickly prototype a mobile app.
- Test and deploy mobile apps that run on both iOS and Android using a single code base.
- Customize the app using a rich set of widgets, layouts and animations.
LEDE: Set Up a Linux Wireless Router
7 HoursThe LEDE Project (Linux Embedded Development Environment) is a Linux operating system based on OpenWrt. It is a complete replacement for the vendor-supplied firmware of a wide range of wireless routers and non-network devices.
In this instructor-led, live training, participants will learn how to set up a LEDE based wireless router.
Audience
- Network administrators and technicians
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice
OCSMP Model Builder - Fundamentals prep
21 HoursThe OCSMP Model Builder – Fundamental examination tests knowledge and skills required to construct a basic SysML model of a system. The examination covers model concepts and organization, basic requirements capture and management, structure and behavior models, parametric models, allocation relationships, and use of stereotypes. Using the knowledge and skills covered at this level plus familiarity with a suitable SysML modeling tool, a holder of the OCSMP Model Builder – Fundamental Certification should be a productive contributor to modeling tasks performed by a Systems Engineering team employing a model-based systems engineering approach using SysML. The OCSMP Model Builder – Fundamental Certification is a prerequisite for the program’s two higher levels, and requires the OCSMP Model User Certification as its prerequisite.
This examination (as well as the others in the OCSMP series) tests your ability to apply the knowledge and skills listed here in the context of a model of a system. As you study, go beyond each individual diagram to understand how aspects that it models can influence or affect aspects of the system represented in other diagram types.
Systems Modeling with SysML and Enterprise Architect (EA)
21 HoursIn this instructor-led, live training in Hong Kong (online or onsite), participants will learn how to use SysML as implemented in Enterprise Architect (EA) to carry out system requirements analysis and modeling.
By the end of this training, participants will be able to:
- Understand and apply SysML to Systems Engineering projects, using a Model Based Systems Engineering (MBSE) approach.
- Identify system requirements based on use case models.
- Design and analyze system architecture.
SysML by example
21 HoursThis practical training will show you how to use efficiently the SysML modeling language. You will discover in particular the block diagrams for structural modeling of complex systems. You will deepen the sequence diagram, the state diagram and activity diagram for dynamic modeling. You will also learn to use specific SysML diagrams, such as the requirements diagram and the parametric diagram, as well as the important concept of allocation. We will also focus on the need to define a modeling approach, adapted to the context of the company and the type of system to be studied. We will finally see what is the state of the art of SysML modeling tools.
Audience:
Project managers, architects, system engineers, having to model complex systems including both software and hardware
Teaching Method:
- Theoretical presentation with examples
- Case Study on paper (demo of a SysML tool by the trainer)
UML in Enterprise Architect (workshops)
21 HoursThe course is designed for analysts, designers, developers, testers and project managers.
The workshop presents a problem analysis, design and documentation systems using UML and Enterprise Architect of Sparx Systems. During the training will be presented to the advanced capabilities of the program (such as MDA, profiles, XMI), and best practices that can greatly simplify and accelerate modeling.
Because the training focuses on the Enterprise Architect tool it is required for participants to already know how to model in UML. For those who would like to learn modeling we have dedicated training for UML.
The training method
Lecture 10%, 90% workshop
Use Case Modeling
14 HoursThis course is designed for business analysts, managers, team leads and process owners to provide them with the required competencies for creating use case diagrams and use case scenarios, which serve as a vehicle for eliciting, analyzing, documenting and communicating functional requirements. Delegates will practice creating use cases in the Unified Modeling Language (UML) to graphically represent the interactions between use cases and actors.
Yocto Project
28 HoursIn this instructor-led, live training in Hong Kong, participants will learn how to create a build system for embedded Linux based on Yocto Project.
By the end of this training, participants will be able to:
- Understand the fundamental concepts behind a Yocto Project build system, including recipes, metadata, and layers.
- Build a Linux image and run it under emulation.
- Save time and energy building embedded Linux systems.