Knowledge Base

Everything you need to know and understand to develop V2X applications.

denm-generator.py
msg = self.generate_denm()
future = self.send_request(msg)
future.add_done_callback(self.request_completed)

Build Tools

The cube:evk provides a complete development environment for compiling, testing, and deploying custom applications. Developers can either build software directly on the device or cross-compile on a host system using the provided SDK.


1. On-Device Development

The cube:evk ships with a fully equipped Linux development environment, making it possible to compile software directly on the board without any external setup.

Preinstalled Tools

All essential development packages are already available, including:

  • gcc / g++ — GNU C and C++ compilers
  • cmake — build configuration and project management
  • make — build automation tool
  • git — version control system
  • build-essential — common build dependencies and libraries

You can verify the toolchain by running:

cube:~$ gcc --version
cube:~$ cmake --version
cube:~$ git --version

This setup allows rapid development and testing directly on the EVK — ideal for smaller projects, proof-of-concepts, or quick prototyping.

Example: Building a Simple Application

cube:~$ git clone https://github.com/example/myapp.git
cube:~$ cd myapp
cube:~/myapp$ mkdir build && cd build
cube:~/myapp/build$ cmake ..
cube:~/myapp/build$ make
cube:~/myapp/build$ ./myapp

2. Cross-Compilation on the Host

For larger projects or faster builds, applications can also be compiled on a host PC using a cross-compilation SDK. This approach significantly reduces build times and allows developers to use their preferred desktop IDE or CI/CD environment.

SDK Overview

The cube:evk SDK provides:

  • Cross-compilation toolchains targeting the i.MX8M Plus architecture
  • Preconfigured environment setup scripts
  • Header files and libraries matching the cube:evk’s system image
  • CMake toolchain files for seamless integration

Once configured, developers can build applications on their host just as they would for a native Linux target, and then transfer the compiled binaries to the EVK via ssh or scp.

Example:

host:~/app$ mkdir build && cd build
host:~/app/build$ cmake -DCMAKE_TOOLCHAIN_FILE=/opt/cube-sdk/cmake/toolchain.cmake ..
host:~/app/build$ make
host:~/app/build$ scp myapp cube@<evk-ip>:/home/cube/

On the EVK:

cube:~$ ./myapp

Obtaining the SDK

The SDK is provided by us upon request. If you require the cross-compilation toolkit for integration into your build environment, please contact us directly.


3. Development Workflow Comparison

MethodEnvironmentAdvantagesWhen to Use
On-Device BuildDirectly on the cube:evkSimple setup, no external dependenciesSmall projects, quick tests
Cross-CompilationHost PC with cube SDKFast build times, desktop IDE integrationLarger projects, automation, CI/CD

Choose your Method

Developers can choose between on-board development for convenience or cross-compilation for performance. Both workflows are fully supported and compatible with the cube:evk software stack.