Increasing complexity in embedded devices requires a smarter approach during software development.

The level of complexity of embedded devices continues to increase unabated. At the same time, the pressure to reduce development times is high. This situation is alleviated by implementing strategies for increased code reuse and more efficient development/debug tools for embedded developers.

This Part 1 of a two-part discussion looks at the use of an adaptation layer approach to increase code reuse.

An adaptation layer is a software layer that provides a standard software interface between various layers of software and the hardware interfaces of an embedded device. This enables many software components to be reusable, e.g., the same application or wireless software stack to run across a wide range of platforms with different CPUs and real-time operating systems (RTOSes), thereby enabling software reuse and providing significant time savings when compared to traditional porting environments.

Clarinox Technologies is company that specializes in developing software solutions for wireless communications. Clarinox has implemented an adaptation layer, SoftFrame, to facilitate a standard interface for the Clarinox wireless protocol stacks (Bluetooth and/or Wi-Fi). This upper layer wireless protocol stack is a set of software layers that provide the functionality required for Bluetooth or Wi-Fi wireless communication. It is responsible for managing the transmission and reception of data between wireless-enabled devices based upon relevant standards (Bluetooth SIG, IEEE802.11 and Wi-Fi Alliance).

SoftFrame is designed to be flexible and customizable, allowing it to be adapted to a wide range of hardware devices and operating systems. It supports various Bluetooth Classic and LE profiles, including LE Audio as well as the Wi-Fi protocol.

One of the main benefits of SoftFrame is that it simplifies the integration of Bluetooth and/or Wi-Fi functionality into devices. It reduces the development time and cost by providing a standard interface that can be integrated into the operating system or middleware of a device. This means that device manufacturers can focus on developing their core functionality without having to worry about the complexities of the Bluetooth and Wi-Fi standards or any changes required for the next generation of the same product.

In addition, SoftFrame provides the ability to reuse the stack and application software resulting in time tested software running in millions of devices in the field providing confidence in the robustness and reliability of the software, which is critical to many embedded applications.

SoftFrame is also designed to be scalable, allowing it to be adapted to devices with different processing power and memory requirements from M0 up to high-end multicore devices; and from small RTOSes to complex operating systems. SoftFrame’s modularity enables it to cater for different configurations to tailor to the specific needs of a device supporting multiple TCP/IP and RTOS/OS.

Another advantage of an adaptation layer is to include a debugging and testing architecture customized for wireless embedded systems. Wireless devices have specific needs as they are harder to debug and test due to the dynamic nature of the communications and the complexity of the Bluetooth and Wi-Fi standards.

Overall, Clarinox believes that an adaptation layer is an essential software component for enabling the efficient addition of wireless functionality in devices. It simplifies the integration of Bluetooth and Wi-Fi technologies, provides interoperability between devices, and ensures high performance, and scalability. As the use of Bluetooth and Wi-Fi technologies continues to grow, SoftFrame will play an increasingly important role in enabling seamless communication between devices.