The increasing complexity of embedded systems makes delivering embedded products to the market on time and on budget a complex task. By choosing a system-on-module (SOM), you've taken the first step in reducing complexity and development time.
In part 1 of this series on development with Digi Embedded solutions, we will explore the ways Digi embedded software can significantly decrease development effort for your product.
Digi's software goes beyond board support packages (BSPs) and basic hardware support. Digi's own embedded developers have created supporting tools, libraries, and content with the embedded developer experience in mind. This ecosystem of software extensions is designed to help accelerate development in multiple ways. The resources to support you include:
Read on to learn more about how these development accelerators can help you get products to market faster.
Developing applications is already complex enough without the extra work required to access embedded interfaces. Application developers don't need to spend time figuring out how to access an ADC or toggle a GPIO; Digi APIx is a C library that enables you to easily access and manage Digi ConnectCore® platform interfaces from your application. Resources in Linux (such as GPIO) may take different names or indexes depending upon the available hardware. Aliases help you map a human-readable name with the hardware identifier of your system. Because the alias is defined in a configuration file, your application code is still valid even if the hardware changes.
You can import examples into Eclipse from Github via the samples wizard of the Digi Embedded Yocto plugin.
See the Digi APIx for embedded section of the embedded documentation portals for more information.
Digi Embedded Yocto provides pre-built Software Development Kits (SDKs) and allows you to generate custom SDKs to match your custom root filesystem images. Application developers can use the SDKs to develop and debug applications because they contain libraries and headers matching those running on the target so you can cross-compile your C/C++ applications.
The Digi Application Development Environment provides a pre-configured Eclipse instance with all the required plug-ins and features to start creating Digi Embedded Yocto applications.
With Digi Application Development Environment, you can:
Develop using Qt Creator and a fully tested Qt 5-enabled Software Development Kit. The framework supports 2D software renderers for CPUs without an available GPU, enabling you to to use Qt Quick and QML.
See the Digi Application Development Environment and Develop with Qt Creator sections of the embedded documentation portals for more information.
Today's multiprocessors and microcontrollers allow several functions to be multiplexed on a single pin. The complexity involved in configuring the pinout of a microprocessor, and by extension the SoM using it, has increased dramatically as these devices allow more functionality and flexibility. Some models allow eight or more functions, and this same functionality can often be enabled on more than one pin. Additionally, you can tailor the electrical characteristics of each pin to the specifics of the underlying hardware. The Digi ConnectCore Smart IOmux helps streamline the time-consuming, complex task of pin configuration and resolution.
Enter the list of interfaces required by your project and use the Smart IOmux graphical interface to mock up configuration options. Digi Smart IOmux returns full pin assignment and device tree snippets. Use the tool to recalculate as many times as necessary to reach your desired functionality.
See the Digi ConnectCore Smart IOmux User Guide for more information.
Easily connect your devices to the cloud with out-of-the-box Digi Embedded Yocto support.
Remotely monitor and analyze multiple devices, manage their configuration, or update the entire Digi Embedded Yocto system via the integrated Digi Remote Manager® support. You can keep all your hardware up and running by programming alarms based on device conditions or scheduling operations on multiple remote devices.
See the Remote management and monitoring section of the embedded documentation portals for more information.
Digi Embedded Yocto enables you to remotely manage your devices via integrated Amazon Web Services (AWS) IoT support.
See the AWS IoT section of the embedded documentation portals for more information.
For ConnectCore SoMs and SBCs that mount a Kinetis micro-controller, Digi Embedded Yocto provides custom firmware and Linux associated drivers for the following interfaces:
Digi's mca_fw_updater application simplifies the process of updating the MCA firmware and even has the ability to detect invalid firmware images that could cause irreversible damage to the MCA flash.
For more information, see MCA and IO expander.
Device security is key for IoT or always-connected devices. However, implementing these features can be very complex and time-consuming. Digi simplifies the process of securing connected devices by providing a tested and fully integrated Linux security framework. Digi TrustFence offers the following functionality:
See the Digi TrustFence page on Digi.com for more information and to download technical briefs.
In Part 2 of the series, we will discuss other ways Digi makes life a little easier for embedded developers, including Wi-Fi and Bluetooth that just work, connection reliability with network failover, hardware design guidelines, and power management optimizations.
Part 3 will do a deeper dive into the Digi embedded documentation portals.