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 development environment for compiling, testing, and deploying applications. Software can be built directly on the device or cross-compiled on a host system using the provided SDK.


1. On-Device Development

The cube:evk ships with a Linux development environment. Software can be compiled directly on the board without any host setup.

Preinstalled Tools

The standard development packages are available:

  • 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 supports development and testing directly on the EVK, suitable for smaller projects, proof-of-concepts, and 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 be compiled on a host PC using a cross-compilation SDK. This reduces build times and lets developers use their host IDE or CI/CD environment.

SDK Overview

The cube:evk SDK provides:

  • Cross-compilation toolchains targeting the i.MX8MP architecture
  • Preconfigured environment setup scripts
  • Header files and libraries matching the cube:evk's system image
  • CMake toolchain files for 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 on request. Contact us if you need the cross-compilation toolkit for your build environment.


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

Use on-board development for convenience or cross-compilation for build performance. Both workflows are supported and compatible with the cube:evk software stack.