Skip to main content

Embedded Linux-The Magic of Open Source

Operating system (OS) is the heart of any computer device controlling tasks like process scheduling, memory management, and driver implementation. There is a large difference between OS used in main frame or desktop computers, and embedded systems


Embedded Systems

An embedded system is a miniature computer used to perform a single task. This could be a medical device monitoring heartbeat, or a flight control system. Because of size constraints, the processing power as well as memory/storage capacity is less for the same. 


Enter the brain

Embedded Linux is a stripped-down version of the original Linux kernel, used in desktops. What makes it different is its capability to run in low power embedded systems, such as smart phones, tablets, medical equipment and avionics system. This OS is a classification of RTOS (Real time operating systems). It means they process data in real time mostly from sensors measuring humidity or temperature, and provide output within a fixed deadline

 

Components

The main components are listed as below

  • Kernel: The heart of the system, it forms as a bridge between the hardware and software. Other functions include memory management, process scheduling and driver implementation.
  • Bootloader: Is initiated when the device is powered on. Performs checks on hardware peripherals for errors, as well as loads the Linux kernel to memory.
  • Root file system: Contains files and directories used by the operating system. Also includes configuration files, that if tampered can cause runtime error. Malwares usually target this area to gain access to the system 
  • Device drivers: They are the firmware that communicates between the hardware peripherals and the OS. Drivers provide information about the device type, function and connection port. This helps for isolating the peripherals from high level programming.


Cross Compilation

A feature provided by Linux kernel, where code can be transported from one machine to the other. Since embedded system lack processing power, code compilation is done on a more powerful system. This can be a desktop PC or a laptop where the code is debugged and checked for error. Then the same is uploaded to the target device. USB (Universal Serial Bus) port is used as the hardware link/connection.


User Space Application

This is the area where the user interacts with the device. This can be a GUI (Graphical User Interface) on an external display. Hardware/Software calls are made to processor such as x86/x64 or an ARM chip from the Linux kernel.   


IOT Device

Smart devices have seen a large hype recently, whether it being a personal digital assistant or a smart door lock. Embedded Linux is well suited for these type of applications because of high security, open-source status and good developer support. It seems the Linux kernel is here to stay 

Comments

Popular posts from this blog

X86 vs ARM - The PC War

X86 Vs ARM A Hype?  Recently laptops powered by ARM processors have taken industry by storm. Touted as being highly power efficient, providing 18 hours backup, on as single charge. That too while running multiple program instances. Would this spell an end to the x86 architecture, where Intel and AMD rule. Or will the tables turn around? What's the Difference? Let's start with an x86 based CPU. They feature a single processing unit which can be integrated to other external peripherals like Memory, GPU etc. Here each peripheral has a separate controller, knitted together by address and data BUS. When we look at ARM all the above components (Memory, GPU) are integrated within the main chip. Known commonly as SOC (System on a Chip) . This helps in reduced footprint. But they do come with a drawback. Cannot expand by adding extra peripherals. Coming to complexity, x86 provides a simpler set up, at least for a developer. Here most of the core tasks such as Memory Read/Write, Arithmet...

The Brain within an Embedded System-Difference between Microprocessors and Microcontrollers

To understand the working of an Integrated Circuit, we need to first understand what an Embedded System is.  It is basically a conjunction of Hardware and Software parts. Embedded System is a stripped-down version of a mainstream computer, specializing in a single task. They are connected either as a standalone device, or as part of a larger electrical or mechanical system. Mainly in consumer electronics like fridges or microwaves, they have low power rating and, is economical to build. Embedded system performs complex mathematical calculations at any specific time. This is done thru a Central Processing Unit (CPU) , mostly a Microcontroller or at times, a Microprocessor. A Sensor is used to collect data from the external environment Eg: Temperature, atmospheric pressure etc. This is then fed into an Analog to Digital (ADC) converter. The digital signal thus obtained is stored in memory and, decoded by the CPU.  The output of the operation is then fed to a Digital to Analog...

Virtual Private Network (VPN) - Browsing Anonymous

  Privacy is a major concern when browsing the internet. Your data could be eavesdropped by hackers, companies targeting ads or even rogue state actors. What gets revealed would be personal browsing history, location monitoring, IP addresses to name a few. Enter the tech... Virtual Private Network or simply known as VPN is a technology used to prevent unauthorized access of your private data. Even if a hacker penetrates the network and get hold of data packets, all that is revealed is gibberish.  This is because all the information that passes through your device is encrypted and can be only revealed through a personal key.  Internet Service Provider Before going further, a knowledge of Internet Service Provider (ISP) is needed. They are the backbone of the World Wide Web. ISP provides each device with a unique IP (Internet Protocol) address, bandwidth allocation and network security. When a website is searched, first it goes from your device to the Router or Modem which...