Embedded Linux Course

Start Date:
TBD
90
academic hours
Final Project
Embedded Linux

Embedded Linux Course

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.

Course Structure

Ch. 1

Introduction to UNIXLinux Programming

Ch. 2

Linux Development tools

Ch. 3

Automating the Process with GNU Make

Ch. 4

Debugging Linux programs

Ch. 5

Writing and Using Libraries

Ch. 6

File Descriptors

Ch. 7

User space apps working with Hardware

Ch. 8

Linux Processes

Ch. 9

Signals

Ch. 10

Memory associated topics

Ch. 11

Linux Threads "Pthreads"

Ch. 12

Synchronization and Critical Sections

Ch. 13

Processes Vs.Threads

Ch. 14

Inter-process Communication (IPC)

Ch. 15

IThe IO subsystem

Ch. 16

Zero copy

Ch. 17

Networking

Ch. 18

Introduction to Linux Device Drivers

Head of the department
teacher-image-Benny-Cohen

Meet your instructor

Benny Cohen

Embedded Academy Founder and CEO

As a long-time veteran in the technology industry, Benny Cohen combines a deep passion for technology with extensive field experience. With a B.Sc. in Electronics Engineering and an M.Sc. in Communication Engineering, he has spent over 20 years developing software and hardware systems, including the last few years focusing on the cybersecurity industry. In addition to his role as the company founder & CEO, Benny also operates as a hands-on practitioner who specializes in penetration testing and has conducted significant security assessments for leading enterprises and security companies worldwide. His approachable teaching style and real-world expertise make learning both engaging and relevant.

RT*main*RT*afterFunction*RT*insideLoop*RT*insideLoop*RT*insideLoop*RT*insideLoop*RT*insideLoop*

What our graduates say

All rights reserved Embedded Academy ©