Build Platform

The Legato Application Framework works with a supporting platform to connect your applications to the cloud. User Applications, Platform Services, Platform Adapters and the Application Framework are built into a Runtime Environment that provides a cohesive system to run and monitor your applications and send and receive data from external sources.

LegatoOverviewTarget.png

Module Vendors provide the Firmware, OS, Toolchain, Platform Adapters, Platform Services and a base Legato Runtime Environment to ease the burden of getting started with your target. Developers install the Legato Application Framework (source code, build tools and APIs) and the target device's build specific toolchain on a development machine to start developing and building user apps.

Your target device comes preloaded with a default Legato Runtime Environment, OS and Firmware preloaded. Check with your target device vendor for updates.

Firmware

Each target device needs Firmware specific to its module and is provided by the Vendor. Firmware may contain telecom firmware, carrier specific configuration and other software that can't be customized or configured by a user.

OS and Toolchains

Operating System

The Legato AF is designed to run on top of an embedded Linux Distribution. Each vendor maintains it's own customized Linux Distribution that contains a customized kernel and drivers to work within the constraints of the target device.

Sierra Wireless modules use an embedded Linux distribution created using the Yocto Project.

Raspberry Pi use Raspbian, its own Linux Distribution.

Toolchains

Toolchains include all the tools and libraries needed to build the runtime environment for a target device. The toolchain is specific to the Linux Distribution and the Module so each module that you are building for must have its own toolchain installed. Toolchains can be downloaded from your vendor.

Module Download Site
WPX5XX WPX5XX Download Page
WP76XX WP76XX Firmware Download Page
Raspberry Pi Clone from github: git clone https://github.com/raspberrypi/tools
All AR Modules See your FAE to download and install the toolchain for your module

Platform Services and Platform Adapters

Platform Services are a set of applications that are included with the Legato Application Framework. They configure features on the target device and expose APIs that developers can use to bind to their applications and use those features. The Platform Services are generally created by the vendors but can be customized or added on to by any developer. Platform Services provide APIs to include services like location sensing, audio connections, cellular and data network connections into your applications. To use the API within your application your application must be built into a system that includes the Platform Service and your application. Many of the Platform Services are included in the default build for each target device.

Platform Adapters are code that is specifically created for a target device that provides specific communication functions. It calls the function needed to perform the operation on the target including opening sockets and formatting packets. Where the Platform Service is designed to be generic, the Platform Adapters contain the target specific code. At build time the Legato AF system knows how to build the appropriate Platform Adapter for the target. This enables developers to build apps for multiple different types of targets and lets the build system include the Platform Adapters needed to build the application for each model of target.

LegatoServicesFlow.png

For example, if a developer wants to use GNSS (Global Positioning System) within their application they need to include positioningService app in their target's build and then bind to the le_gnss API within their app. The positionService app knows how to talk to the Platform Adapter le_pa_gnss which then communicates with the OS and Firmware to provide the required information to the developers application. The developer can use the functions in the API without having to know how to communicate directly with the GNSS hardware peripherals or it's driver firmware.

Note
Not all functions in an API are supported by all Platforms. Visit our list of Platform Constraints to make sure that function you are implementing are supported by your target.

Setup and Configure

For further information and help on setting up and configuring specific modules:

Section Description
Configure Sierra Wireless Module Configure Sierra Wireless Targets
Configure Raspberry Pi Configure Raspbian for Legato AF