Arm works closely with Operating System (OS) providers to enable solutions across several IoT applications and hardware.

The resources on this page help you choose your OS, and efficiently build your application on an Arm-based device. This page includes some of the operating systems that are most utilized in this area. Learn more about operating system providers that will help you efficiently build an IoT application on Arm.

Rich operating systems

Here are some vendors that provide open source operating systems for higher-performing IoT applications that are typically based on Cortex-A processors.

Linux Kernel

The Linux Kernel is an open source system kernel most notably used in the GNU OS. It manages hardware, runs programs and maintains security in a system. Arm together with Linaro actively maintains and contributes to the Linux Kernel project.

Learn more

Ubuntu

A popular and secure Linux operating system for modern applications, from the cloud to endpoint devices.

Learn more

Debian

Free operating system for testing and validating running Linux on Arm based platforms.

Learn more

Real-time operating systems

Here are some vendors that provide Real-Time Operating Systems (RTOS) for small, low-power IoT applications that are typically based on Cortex-M processors.

FreeRTOS

Open source real-time OS that makes small, low-power devices easier to program, deploy, secure, connect, and manage.

Learn more

Mbed OS

OS featuring security, connectivity, an RTOS, and drivers to develop connected products based on Cortex-M microcontrollers.

Learn more

Zephyr

Based on the Linux Foundation project, Zephyr is an RTOS for constrained IoT devices and includes security and safety features.

Learn more

Keil RTX5

Available with Keil MDK, Keil RTX5 features a periodical activation of timer functions, memory management, and message exchange between threads for Cortex-M based devices.

Learn more

More RTOS partners

Find out about more RTOS partners

Learn more

Get Support


Community Blogs

Community Forums

Not answered problem with sim800
  • STM32
  • gsm
0 votes 144 views 0 replies Started 2 days ago by salar1991veg Answer this
Suggested answer About Nuvoton NUC029LAN UART 0 votes 635 views 2 replies Latest 2 days ago by Oliver Beirne Answer this
Suggested answer How feasible and what is the API for packet filtering at harware level (using Trust zone)? 0 votes 559 views 1 replies Latest 2 days ago by Oliver Beirne Answer this
Suggested answer Issue with using realloc() 0 votes 713 views 2 replies Latest 2 days ago by Oliver Beirne Answer this
Not answered problem with sim800 Started 2 days ago by salar1991veg 0 replies 144 views
Suggested answer About Nuvoton NUC029LAN UART Latest 2 days ago by Oliver Beirne 2 replies 635 views
Suggested answer How feasible and what is the API for packet filtering at harware level (using Trust zone)? Latest 2 days ago by Oliver Beirne 1 replies 559 views
Suggested answer Issue with using realloc() Latest 2 days ago by Oliver Beirne 2 replies 713 views