Embitel

Embitel logo
Search
Close this search box.

RTOS Programming & Kernel Porting Services for Automotive and Industry 4.0

We have partnered with global OEMs from the Automotive and Industrial Automation space and successfully delivered Embedded RTOS programming and porting related projects. A snapshot of our experience in kernel porting and application development for Embedded Real Time Operating System (RTOS): Our teams have in-depth expertise in a wide range of hardware platforms and architectures like LPC series from NXP semiconductors, STM32F4 series from ST Microelectronics – to name a few.
Hardware & Software Consulting

Hardware & Software Consulting Services

  • Evaluation and selection of the Microcontroller (MCU) platform
  • Analysis of RTOS features required for your embedded system
  • Evaluation and selection of RTOS best suited for your embedded system

RTOS Kernel Porting

RTOS Kernel Porting to the Target Platform

  • Setting up the interrupt subsystem
  • Setting up the Timer subsystem
  • Configuring and adding the required lightweight library components supported by RTOS

RTOS Kernel Configuration

RTOS Kernel Configuration

  • Testing the compatibility of RTOS Kernel port with the selected MCU
  • Configuring the Kernel based on the target MCU framework/specifications

device driver development

Device Driver Development

  • Development of Device drivers for the peripherals supported by the MCU platform
  • Support for Flash Bootloader software development and BSP (Board Support Package) customization
  • Integration of the BSP layer as per the RTOS specifications

application development

Support for Application Development

  • Application design
  • Source Code Development
  • Source Code Compilation
  • Downloading of the executable files to the target/MCU board
  • Execution of the application program on the target platform
  • Tools: MCU IDE (this includes component editor, compiler, linker, and debugger).

validation

Validation & Debugging of the Complete Application

  • Support for debugging and validation along with performance optimization of the complete application
  • Support for functional testing, performance testing and sanity testing of each module

Architecture Diagram of Embedded RTOS

RTOS-Porting102

RTOS Programming & Kernel Porting – Customer Success Stories

The following customer success-stories are testimonials of our expertise in Embedded RTOS porting:

Business Value-Adds of RTOS:

  • RTOS is suitable time-critical applications. RTOS makes it possible to allocate processor resources to high priority tasks without delay. Hence an RTOS ensures that your application can respond to an urgent event immediately.
  • RTOS enables your system to efficiently manage and synchronize multiple processes, with the help of schedulers.
  • It often has a low memory footprint and is ideal for microcontroller platforms.

Meet Our IoT Leaders

Emmanuel

Emmanuel P John

Solution Architect, IoT

Emmanuel is our superstar IoT Solution Architect! With experience spanning 20 years in Embedded Systems Engineering, he is a vital part of our IoT BU.

His ability to translate the customer’s product vision into a cutting-edge solution is commendable. A great team player, Emmanuel has been at the helm of some of our most challenging projects till date.

suhas

Suhas Tanawade

Senior Delivery and Account Manager, IoT (Mr.Perfectionist)

Suhas is an industry veteran with more than 25 years of experience in the domain of Embedded Engineering and Software Development.

His exemplary leadership skills have ensured that several challenging RTOS programming projects were successfully delivered on time.

FAQs on Android/Linux Porting Services

Our legacy embedded system has been designed on non-RTOS platform. We plan to migrate to the RTOS Platform, will we have to re-design the Application Layer source code?

Ans. Migration of your legacy embedded system to the RTOS platform doesn’t require rewriting of the application layer source code.

 

An embedded RTOS platform allows you to add/port any number of functionalities, simply by calling the associated functions through APIs.

A function supported by your existing non-RTOS platform can be easily ported by :

  • mapping that function to a particular task and
  • initialising that task using an Embedded RTOS API.

This RTOS API is called “Create Task”. This requires just the task name ( to which the specific function is mapped) and the task priority number .

For example, a non-RTOS application includes a service function called “Control LED” to regulate the working of a LED. Now while performing the RTOS kernel porting, all you have to do is map the “Control LED” function to a task .

 

Post this, at the initialization stage, you just have to specify the task while creating the API “Create Task” along with priority number. The RTOS will take care of remaining aspects of execution including processor allocation, thread handling .

Are there any ready-to-integrate software stacks /components available for RTOS programming and kernel porting?

Ans. Most semiconductor vendors offer certain ready-to-integrate components that can be integrated with an Embedded RTOS. These components include:

  • Library of software stacks for System Security
  • System Networking and communication related software stacks (including lightweight TCP/IP stack)
  • IoT libraries (includes support for MQTT, CoAP)
  • Over-The-Air (OTA) Update & GUI Library

These ready-to-use stacks and libraries can aid the developers in reducing the time and effort in application development.

Open source or licensed RTOS- which one should I prefer for my embedded system development project?

Ans.  Open source or Proprietary – both types of Embedded RTOS can be a value-add for your embedded applications.

 

A wise choice between Open source or licensed RTOS, depends on what features and flexibility your project demands.

Following are some key industry-specific certifications and safety standards that are supported by commonly used embedded RTOS’:

.heading-table12 { font-weight: 500; font-size: 16px; background-color: white; border-bottom: 1px solid #d1d1d1 !important;
border-top: 1px solid #d1d1d1 !important; } .heading-table12 td { padding-left: 30px; } .content-table td { padding-left: 30px; } .content-table { font-weight: 400; font-size: 16px; border-bottom: 1px solid #d1d1d1 !important;}

 

PROPRIETARY EMBEDDED RTOSOPEN SOURCE EMBEDDED RTOS

Are pre-certified for most important industry standards, including the International Electrotechnical Commission (IEC), International Organization for Standardization (ISO).

Critical to be considered especially if your project involves development of safety-critical applications such as Advanced Driver Assistance Systems (ADAS).

Your development team may not get additional support for system security enhancements, product certifications and functional safety (ISO 26262) compliance.
If any issue or problem occurs during Embedded RTOS based application development, you can immediately call for professional support services from the vendor.Finding on-time and professional engineering support for fixing an anticipated failure or bug is a challenge.
There will be restrictions and costs associated with re-use of RTOS kernel components – it will be strictly as per the terms and conditions specified the RTOS vendor.Involves limited restrictions on reuse of the RTOS kernel components and code base.
Supports a wide rage of functionalities required by modern day Embedded application such as low-memory footprint, in-built security, support for network stacks etc.Most open -source embedded RTOS usually extend support for a wide range of the functionalities supported by proprietary RTOS as well

Following are some key industry-specific certifications and safety standards that are supported by commonly used embedded RTOS’:

Automotive – ISO 26262, IEC 61508

Industrial – IEC61508

Medical – FDA 510(k), IEC 62304, IEC 60601, ISO 14971

Transportation/Railway – EN50128, IEC 61508

What are the key considerations while selecting Embedded RTOS for Internet of Things (IoT) Specific use-case and application?
Ans. While selecting an RTOS for IoT-specific applications such as Industry 4.0 (enterprise Battery Management Systems, Solar Tracker, Industrial Drive Controllers) , and automotive-IoT specific applications like connected cars, driver assistance, telematics, one should look for following set of features:
  • Support for In-built security features like TLS, embedded hardware security, software encryption
  • Support for critical software stacks for network connectivity and communication
This will not only help in reducing the overall RTOS kernel porting and application development time, but also ensure safety against critical cyber-security threats.
How does an Embedded RTOS compare to other mainstream OS like Linux and Android?
Ans. .heading-table12 { font-weight: 500; font-size: 16px; background-color: white; border-bottom: 1px solid #d1d1d1 !important;
border-top: 1px solid #d1d1d1 !important; } .heading-table12 td { padding-left: 30px; } .content-table td { padding-left: 30px; } .content-table { font-weight: 400; font-size: 16px; border-bottom: 1px solid #d1d1d1 !important;}  
EMBEDDED RTOS LINUX /ANDROID OS
Suitable for low-power microcontrollers (MCU) with low-memory footprint

Can run on 8bit to 10Kb MCU
Suitable for power and memory-intensive, high performance Processors

Requires 4Mb of ROM and 16MB of RAM even for booting
Designed to achieve real-time performance Designed as a general-purpose operating system.
Follows a predictable / deterministic execution pattern and hence is ideal for applications with real-time requirements Not optimized to follow a deterministic pattern for handling interrupts
Not optimized to follow a deterministic pattern for handling interrupts

Ans. The time required for successful programming, porting and debugging of embedded RTOS depends on the number of tasks ( functions) the RTOS is assigned to handle.

What are skillsets required for a team involved in RTOS kernel porting project?

Ans. Typically, a team handling RTOS programming and Kernel porting is required to have a good understanding of three main concepts:

Context switching, Task Priority Handling, Interrupt Handling.

Other than the expertise mentioned above, the team should have skill-sets like:

 

  • Experience in Firmware and Device Driver Development
  • Testing and validation expertise
  • Know-how and hands-on experience on memory allocation techniques (heap and stack)
Is there any additional requirement for memory space required while considering Embedded RTOS programming and kernel porting into the target system?
Ans . An embedded RTOS, is inherently designed to leave a low-memory footprint . On average, an embedded RTOS uses upto 2Kb(Flash Memory) and 1Kb-4Kb (RAM). In effect, RTOS kernel porting might take up just about ~5% to10% of your MCU platform. Hence, there is no need for adding any extra memory to the MCU for RTOS kernel porting.
Scroll to Top