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 system for Connected Car, Telematics, Head-Up Display applications, offer several advantages.
- Apache v2.0 licensed. This means these are open-source software and hence, one ends up saving licensing costs.
- 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 customizations.
Before kick-starting your Android or Linux porting projects, these are some of the best practices your embedded software development partner should take care of:
- Selecting a Robust Hardware Platform
While selecting a SoC or SoM/SBC, one should consider:
- Business Requirements of the application
- Power consumption specifications
- BoM cost, Life-time of Chipset and support
- Memory and Speed capabilities of the processor
- Bootloader, Device Drivers & Kernel
- Design a two-stage bootloader – primary and secondary bootloader
- Bootloader design should have low memory footprint
- Develop robust, bug-free and maintainable drivers as per Linux/Android coding standards
- Plan and implement efficient faults-handling, reporting and recovery from errors
- Device drivers should not contain any dead code or unused variable
- Optimise usage of memory space after code compilation
Android/Linux OS Porting Services We Offer: 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 BSP customization for successful Android Porting to custom hardware platform and upgradation to latest Android OS versions
- Support for Android CTS (Compatibility Test Suite) and Application development as per CTS compliance
- Customization of wireless Bluetooth Stacks like Bluez / Bluedroid
- Linux porting expertise:
- Support for Linux BSP porting to custom hardware platform and upgradation to latest Linux OS versions
- Expertise in the YOCTO Project – a Build Framework for Embedded Linux Systems
- 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
Customer Success Stories
Linux OS Porting for Fleet Management Solution Provider
Business Challenge:
Our customer, a global leader in fleet management solutions with headquarters in Belgium,
had one of their successful commercial telematics products designed on Windows CE OS.
But Windows being a proprietary OS meant that our customer had to pay high costs every
time the Windows OS had to be installed or updated.
So, they wanted to switch to a more robust and flexible platform. They chose to move to an
open-source platform such as Linux, which is available with zero licensing cost.
Embitel's Solution:
- Establish and Customize YOCTO Build System for different versions of hardware platform.
- Customizing u-boot, kernel and rootfs.
- Integration of Open Source Drivers, 3rd party drivers and Vendor Provided device drivers.
- Implementing power management.
- Develop Hardware Abstraction Layer (HAL) for modules GPS, GSM etc.
- Develop Validation Test Framework.
- Design and develop Firmware Over-The-Air (FOTA) Update module.
Android Porting on Toradex SoM for a Smart Electric Scooter
Business Challenge:
Our customer, a prominent electric vehicle startup, has embarked on the journey of 'Make
in India'. This company of young entrepreneurs is designing Smart Electric Scooters, from
the ground up, in India.
Their flagship electric scooter's in-built infotainment platform was developed on a Toradex
SOM and was running on Linux 3.14.28, initially.
But owing to the growing popularity of Android as a dominant OS that caters to a wide array
of Android Apps, the customer wanted to perform porting of Android 6.0 (Marshmallow)
onto their Toradex SOM with carrier card.
Here the challenge was that the Toradex module does not inherently offer support for
Android OS porting.
Embitel's Solution:
- Setting up the Build Environment Porting of Android 6.0 (Marshmallow) onto Toradex SOM which was running Linux 3.14
- Integration of Android with the required hardware and software modules
- User acceptance testing
Android Porting and Infotainment System Development for E- Scooter
Business Challenge:
- Our customer, a Europe-based EV start-up desired to develop an Android Infotainment system for their electric scooters.
- The SOM chosen by the customer only supported Linux OS.
- FOTA update feature needed to be integrated with the system.
- Time to market was limited.
Embitel's Solution:
- Android OS porting to the hardware
- Configuration of Bluetooth Low Energy (BLE) protocol
- Development of Infotainment System with features such as Audio apps, phone apps, navigation engine, camera integration, connectivity modules (GSM, GPS, Wi-Fi, etc.), FOTA update module, custom UI and much more!
Android 9 Porting for IVI System of Electric SUVs
Business Challenge:
Our client is a US-based EV company developing a production line of SUVs.
The requirement was to develop a cutting-edge Android 9 based Infotainment System for
their flagship vehicle.
Embitel's Solution:
- We designed and developed the IVI system with features such as media player, phone connectivity, priority manager, customized UI, dash camera, Bluetooth audio, reverse view camera, OTA update feature, radio and car audio, power management, boot time optimization and telematics functionality.
- The phonebook and dash camera development was based on GDPR guidelines.
Creating Linux Distribution Image with Yocto Project:
What is Yocto Project?
- 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 architecture (PowerPC, ARM, MIPS, x86, x86-64, etc.)
- Provides built-in toolchains, software stacks, board support for multiple architectures, configurations, emulation environment, etc.
Learn about the workflow for creating a custom build embedded Linux image using the Yocto Project in this PDF.
Android Porting Videos
Meet Our IoT Leaders
Emmanuel P John
Solution Architect, IoT
With 19+years of experience in Embedded Systems Engineering, Emmanuel is our veteran Solution Architect. He plays a key role in translating the customer’s Product Vision into a cutting-edge solution.
Known for his humility and team spirit, Emmanuel has mastered the art of establishing and maintaining solid communication channels (across stakeholders) in order to achieve team goals.
Suhas Tanawade
Senior Delivery and Account Manager, IoT (Mr.Perfectionist)
Suhas has over 25 years of experience in Embedded Engineering & Software Development. He is well-known, among his peers and customers, for his ability to ensure timely delivery of IoT projects. He has been instrumental in the successful completion of some very challenging and large scale IoT projects at Embitel.
FAQs on Android/Linux Porting Services
Ans. 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.
Ans.
- 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.
Ans.
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
Ans. 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 consists of a number of test cases, that can be used to evaluate the software and hardware components of an Android device. Android CTS helps in detecting all Android incompatibilities during the development phase itself.
- What is Android Automotive?