💻
Programming Concept
  • 👨‍🔬About Me
  • 📗C++ STL Concept 2023
    • 📖STL in CPP ( Part I)
    • 📖STL in CPP ( Part II)
    • 📖STL in CPP ( Part III )
    • 📖STL in CPP ( Part IV )
    • 📖STL in CPP ( Part V )
    • 📖STL in CPP ( Part VI )
    • 📖STL in CPP ( Part VII )
  • ✏️Pointers in C / C++
    • 📖Pointers in details
  • 📘Strings in CPP 2023
  • 🕞Thread in C++ 2023
  • 📓Smart Pointer in C++ 2023
  • Basic C++ Topics
    • 💼Type Casting in C++ 2023
  • 💻Advanced C++ Programming
    • 🎓Topics (Syllabus)
    • 🧑‍🎓Inheritance and Polymorphism
    • 🖊️Exception Handling
    • 🏃Runtime Type Information
    • 📔An Overview of Templates
    • 📡Template in C++
  • 💻Embedded Linux
    • 🖥️Embedded Linux OS
      • Build Yocto Project Step By Step
      • How to install apt-get to the Yocto Project image
      • Installing gcc/g++ toolchain in yocto project
      • Installing GDB in yocto project
      • Installing ssh-server-dropbear for embedded linux in yocto project
      • Add Python To A Build
      • Add Boost To A Build
      • Adding Valgrind To Build
      • How To Add A Custom App To A Yocto Build
      • Raspberry Pi
    • 📶Communication Protocols
      • ✏️Working With I2C using c++
      • 📔SPI Implementation with source code in C++
      • 📓Linux Serial Ports Using C/C++
      • 🖱️UART
      • 🖨️Universal GPIO Access
  • 🧑‍💻QT QML
    • 📘QT QML Concept 2023
      • Why Qt Framework and QML
      • Sqlite3 for qtquick application
      • How To Install sqlite3 in windows 11 || Windows 10
      • Signals and Slots in Qt QML
      • Working with Signals and Slots in QML
      • Sorting QML ListModels
      • ListView In QML With Section Delegate
      • Registration of custom enum in QML
      • Registering a QML Type as a Singleton object
      • Using enumerations in QML without C ++
      • Registering a Singleton object to use “Static” methods in QML
      • Connecting JavaScript files to other JavaScript files in a Qt / QML project
      • Positioning in Qt QML with anchors
      • TextInput validators in Qt Qml
      • Qt Qml Abstract Item Model using C++
      • Qt QML List Model
      • How to Register your C++ Class as a QML Type
      • Jabra Speaker Connect Qt Project
      • Qt | One article summarizing QObject
  • ▶️QT Concept
    • ℹ️Icon button
    • 💻Register QML Singletone in CP
Powered by GitBook
On this page

Was this helpful?

  1. Embedded Linux

Embedded Linux OS

Welcome to the Embedded Linux Project!

PreviousTemplate in C++NextBuild Yocto Project Step By Step

Last updated 1 year ago

Was this helpful?

Embedded Linux is an operating system (OS) based on the Linux kernel that is designed to run on embedded systems. Embedded systems are specialized computer systems that are built into other devices or machines to perform specific functions. They are commonly found in devices such as smartphones, tablets, routers, smart TVs, IoT devices, and industrial machinery.

Embedded Linux provides a flexible and customizable platform for developing embedded applications. It leverages the stability, scalability, and open-source nature of the Linux kernel, along with a range of software libraries, tools, and frameworks. Here are some key aspects and components of an Embedded Linux OS:

  1. Linux Kernel: The Linux kernel is the core component of the Embedded Linux OS. It provides the low-level hardware abstraction, device drivers, memory management, process scheduling, and other essential operating system functionalities.

  2. Bootloader: The bootloader is responsible for initializing the hardware, loading the kernel into memory, and starting the operating system. Popular bootloaders used in embedded systems include U-Boot and GRUB.

  3. Filesystem: The Embedded Linux OS uses a filesystem to organize and manage files and directories. Commonly used filesystems in embedded systems include ext2, ext3, ext4, and YAFFS (Yet Another Flash File System).

  4. Device Drivers: Device drivers enable communication between the Linux kernel and hardware peripherals, such as sensors, actuators, network interfaces, storage devices, and display controllers. These drivers provide an abstraction layer for interacting with the hardware.

  5. Libraries and Frameworks: Embedded Linux OS leverages various libraries and frameworks to facilitate application development. Examples include the GNU C Library (glibc), BusyBox (provides a set of common Unix utilities), Qt (a cross-platform application framework), and many others.

  6. User Space: The user space in an Embedded Linux OS consists of various components and applications that run on top of the Linux kernel. This includes system utilities, daemons, services, graphical user interfaces, and applications specific to the embedded device's functionality.

  7. Package Management: Package managers, such as apt (Advanced Package Tool) or opkg (Open Package System), are used to install, update, and manage software packages on the embedded system. They help in maintaining the system's software components and dependencies.

  8. Cross-Compilation: Embedded Linux development often involves cross-compiling applications on a host development machine that is different from the target embedded system. Cross-compilation tools and toolchains are used to build executable binaries for the target architecture.

  9. Real-Time Capabilities: In certain embedded systems, real-time capabilities are required to meet strict timing requirements. The Linux kernel can be configured with real-time patches or real-time extensions like PREEMPT-RT to provide deterministic behavior and response times.

  10. Customization and Configuration: Embedded Linux OS allows customization and configuration to tailor the operating system to the specific requirements of the embedded device. This includes selecting desired kernel features, enabling or disabling specific modules, optimizing the system for resource-constrained environments, and configuring system parameters.

Embedded Linux provides a robust and versatile platform for developing embedded applications. It benefits from the extensive open-source community support, a wide range of available software packages, and the familiarity of developers with Linux development tools and methodologies.

💻
🖥️
Raspberry Pi3
Embedded Linux OS