×

Happy to Help!

This website doesn't store cookies. Enjoy the experience, without worrying about your data!

Android And Linux Porting Services For Embedded Systems

 

Advantages: Porting Android/Embedded Linux for Fleet Management, Telematics, Infotainment Applications

Porting of open-source Linux and Android,(instead of porting a proprietary operating systems) for Connected Car, Telematics, Head-up Display applications, offer several advantages.

Following are some of the advantages:

  • Android and Linux OS is GPLv2.0 licensed. This means these are open-source software and hence one ends-up saving licensing cost
  • Support and maintenance services for proprietary OS, device drivers and kernels may not be available free of cost.
  • Porting Android or Linux operating systems provides flexibility to the project. Your developers can integrate customized and open-source software packages and components.
  • Linux or Android porting, more often than not, results in reduced time-to-market. This is due to the availability of open-source software packages that may need minimum customisations

 

Before kick-starting your Android or Linux porting projects following are some of the best practices your embedded software development partner should take care of:


Android/Linux OS Porting Services: Kernel Programming, Device Driver & BSP Development

  • End-to-end support for:
    • Bootloader development
    • Android/Linux Device driver development
    • Android/Linux Kernel development
    • Root-file system integrations for successful Android or Linux porting.
  • Expertise in customization and optimization of device drivers for bootloader and kernel
  • Testing services: Expertise in open-source and proprietary tools for functional testing and sanity testing of each module. Expertise in writing customized test frameworks.
  • System Profiling: Performance testing and optimization, memory optimization using static analysis of memory usage (trace-cmd, memInfo, TOP, nice, perf , valgrind, omapconf (TI Specific) and other benchmarking tools). Boot-time optimization for Android and Linux Operating Systems,
  • Firmware and Software Update: development and support for Firmware Over the Air (FOTA) and/or Over the Air (OTA) updates for micro-controllers and Android/Linux OS respectively.
  • Android porting expertise:

    • Support for Android BSP porting to custom hardware platform and up-gradation to latest Android OS versions
    • Support for Android CTS (Compatibility Test Suit) and Application development as per the CTS compliance.
    • Customization of wireless Bluetooth Stacks like Bluez / Bluedroid
  • Linux porting expertise:
    • Support for Linux BSP porting to custom hardware platform and up-gradation to latest Linux OS versions
    • Expertise in YOCTO buildroot framework.
    • Customization, development and integration with new software stacks like OBD-II
    • Expertise in Jenkins, CI and CB.
    • Integration of Flash memories Like NAND and NOR

Creating Linux Distribution Image with Yocto Project:

Yocto Image

 

What is YOCTO?

The Yocto Project (YP)

  • An open source collaboration project, under the aegis of the Linux Foundation.
  • Enables creation of custom Linux distributions for embedded & IoT applications, which are architecture-agnostic
  • The Yocto Project works on any embedded architectures(PowerPC, ARM, MIPS, x86, x86-64 etc).
  • Provides built-in toolchains, software stacks, board support for multiple architectures, configurations, emulation environment etc.

What are the steps involved in custom development of an embedded Linux Image, using the Yocto Project?

Learn about the workflow for creating a custom build embedded Linux image using the Yocto Project in this PDF.


 

Meet Our IoT Leaders

 

IoT in Action: Customer Success Stories

 

FAQs on Android/Linux Porting Services

Q. Why do you recommended to design a two-stage Bootloader solution for Android/Linux porting projects?

    A. One-stage Bootloader, inherently by design becomes a very large single software package. It requires more memory space (this increases cost) and becomes difficult to manage and maintain. Thus, a multi-stage bootloader appears as a practical choice for dynamic embedded applications that involve managing multiple functionalities and operations.

    Having two-stage Bootloader software offers you the following benefits:

    • Managing System Start-up Applications: Some necessary start-up programs (that can’t be delayed until the entire OS is loaded) like display of OEM brand logo or branding animation, switching on the camera vision and more can be best managed using two-stage Bootloader software.
    • Re-programming or Flashing of target devices: A two-stage Bootloader design facilitates more efficient flashing of field-deployed IoT devices. Your in-house or technology partner’s support team just needs to make necessary configurations in the 1-stage. Based on the instructions, Bootloader will then execute the new firmware image.
    • Cost Optimization: Generally the 2nd stage of the Bootloader is designed using low cost memories like EPROM, EMMC, NOR flash memory, or SD cards. These memory types can also be reprogrammed more easily. This offers the flexibility to add more functions or features to your applications in the future, at lower costs.
    • Error Recovery: In case of an error or exception, a multi-stage bootloader supports easy recovery of the system, as compared to a single stage bootloader. In multi-stage bootloader, the primary bootloader is booted into internal ROM & RAM. Meanwhile, a two-stage Bootloader can be loaded from any of the external memory medium. Thus, any failure occurring while booting a 2-stage loader from one external memory can be recovered by booting from another external memory medium.

 

Q. Can you share details regarding the various hardware platforms, for which you support OS porting and BSP customization?

  • A. Electric Vehicles: Partnered for custom-development of BSP based on i.MX processors and Android/Linux Porting. This was part of our projects to develop industry grade infotainment, HUD solutions & industrial gateways.
  • Experience in OS Porting and BSP development for Texas Instruments processors like Omap, Jacinto etc.

 

Q. Please share details regarding your experience with various production-grade hardware platforms for successful Porting of Android or Linux OS.

  • A. Infotainment systems: We partnered with India’ s leading electric scooter startup for the Porting of Android OS 6.0 (Marshmallow) on Toradex SoM for their Infotainment application


    Embitel solution involved:

    • Setting up the Build Environment.
    • Porting the Bootloader, kernel, Android file system, flashing mechanism to the Toradex platform.
    • Integration of Android OS with the Toradex based modules: GSM(Ublox SARA-U270-00S) , GPS(Ublox EVA-M8M) , LSM9DS1 IMU module, LVDS, TI CC2564 based Bluetooth.
  • Telematics system: We partnered with a Europe based provider of Telematics & Fleet Management Solution for Linux OS Porting.


    Embitel solution involved:

    • Customization of YOCTO Build System and u-boot, kernel and rootfile systems
    • Integration Of various device drivers (Vendor Provided, 3rd party drivers, Open Source )
    • Customization of Linux drivers
    • Development of HAL for GPS, GSM modules
    • Design and develop Firmware Over-The-Air( FOTA), Validation Test Framework

 

Q. What technology frameworks and tools (for Android/Linux Porting), does your team has hands-on experience with?

    A. The following the required details for both Android and Linux OS porting:

    Tool Framework Linux Android
    IDE Eclipse Eclipse
    Programming language C++ Java
    Build Root Framework Yocto
    Testing & Validation Custom Test Framework for Linux Google CTS (Compatibility Test Suite ) Verifier

 

Knowledge Bytes
  What is Android CTS?
    Android CTS (Compatibility Test Suite) is a open-source, commercial, and automated test suite, provided by Google. This test suite for Android applications is an automated “mechanism” to test compatibility (testing the compatibility of a particular Android application during the development process).

    Android CTS consists of number of test cases, that can be used to evaluate the software and hardware components of your Android device. Android CTS helps in detecting any Android incompatibilities at the development phase itself.

 

Related Blog: Learn more about Android and Linux Porting Services

  • 5 Best Practices for Porting of Android OS to the Embedded Platforms

  • Why Yocto is a Framework of Choice for Creation of Embedded Linux Distributions

  • What is Android Things and How It May Help to Disrupt Internet of Things (IoT)?

  • [Vlog] How to DRIFT your Android OS Porting Projects!