Embedded Linux

Embedded Linux




An Embedded system is defined as a system that includes a processing unit and is designed to provide a specific service according to the specifications of that product.

These systems can be limited in power, size, response time, hardware resource usage, and similar factors.

Development of Embedded Systems is required to create the optimal integration between hardware and software for various product specifications.

In other words, common computing systems like PCs may not necessarily be suitable for many other applications such as communication equipment, cameras, media players, smart controllers, and more, due to their volume and power constraints.

Conversely, not every electronic system, like the latter examples we mentioned, will allow providing advanced and flexible services to another system, such as using specialized sensors, working with Timers and clock units, display screens, sound cards, memory components, interfacing with communication networks, and other unique tasks.

Learning Linux

Linux is a versatile operating system developed in 1991 by Linus Torvalds, based on the Unix operating system.

In the Embedded Linux course, we will learn about the usage of the Linux operating system on embedded platforms.

Today, there is a variety of products based on the Linux operating system integrated with embedded computer systems, such as electronic products (smart TVs, infotainment in cars), networking equipment like wireless routers, navigation devices, medical devices, and more.

Goal of the Embedded Linux Course

The Embedded Linux course is part of the Embedded Linux Programming track.

The course aims to provide engineers in the industry with the necessary knowledge to tackle the challenges of developing embedded computer systems using the Embedded Linux platform.

The Linux course includes all the training and development conducted on development boards. Among other things, students will become familiar with the stages of development, required tools, typical issues in the development process and their solutions, use of various debugging tools, development of user-mode applications: using System Calls, creation and management of Processes, creation and management of Threads, synchronization mechanisms between Threads, types of communication between Processes known as Inter-Process Communication (IPC), creation and management of Shared Memory, use of Linux Sockets, use of Pipes, and more.

The Linux course is suitable for anyone looking to learn operating systems on computer-based systems (Embedded).

Who is the Embedded Systems Course for?

  • Software engineers, developers, programmers.
  • Individuals interested in learning Embedded Systems development under the Linux operating system.
  • Embedded Bare-Board engineers looking to develop device drivers under the Linux operating system.
  • Hardware, software, and computer science engineers seeking practical knowledge in the Linux kernel world.

Embedded Systems Course Prerequisites

  • Knowledge and experience with the Linux operating system.
  • Background and/or experience in C/C++ development (essential for professional conversion track).

Embedded Systems Course Description

This course is a practical program that includes lectures and hands-on exercises. The course duration is approximately 90 academic hours – 60 practical hours + 30 hours of lab exercises.

The course includes:

  • Class exercises accompanied by explanations, homework assignments, and solutions on the course website.
  • Course booklet – Linux learning.
  • Videos and presentations on the course website.
  • Utilization of development boards for working with Embedded Systems.
  • Upon completing the course, each student will execute a practical project that summarizes the acquired knowledge.

Lectures are held once a week in the evenings or mornings.

Embedded Linux Course Content

Introduction to UNIXLinux Programming
Linux Development tools
Automating the Process with GNU Make
Debugging Linux programs
Writing and Using Libraries
File Descriptors
User space apps working with Hardware
Linux Processes
Signals
Memory associated topics
Linux Threads "Pthreads"
Synchronization and Critical Sections
Processes Vs.Threads
Inter-process Communication (IPC)
IThe IO subsystem
Zero copy
Networking
Introduction to Linux Device Drivers

Talk to an Advisor

Benny Cohen

Real Time Group Founder and CEO


  • M.Sc. in Communication Engineering
  • B.Sc. in Electronics Engineering
  • Lecturer and Head of the Cyber and Information Security Course at RT-Group, with over 20 years of experience in software/hardware system development, including 6 years in the cybersecurity industry.
  • Specializes in penetration testing and provides training both domestically and internationally. Conducts penetration testing (PT) for security companies as well as leading enterprises in the industry.

teacher-image-Benny-Cohen
Department Head
Come Study with Us
  • Experienced expert instructors
  • Practical courses for gaining hands-on experience
  • Practical project of 145 hours in the Development department
  • Build a portfolio for job interviews
  • Recorded lessons for review
  • Assistance in preparing industry-specific resumes
  • Personal assistance of up to 5 hours per month
All rights reserved Real Time Group ©