Embedded OS

Embedded OS

Embedded operating systems

Most modern microprocessor devices contain embedded software (or firmware) which is much more complex than software used in more mature devices.

An increasing complexity demands more flexibility in hardware management tools, bringing the process of developing embedded software closer to developing software for large computers. This problem is solved by real-time operating systems (RTOS) that allow the developer to obtain almost all the instrumental comforts of a big operating system, while remaining within the limits of using the limited resources of the processor and the controller-integrated memory.

Key characteristics of RTOS

Typical RTOS hardware requirements are: RAM more than one kilobyte and a RISC processor operating at a frequency of a few megahertz and higher. In contrast to full-functional operating systems, an RTOS is a source code or library that is statically linked together with the developed software and forms a monolithic image of the firmware. This approach greatly simplifies the user isolation mechanism and the system code (there is no isolation in some RTOS), as well as optimizes the size of the firmware by deleting an unused code at the compilation stage.

The second important RTOS feature is determinism due to the computational complexity O(1) of any system call, which means that there is no dependence of time spent on processing the system call on the internal state of the system. This feature results in part from the ability of a real-time operating system to work on systems with minimum RAM and a low speed CPU.

Thus any algorithm implemented on top of an RTOS will be performed on a time scale, which is a linear function of the real-time clock rate (of course, provided the CPU clock frequency remains unchanged). This feature helps implement RTOS-based systems that control real-time processes: control of electric motors; signal capture, processing and transmission; control of technical processes, and more.

More complex operating systems (such as Linux or Windows) do not have this feature, so even with an operating system in place, real-time tasks are often performed in the RTOS on a dedicated controller or processor core.

In addition to low-level system calls which provide multitasking and working with basic hardware resources (timer, RAM), most RTOSs also provide higher-level services that help implement a graphical user interface (GUI), work with a large number of peripherals, create file systems, implement a variety of network protocols (TCP / IP, PPPoE, FTP, etc.), and much more.

 

RTOS list

1. FreeRTOS

2. ThreadX

3. RTEMS

4. Linux

5. SYS/BIOS

6. PikeOS

1. FreeRTOS

It is a ported free (GPL) real-time operating system for embedded systems. It is one of the most popular embedded operating systems (its market share is 13 per cent, according to EE Times).

FreeRTOS supports 33 hardware architectures and 18 toolchains. Promwad engineers have also added to this operating system support for the Power e200z0h architecture which is used in microcontrollers of the SPC56 family by STMicroelectronics designed for use in the corresponding nodes of vehicles.

FreeRTOS provides developers with a basic set of services typical of any RTOS:

  • Dynamic priority-based preemptive scheduling
  • Media synchronization (semaphores, critical sections) and control transfer (queues and events)
  • Timer function

The community of FreeRTOS developers also offers a rich set of extensions provided both under free and commercial licenses: TCP/IP stack, graphic tracer, CLI, SSL/TLS functions, HTTP server. For applications that require a high-reliability certificate (IEC 61508, EN62304, FDA 510 (k)), WITTENSTEIN delivers SafeRTOS, which is a revised version of FreeRTOS that inherits its API.

2. ThreadX

It is one of the most popular commercial RTOSs, which is supplied by Express Logic under a Royalty Free license. The reliability and predictability of ThreadX is confirmed by 1.5 billion devices operated by this system, as well as by a number of security certificates.

ThreadX is supported by a large number of hardware architectures, including modern versions of ARM processors. Most system functions are written in assembler with a view to optimize them for a specific architecture, which delivers exceptional performance with low system requirements:

  • The firmware size starts at 2 KB, requiring up to 500 bytes RAM
  • The load time is 300 CPU cycles; the context switch time is less than 100 cycles

ThreadX is suitable for developing medical devices, military equipment, automotive electronics and industrial automation devices.

Express Logic provides a wide range of development tools that greatly simplify the debugging process. The system has a built-in tracer and a graphic analyzer operating on the host side. There is a plug-in for the Eclipse environment, which helps visibly observe the current status of the system: active task number, stack filling, function call return stack, the percentage of system resources used, etc.

3. RTEMS

It is one of the oldest RTOSs, now distributed under a free GPL license. The key area of RTEMS development is support for free development tools, application programming interface standards (POSIX, muITRON) and a trend for implementing services available only in commercial RTOSs.

So RTEMS contains the full-functional BSD TCP / IP stack, a graphic user interface based on libraries, such as picoTk, NanoX, OpenGUI, MicroWindows and FLTK. A large number of libraries have been ported to RTEMS, which are popular in other POSIX-compliant operating systems: zlib, tcl, ncurses and libavl.

Promwad engineers selected RTEMS for a project involving the development of an industrial computer based on the NXP QorIQ p1020 SoC, which is designed to control a power station. This project implements the following pattern of operation of the computer operating systems:

  • One p1020 core executes RTEMS, which runs real-time tasks
  • The other core executes Linux, which implements proprietary communication protocols and high-level business logic
  • Interaction between the two operating systems is carried out through the standard OpenMCAPI interface, for which an appropriate adapter was implemented on the RTEMS side

