Marc Capot, Embedded Software Engineer
“For the development of its new innovative product line, the Socomec firmware/software team selected the Micrium product suite: the real-time kernel, the TCP/IP stack and file system.
“Our team found this software to be rugged, portable and efficient, while being adaptable to our hardware constraints to optimize the required functions and hardware used.
“Micrium’s support is professional, respectful and responsive. We were able to develop under the best working conditions, and produced a great Ethernet communication gateway including a web server and other IP protocols.”
Embedded Software for the Internet of Things
The Internet of Things is the new frontier for embedded systems engineering.
The DIRIS G Communication Gateway is a flexible, plug-and-play IoT device for connecting energy measurement and monitoring systems via wired or wireless networks.
It is a perfect example of the industrial IoT.
IoT Devices for Industrial and Consumer Markets
We can separate the Internet of Things in two broad categories:
- Industrial IoT, where the local network is based on any one of several industry-specific technologies. The IoT device will typically be connected to an IP network.
- Consumer IoT, where local communication is typically either Bluetooth or Ethernet (wired or wireless). Consumer IoT devices typically communicate only with other local devices.
Industrial and Consumer IoT Device Architectures
In the illustration above, on the left we see a software stack for an industrial IoT device, such as a wireless sensor node. This is a low-power, low-cost device that may run entirely on battery. Such a device might typically use a Cortex M0 or Cortex M3/M4 MCU. It would make use of a highly efficient network protocol such as 6LoWPAN to reduce transmission time and save power.
On the right, we see a software stack for a consumer IoT device. The software requirements for this device are typically much greater. It might need a Java VM, and may well make use of a vertical market protocol such as AllSeen, HomePlug/HomeGrid, Continua Alliance, or 2net. Such a device typically might use a Cortex-M3/M4 or a Cortex-A processor.
These functional requirements will drive your choice of operating system for the device.
Why an RTOS for the IoT Device?
The demands of an increasingly data-driven world mean that your IoT device will require robust and reliable software. For that, you’ll need a real-time operating system (RTOS).
The software for your IoT device must be:
- Scalable, to accommodate a wide range of different classes of devices
- Modular, so you can choose only the components you need to meet tight RAM requirements
- Connected, so you can move data in and out of the device via Wi-Fi, Ethernet, USB, or Bluetooth.
- Reliable, so your device can be certified for safety-critical applications
A flexible, scalable RTOS can help you increase your return on investment, cut development costs, and reduce your time to market.
IoT devices will contain a mixture of 16-bit and 32-bits MCUs. A scalable RTOS that runs on a variety small and large MCUs will allow you to meet tight memory requirements and reduce processor demands, saving you money.
Your IoT device will require a modular operating system that separates the core kernel from middleware, protocols, and applications. The reasons are ease of development, and keeping the memory footprint of the software to a minimum.
Using a modular RTOS like Micrium’s µC/OS simplifies your development process, especially if you are developing a family of devices with different capabilities. Relying on a common core allows the entire family of devices to share a common code base, while each device is customized with only the middleware and protocol stacks required by the application.
This approach allows for a smaller memory footprint in your device.
Network connectivity is essential to the Internet of Things. Whether we are talking about wireless sensor nodes in a factory, or networked medical devices in a hospital, the industry now expects embedded devices to be connected to each other, and to communicate with corporate or public networks.
Your RTOS of choice needs to support communications standards and protocols such as IEE 802.15.4, Wi-Fi, and Bluetooth. Your device must be able to connect to IP networks using bandwidth-efficient protocols such as 6LoWPAN.
Micrium’s µC/OS will allow you to select the specific protocol stacks you need, saving memory on the device, and reducing your costs.
Many IoT systems will be deployed in safety-critical environments, or in locations where repair and replacement are difficult. IoT devices will need to be faultlessly reliable.
Software certification is vital in order to demonstrate the reliability and safety of software systems. Certification requires that products be checked by an independent authority.
Micrium serves this market with its µC/OS-II and µC/OS-III real-time operating system (RTOS) kernels that meet the following certification requirements:
||DO-178B Level E up to Level A
||IEC 61508 Safety Integrity Level 1 up to Level 3
||ISO 62304 Class A up to Class C [FDA 510(k)]
If you are building your product for use in a safety-critical environment, using software that is already certified can reduce certification time for your device, and reduce costs. Every part of your device will require certification and extensive documentation.
Validation suites and certification kits, typically available from third parties, provide thousands of pages of documentation that you would have to otherwise create for your product.
Complete cert-kits are now available for industrial controls, applications and transportation based on Micrium's industry-leading µC/OS-II kernel. And validation suites are available for both the µC/OS-II and µC/OS-III kernels.
Even if you don’t require certification for your device, knowing that the OS running within it has been certified can provide confidence and peace of mind that your product will perform reliably.
Reliable. Efficient. Trusted.
Micrium's µC/OS is ideal for IoT devices whether they require safety certification or not. It is a full-featured RTOS with full networking and file system.
µC/OS features support for TCP/IP, USB, CAN bus, and Modbus, and includes a robust file system, and graphical user interface.
Learn more about µC/OS RTOS