MISC-TN-002: The scalability of the Axel family: a real-world example

From DAVE Developer's Wiki
Jump to: navigation, search
Info Box
Axel-lite 02.png Applies to Axel Lite
AXEL ULite-top.png Applies to AXEL ULite

History[edit | edit source]

Version Date Notes
1.0.0 January 2018 First release

Introduction[edit | edit source]

One of the most appreciated characteristics of the Axel family is the scalability in terms of performances and feature set. This technical note illustrates a real-world example in which this scalability was heavily exploited by DAVE Embedded Systems to produce an entire family of products originated from a common hardware project. Furthermore, all variants share a unified software development environment.

All of this allowed our customer to reduce dramatically time-to-market and to limit software development/maintenance costs.

The hardware platform[edit | edit source]

The following image depicts the simplified block diagram of the hardware platform.


Simplified block diagram of the hardware platform


It was designed around the system-on-module, indicated as SOM in the picture. As stated before, the range of the SOMs fitting this application is considerable. It embraces both the compact AXEL ULite class of products and the more powerful AxelLite class.

Thanks to the substantial pinout and form factor compatibility, the hardware design team managed to conceive a "one-size-fits-all" solution. In other words, a single carrier board able to host all the selected SOMs was designed.

Several factors differentiate the final products which are the result of different carrier board/SOM/application software combinations. For example, the size and the resolution of the supported LCD screens range from 7" @ 800x480 to 15.6" @ 1920x1080.

The unified software development environment[edit | edit source]

From a software development standpoint, the common factor across all product variants is the main user application. To simplify the management of all variants, we provided the customer with one virtual machine implemented as a Managed Virtual Machine (MVM).

This virtual machine, in turn, is based on the MVMs delivered along with the following development kits:

We managed to set up in one MVM all the tools required to handle the board support packages (BSP) for all the models and to develop the main application—which is based on the well-known Qt 5.9.2 libraries—in just one MVM. In combination with the ConfigID feature, this allows the development team to maintain just one application that can run on all the platform variants, as it can detect at runtime which variant it is running on.