SMX RTOS is IoT Ready

SMX has what you need to connect to the IoT.

Security has become the main challenge to IoT development. In response, Micro Digital has developed MPU‑Plus®, which offers MPU protection on ARM Cortex-M processors.

Modern connected systems require protection of their mission-critical software, secret keys, and sensitive data. Effective protection can only be achieved via hardware means. The ARM Cortex-M v7 MPU is difficult to use and has significant limitations. However, it is the main means of hardware memory protection available for Cortex-M processors, which are in widespread use in small- to medium-size embedded systems. Hence, the security of many existing and new embedded systems can be greatly increased with MPU-Plus.

The primary goal of MPU-Plus is to make using the MPU as easy as possible, while offering as much protection as possible. A key idea of our approach is to allow progressively increasing the security of a system. Our blog “Security and the Cortex-M MPU, Part 5: Step-by-Step MPU Security” briefly summarizes the steps to incrementally transform an existing non-secure application to one with greatly enhanced protection. All MPU‑Plus articles are at www.smxrtos.com/mpu.

MPU-Plus Features

  • Supports incrementally improving security.
  • Adds strong security to existing and new products.
  • Per-task or per-task-group isolation.
  • Supports privileged ptasks and unprivileged utasks.
  • Restricted Software Interrupt RTOS API for utasks.
  • Unrestricted Direct RTOS API for ptasks.
  • Background mode switched off for improved ptask protection.

Other security features of SMX:  We offer SSL/TLS, SSH, and SNMPv3 for our TCP/IP stacks, WPA2 and EAP for Wi-Fi, and a Secure Bootloader for field updates. Personal and Enterprise security are supported for Wi-Fi. The bootloader supports image decryption during installation and bootloading to defend against hacking and reverse engineering, and to control optional software feature distribution.

Connectivity is intrinsic to IoT, and wireless is highly desirable.

smxNS6 is a dual IPv4/IPv6 stack that has passed IPv6 Ready testing. It supports IPv6 features such as Neighbor Discovery and Stateless Address Autoconfiguration. A dual stack allows a lower-cost IPv4 entry, with the ability to migrate to IPv6, when needed. Both stacks support Multicast DNS (mDNS), which allows a host on the network to discover services provided by other hosts. It supports zero-configuration (zeroconf) IP networking with Apple Bonjour and the Linux/BSD Avahi package. A rich set of other protocols also useful in IoT projects is offered such as:  HTTPS, SMTPS, SNMPv3, and SNTP. Drivers are available for popular SoC Ethernet controllers.

Wi-Fi is popular and offers high throughput and long range (250m), making connection convenient even when devices are not in immediate proximity to one another. smxWiFi supports 802.11 a/b/g/i/n and has drivers for many of the MediaTek/Ralink USB chipsets. USB dongles permit starting Wi-Fi development immediately on any evaluation board that has a USB host. Our approach uses TCP/IP directly vs. the proprietary protocols offered for serial interface chipset solutions. This provides more flexibility and better performance. Additional protocols supported:

  • Wi-Fi Peer-to-Peer (P2P) (Wi Fi DirectTM)
  • Wi-Fi Simple Configuration (WSC) (Wi Fi Protected SetupTM (WPS))
  • SoftAP

Communication protocols work better with strong multitasking support. smx is a hard real-time, high-performance RTOS kernel with a long list of features that are good for IoT designs: no-copy message passing, one-shot tasks, link service routines, and ultra-fast heap, are just a few of its many advanced features. Dual-language support permits writing high-level code in C++ and time-critical code in C. See the smx Special Features whitepaper for discussion of these features and others.

     back to top