4. Linux

Strictly speaking, Linux does not fit the definition of an RTOS, being rather a general-purpose operating system. However, the rapidly increasing performance of hardware platforms used for embedded systems enables the use of Linux in applications previously operated by an RTOS.

Typical system requirements for Linux:

  • RISC CPU >100 MHz
  • >16 MB FLASH memory
  • >8 MB RAM

Using Linux, a firmware developer is able to use a huge number of open source libraries and tools operating on Linux desktop and server versions.

In addition, the Linux community has developed a lot of software designed specifically for embedded systems – NAND memory file systems, BSP with support for a variety of hardware platforms, distributions which help collect 1 MB images of the root file system.

At the moment, Linux is the most commonly used operating system at Promwad. It is applied in developing media players, set-top boxes, network routers and VoIP equipment. In applications that require real-time operating systems, Promwad engineers have worked out an asymmetric configuration of multi-core processors, which involves the use of one kernel for an RTOS and the other for Linux.

5. SYS/BIOS

SYS / BIOS is a proprietary operating system, which, however, is distributed in source codes without a license sale.

SYS / BIOS is a development by Texas Instruments, which was originally designed to run on DSP processors (it was called DSP / BIOS and later renamed to SYS / BIOS, to emphasize its more general applicability).

The latest versions of SYS / BIOS are able to work not only on the DSP processors, but also on a wide range of other processors and controllers by TI: ARM Cortex-M3, MSP430, ARM9, etc.

SYS / BIOS is part of the Linux SDK, which is available for the DaVinci video processors. Communication between Linux running on the ARM core and SYS / BIOS running on the DSP core is achieved through the standard programming interface DSP / BIOS Link.

6. PikeOS

PikeOS was developed by SYSGO AG specifically for mission-critical projects which require maximum firmware reliability and predictability.

To achieve maximum isolation of structurally independent software parts, PikeOS applies the concept of logical resources partitioning based on the use of a hypervisor. The PikeOS hypervisor is a small software layer that virtualizes accessible peripherals and hardware resources. Accessible hardware resources are statically assigned to each partition. Thus, a program running in one partition has no way of affecting the operation of a program in another partition.

PikeOS finds its application in avionics, mechanical engineering and automotive electronics.

 

Our projects in embedded software development

 

Embedded UI customization for a set-top box We've created a software framework that allows the customer to change the user interface with minimal efforts

Digital transceiver for kite surfers: design & prototyping We've helped a startup to design a digital handheld transceiver for kite surfers with a built-in MP3 player

Smart WiFi router design + ad filter & parental control We've designed working prototypes of a Smart CPE router for advertising filtering, blocking malicious content, and parental control

Broadband SDR satellite modem on Zynq Ultrascale+ We designed a hardware & software platform for a broadband software-defined radio satellite modem

Industrial switches with 10GbE and 48 ports We have designed a new product line of 1Gb/10Gbps Ethernet switches operating at an industrial temperature range (−20 to +70°C) 

Wireless stereo speaker software development
Firmware and application software for WiFi speaker We developed software for a professional audio system. The speaker supports AirPlay, Spotify, Bluetooth audio streaming
Wireless stereo speaker software development

FPGA software & Linux kernel drivers for 4K frame grabber We developed a versatile framebuffer FPGA IP core and integrated PCI-e IP core into the customer’s FPGA project

Unit for communication and navigation on the railway

Railway navigation unit We offered the customer a hardware solution based on three modules (units) that are connected with cables

AI application for set-top box: searching and buying products from video streaming

Shoppable video: AI-based app for STB & Smart TV We've developed and installed on STBs the first AI application for searching and buying clothes directly from the video stream

Air quality monitoring system for clean & smart cities

Air monitoring system We designed a hardware and software system with measuring devices to collect and send the data to an IoT cloud server

Jade platform for automotive infotainment systems We developed hardware & software platform for automotive display, monitoring, and diagnostics systems based on the Fujitsu Jade MB86R01

A software and hardware system for safe operations on the brain and spine, with a millimeter accuracy

Neuronavigator Promwad engineering team designed a working prototype with the support of 3D images of ultrasound / MRI / CT.

Network traffic analyzer with Bypass function
BYPASS Network Analyzer We created prototypes of a network traffic analyzer for setting in a network connection gap (BYPASS function)
a series of managed 16- and 24-port Gigabit switches based on Realtek 83xx chipset
L2 Switch with PoE support Promwad engineering team designed a custom managed L2 switches based on the Realtek 83xx chipset and Linux kernel
To design a time synchronization system that receives GPS/GLONASS signals and transmits the info on the exact time to the users

tAKT synchronization systemWe developed a time synchronization system that receives GPS/GLONASS signals and transmits the info on the exact time to the users

