0% found this document useful (0 votes)
4 views19 pages

Lecture01_IntroToLinuxAndEmbeddedSystems

Arm is dedicated to promoting inclusive language and is actively working to replace non-inclusive terms in its content. The document outlines the structure of an Embedded Linux Online Course, which covers various aspects of embedded systems and Linux applications. It includes modules on system components, configuration, kernel modules, and practical lab exercises.

Uploaded by

taokhe200296
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views19 pages

Lecture01_IntroToLinuxAndEmbeddedSystems

Arm is dedicated to promoting inclusive language and is actively working to replace non-inclusive terms in its content. The document outlines the structure of an Embedded Linux Online Course, which covers various aspects of embedded systems and Linux applications. It includes modules on system components, configuration, kernel modules, and practical lab exercises.

Uploaded by

taokhe200296
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 19

Disclaimer

Arm is committed to making the language we use inclusive, meaningful, and respectful. Our goal is to remove and
replace non-inclusive language from our vocabulary to reflect our values and represent our global ecosystem.

Arm is working actively with our partners, standards bodies, and the wider ecosystem to adopt a consistent approach to
the use of inclusive language and to eradicate and replace offensive terms. We recognise that this will take time. This
course may contain references to non-inclusive language; it will be updated with newer terms as those terms are
agreed and ratified with the wider community.

Contact us at [email protected] with questions or comments about this course. You can also report non-inclusive and
offensive terminology usage in Arm content at [email protected].

1 © 2017 Arm Limited


Embedded Linux
Introduction

© 2017 Arm Limited


Goals

To introduce the structure of the Embedded Linux Online Course


To introduce the concept of embedded systems
To provide a few illustrative examples of Linux-based embedded systems

3 © 2017 Arm Limited


Summary

Course structure
Introduction to embedded systems
Linux in embedded systems

4 © 2017 Arm Limited


Summary

Course structure
Introduction to embedded systems
Linux in embedded systems

5 © 2017 Arm Limited


Course Structure

Module 1: Linux in Embedded Systems


• Definition of embedded systems
• Examples

Module 2: Linux-based Embedded System Component Stack


• Bootloader
• Kernel
• Root file system
• Device tree
• System programs
• Application

6 © 2017 Arm Limited


Course Structure
Module 3: Anatomy of a Linux-based system
• The Linux Kernel internals
• Device tree
• System programs and BusyBox

Module 4: Configuration & Build Process of an Embedded Linux System


• Buildroot
• Yocto

Module 5: Introduction to Linux Kernel Modules


• CPU – I/O interface
• I/O taxonomy
• Linux devices
• Virtual file system abstraction
• Linux Kernel modules
7 © 2017 Arm Limited
Course Structure

Module 6: Communication Between Kernel and User Space


• Module level communication point of view
• User level communication point of view

Module 7: Application Demo: Building a Ranging Sensor Kernel Module


• The sysfs file system
• Building Linux support for the HC-SR04 ultrasonic ranging sensor

Module 8: System Debugging & Profiling lab exercises


The majority of the theoretical lectures will be complemented with lab exercises.

8 © 2017 Arm Limited


Summary

Course structure
Introduction to embedded systems
Linux in embedded systems

9 © 2017 Arm Limited


What Is an Embedded System?
It is a special-purpose computer designed for a specific application.
Example of application:
internal combustion engine (ICE) Example of embedded system:
electronic control unit for ICE

10 © 2017 Arm Limited


Embedded System Components
Application
Two main components
• Application System Programs
• Platform
System Call Interface

Operating System
Basic Software
Application

Platform
Process Virtual File
• Software that implements the functionalities for Management System
which the embedded system is intended (e.g., to
control an ICE) Memory Network
Management Management
Platform
Device Drivers
• Combination of hardware and basic software
components that provides the services needed for
the application to run Bootloader
• Basic software includes system programs, operating
system, bootloader Hardware
11 © 2017 Arm Limited
Basic Software

Abstracts the hardware details by providing easy- System Programs


to-use functionalities, such as:
Access to the resources through user-friendly utilities known System Call Interface

Operating System

Basic Software
as system programs
Process Virtual File
• Example: ls to list the content of a directory Management System
Memory Network
• Efficient access to the resources provided by the hardware Management Management
through the operating system
• Example: CPU real-time scheduling, device driver
Device Drivers
management
Bootloader
• Initialization of hardware resources at power-up and
execution of the operating system through the bootloader

12 © 2017 Arm Limited


Operating Systems for Embedded Systems
Example 1: deterministic real-time system
There are many solutions available which
serve different purposes depending on the
requirements of the application.
• Example 1
• Needs: deterministic real-time operating system for
low-cost devices, with little memory footprint
• Possible solutions: ARM RTX, Micrium mC/OS,
Example 2: in-vehicle infotainment
FreeRTOS, and others
• Example 2
• Needs: multi-core and networking support, advanced
graphics, and complex device handling
• Possible solutions: Linux, Android, and Windows

http://linuxgizmos.com/linux-based-in-vehicle-infotainment-on-the-rise /
13 © 2017 Arm Limited
Summary

Course structure
Introduction to embedded systems
Linux in embedded systems

14 © 2017 Arm Limited


Why Linux-based Embedded Systems?
Open Source (under GNU General Public License v2.0 : GPLv2)
• The full source code is available for learning and adaptation

Engaged community maintaining and improving Linux regularly


• Companies
• Individuals
• Academics
• Hobbyists

Flexible and adaptable: supports many hardware/System-on-Chip (SoC) configurations


• Based on ARM, x86, PowerPC, SPARC, etc.

Proven in many different scenarios (see next slides)


Supported by a very large ecosystem of software
• Bootloader, system programs, networking services, advanced graphic services, etc.

Royalty-free
15 © 2017 Arm Limited
Linux Evolution
August 26, 1991: everything started with this post Today several kernel categories exist, including:
to comp.os.minix
• Prepatch or "RC" kernels, which are pre-releases
maintained and released by Linus Torvalds.
• Mainline kernel is maintained by Linus Torvalds, and is
where all new features are introduced. New mainline
kernels are released every 2-3 months.
• Long-term kernels are older releases subject to “long-term
maintenance”. Important bug fixes are applied to such
kernels.

https://www.kernel.org/category/releases.html

16 © 2017 Arm Limited


Linux-based Embedded System: Example 1

In-flight entertainment systems

“Linux is particularly suited for in-flight


entertainment because it's simple, not
weighed down by accompanying
programs, and easily adaptable to many
environments.”
http://www.linuxinsider.com/story/The-Flying-Penguin-Linux-In-Flight-Entertainment-Systems-65541.html

http://www.linuxinsider.com/story/
The-Flying-Penguin-Linux-In-Flight-Entertainment-Systems-65541.html

17 © 2017 Arm Limited


Linux-based Embedded System: Example 2

Tim Horton’s Café and Bake Shop

The screen displays the messages


Linux produces during boot-up.
In particular, we can recognize a
kernel panic, as the kernel is not
able to find the root file system.

18 © 2017 Arm Limited


Linux-based Embedded System: Example 3

A gas station pump

The screen displays the messages of


a Linux bootloader.
This gas station is powered by Linux
Ubuntu distribution with Kernel
2.6.35.

19 © 2017 Arm Limited

You might also like