Dubbed mbed, the code is still in the beta stage but will need to control tiny and relatively simple processor cores.
ARM's code emerged from its mbed.org community of developers and driver code. It is not all open source as some gear uses ARM's device server product. Some binary blobs are needed to initialize the hardware and ensure trusted firmware is executed are also proprietary.
ARM wants to open source as much as it can based around Apache 2.0, but it is not entirely possible. The packages is made up as follows:
- The mbed OS beta provides "a core operating system, robust security foundations, and standards based communication capabilities, and drivers for sensors, I/O devices and connectivity." It has it is own security-enforcement kernel hardware abstraction layer and a scheduler. Data is transferred over encrypted TLS connections.
- The mbed Device Server is a lump of middleware which runs on the backend and communicates with and controls the IoT devices running mbed OS.
- The cloud based mbed Device Connector is a hosted version of the mbed Device Server software. It allows gizmos to talk to systems provided by mbed.com.
- There is also the mbed TLS which provides cryptographic algorithms and TLS/DTLS support to devices.
- Finally, there is the mbed Client beta: mbed OS is aimed at system-on-chips using Cortex-M cores.
Most of the code is written in C/C++ and ARM assembly language. The OS is expected to be launched by the start of ARM TechCon in November.