0% found this document useful (0 votes)
139 views

Roadmap for Embedded Linux System

Uploaded by

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

Roadmap for Embedded Linux System

Uploaded by

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

Roadmap for Embedded Linux System

Basic purpose or intend to create this document is to define overall roadmap for Embedded
Linux Systems
Embedded Linux is actually a sub-niche of Embedded Software. So if you have done any kind of
embedded software development before, that would be a great start (writing firmware, or
developing GUI for Raspberry Pi, or writing a small driver for a sensor using Arduino).
The end goal of Embedded Linux is to develop custom software for a customized Linux board.
This is interesting because we now have to think like a Linux kernel developer.
For example, a common project in Embedded Linux is to develop a device with the
requirements as follows:

• Using a Linux-capable microprocessor (such as Rockchip, Broadcom, Allwinner, MIPS,


etc)
• Use custom GUI (usually Qt, or LVGL)
• Interface with 3 HD Cameras
• Gigabit Ethernet as the connectivity
• Able to stream video at 1080p 60fps
• Able to store the video in an external storage (HDD)
• Working 24x7 with 98% uptime

With such requirements, we are now in resource and compute-intensive territory. Thinking like
a firmware developer won’t cut it, because such a system will have lots and lots of subsystems,
the main goal is how to manage them all and integrate them nicely.
Firmware development often focuses on hard real-time requirements and low bandwidth
systems.
This is why we need to think like a Linux kernel developer.
To be an embedded Linux developer, follow this roadmap:

• Be an embedded software engineer/firmware developer


• Get really good with the Linux OS (know how to install packages, handle files, setup
network, etc)
• Get familiar with the Linux kernel subsystem
• Get familiar with the Device Tree concept
• Able to recompile (all by yourself) at least one open-source project
• Familiar with device driver development
• Able to recompile Linux kernel
• Embedded Linux Bootloader
• Embedded Linux File System with different file system types like SquasFS, JFFS2 etc
• BSP Porting
• Different Debugging Tools like GDB, Valgrind and other memory leakage tools
• Linux Kernel Configurations
• Device Tree Source (DTS) and Device Tree Block (DTB) Files with Device Tree
Architecture and Understanding
• DTS mapping with Linux Device Driver
• Static and Dynamic Linux Device Driver Loading
• Partition Table for Bootloader, Linux Kernel, File System and other required
configurations and custom partitions
• Init Root File System loading before loading actual file system

You can also try common embedded Linux tools/platforms like OpenWRT Build, Buildroot and
Yocto Build System. Just make sure your PC is powerful enough because you will spend hours
recompiling Linux kernel.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy