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):
- Automotive applications like Body Control Module (BCM), Powertrain ECU, Motor Controllers, HVAC and other Electronic Control Units (ECU)
- Industry 4.0 applications like IoT-based Solar Energy Harvesting platforms, Battery Management Systems, Industrial Drive Controllers and more.
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.
Embedded RTOS Programming and Porting Services
Hardware & Software Consulting Services
RTOS Kernel Porting to the Target Platform
Support for Application Development
RTOS Kernel Configuration
Validation & Debugging of the Complete Application
Architecture Diagram of Embedded RTOS
RTOS Programming & Kernel Porting – Customer Success Stories
The following customer success-stories are testimonials of our expertise in Embedded RTOS porting:
FreeRTOS Porting and FOTA Update for Telematics Control Unit of Heavy Vehicles
We partnered with a leading supplier of automotive telematics and diagnostics technologies in the US geography. We helped them reengineer their Telematics Control Unit (TCU) for heavy vehicles.
As part of this project, we performed extensive hardware development, firmware development and testing activities. Amazon FreeRTOS porting was executed in the firmware development phase.
Freescale MQX RTOS Porting for Automotive Digital Cockpit Solutions
We partnered with a leading automotive OEM for successful embedded RTOS programming and kernel porting.
The RTOS porting was successfully implemented for the automotive HVAC (Heating, ventilation, and air conditioning) application. Our team programmed and ported MQX RTOS on Kinetis MCU platform.
FreeRTOS Porting for IoT-Enabled Solar Energy Harvesting Platform
We collaborated with a Global Pioneer in the Renewable Energy sector for FreeRTOS porting on their solar energy harvesting platform.
The RTOS porting for the Master Controllers/Field gateway devices ensured real-time management and predictive maintenance of the Field-Deployed Solar panels, against the hostile operating environment.
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 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.Emmanuel P John, Solution Architect – IoT
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.Suhas Tanawade, Senior Delivery and Account Manager, IoT
Customer FAQs regarding RTOS Programming and Kernel Porting
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 .
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.
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.
|Proprietary Embedded RTOS||Open 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
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.
|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|
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.
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)
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.