POS printer embedded software development
POS printer Promwad's engineering team implemented full-featured POS firmware based on embedded Linux with Buildroot system
We developed a device for measuring the concentration of glucose in human capillary blood
Irma glucometer We developed and put in production the Irma glucometer; a device for measuring the concentration of glucose in human capillary blood
TAO WellShell: software and circuit design upgrades with manufacturing support
TAO gadget for fitness Promwad's engineering team upgrade TAO’s software and PCB design to ensure a longer battery life
Development of the device for trusted session

S-Terra trusted module We have developed a custom bootable medium, which is a USB device and designed to build trusted computing modules

Develop an OTDR for optical data transmission networks

OTDR optical reflectometerBy request of the manufacturer of measuring instruments we developed a compact device characterize and locate faults in cable lines

Development of a mobile glucometer for iOS and Android smartphones
Glucometer for smartphones We have created a mobile gauge of glucose concentration in the blood that works paired with mobile phones under iOS or Android control
we upgraded the controller of an electric traction device that was developed for subway carriages made more than 10 years ago

Controller for traction driveWe upgraded the controller of an electric traction device for subway carriages made more than ten years ago

we finalized the firmware design for multi-channel transcoding of MPEG2-TS (transport streams) into H264 format

MPEG2/4 transcoder softwareWe finalized the firmware design for multi-channel transcoding of MPEG2-TS (transport streams) into H264 format

Network Device with Bluetooth Sensors
Parrot network device We have developed a compact device for collecting data from Bluetooth sensors and transmitting them to the server
we developed a specialized Embedded Linux distribution for routers and other network devices

OpenWRT for RealtekWe developed a specialized Embedded Linux distribution for routers and adaptable web interface to manage LuCi based

VoIP broadband router design
VoIP broadband router Our engineers designed a subscriber router for providing voice over IP services in broadband networks
we created a reference design of a set-top box DVB-T/C + IPTV, which is intended for rapid platform development and launch of a series of new digital devices
IPTV+T/C hybrid set-top box We created a reference design of a set-top box with rapid platform development and launch of a series of new digital devices
we have developed a digital TV set-top box (STB) with support for DVB-T (MPEG-2/4) and terrestrial digital broadcasting

Locus DVB-T STBWe have developed a digital TV set-top box (STB) with support for DVB-T (MPEG-2/4) and terrestrial digital broadcasting

Protected USB dongle with integrated browser for online banking
USB Dongle for secure session We have developed a software/hardware system for safe data transfer while working on an insecure computer terminal
Promwad have developed a prototype of a compact navigation device which brings the user back to the starting point or a pre-marked location in a coordinate system.
Navigator with compass We have developed a prototype of a compact navigation device which brings the user back to the pre-marked location in a coordinate system
we have developed a computer for networks with a client-server architecture that transfers basic processes to a remote server

AK1100 thin clientWe have developed a new turn-key product, the AK1100 thin client based on the processor Marvell Sheeva 88F6282

5D cinema hardware and software complex at the order of a company which supplies animatronics

5D video hardware+softwareWe have developed a 5D cinema hardware and software complex at the order of a company which supplies animatronics

IPTV STB design for SmartLabs
SmartLabs IPTV set-top box We have developed a range of IPTV set-top boxes, ensured license coverage for all the proprietary coding standards for audio and video
Smart home multimedia controller

Smart house controller (HDMI-CEC) for a Swiss company We have designed the HDMI-CEC controller to manage a home multimedia complex: cinema, tuner, VCR and other devices

we have ported Android and Linux kernel to the OMAP-3530 hardware platform by Texas Instruments

OMAP-3530 android portingWe have ported Android and Linux kernel to the OMAP-3530 hardware platform by Texas Instruments

Onboard multimedia computer

Onboard multimedia computerWe have developed a sophisticated hardware and software system for multimedia, GPS navigation, travel time calculation, control of air conditioning

The development of cinema Control Panel programm for 5D cinema
5D software for special effects By order of the animatronics supplying company we developed the CinemaControlPanel program for a 5D movie theater system
we developed a video registration device for digitalization, storage and distribution of audio and video streams on request from 4 analogue sources

JPEG2000 4-channel recorderWe developed a video registration device for storage and distribution of audio and video streams on request from 4 analogue sources

we developed a multifunction mini-server for solving a wide range of tasks in IP networks, functions as a computer or a server

IP-Plug ARM mini-serverWe have developed the multifunction mini-server for solving a wide range of tasks in IP networks, functions as a computer or a server

The development of portable black box for an automobile
OBD-II vehicle data logger We have developed a portable automobile recorder for control and diagnostics of technical state ("black box" for an automobile)
Android device for automotive GPS/GLONASS navigation and communication
Navigator for cars We have developed a car navigation device which supports GLONASS / GPS, mobile communication and data transmission

Are you looking for experts in embedded operating systems?

Please, drop us a line. We will contact you today or next business day. All submitted information will be kept confidential.