Build for Applications Processor (ARM CPU)
VOXL uses a Snapdragon 821 with an ARMv8-A 64-bit Qualcomm® Kyro Quad Core CPU.
The following are good examples of how to build applications processor (apps-proc) code with the voxl-emulator docker image:
|librc_math||Example of linear algebra routines in C||Source|
|OpenCV 3.4.6||How to build OpenCV 3.4.6 for VOXL, with examples||Source|
|voxl-vision-px4||Example use of ModalAI Vision Library for VIO and VOA||Source|
Much of the base Yocto image uses 32-bit libraries for backwards compatibility. We are enabling many of the components and migrating examples to 64-bit.
The system image is built using GCC4.9 so most applications are required to be built with that same version of compiler.
The https://docs.modalai.com/install-voxl-docker/ builds 32-bit applications and is easy to use for quick ports of existing applications.
Our recommended compiler flags for 32-bit are as follows:
-std=c++11 -march=armv7-a -mfloat-abi=softfp -mfpu=neon-vfpv4
A good example of that can be found https://gitlab.com/voxl-public/voxl-opencv-3-4-6/blob/master/package/build.sh
The https://gitlab.com/voxl-public/voxl-docker/tree/master/voxl-cross64 Docker can be used to cross-compile 64-bit applications using GCC 4.9
Our recommended compiler flags for 64-bit are as follows:
A good example of that can be found https://gitlab.com/voxl-public/voxl-opencv-3-4-6/blob/master/package/build64.sh