obu-firmware builds against the vanetza-idf C-ITS library, which until now came from the colleague's microbu-esp32c5 tree beside the repository and was not tracked here, so a clone of this repository could not build the firmware it ships. The library alone is now part of obu-firmware, as obu-firmware/external/vanetza-idf: their external/vanetza-idf at commit cf4b99f, unchanged (9775 files; see its PROVENANCE.md). CMake takes it from there by default; -DVANETZA_IDF_DIR still points the build elsewhere. The rest of the colleague's tree (their own VAM firmware, PKI tooling, station-link Python tools, the V2X2MAP bridge) stays out of this repository and gitignored; nothing is pushed to their repository. NOTES.md, docs/06, TODO.md and the pcap verifier's usage line point at the new location.
1.4 KiB
Title: Building for generic ARM64 device
Building Vanetza for generic ARM64 device
This document describes building Vanetza for arm64 architecture. Steps for building Vanetza for arm64 are very similar to build for Cohda MK5 devices (you can see steps in the building for Cohda MK5 document).
Cross-compiler
You should have GNU C/C++ cross-compiler for the arm64 architecture installed. For Debian-based distros, this can be installed by command sudo apt install g++-aarch64-linux-gnu.
Vanetza build dependencies
Please see this document about cross-compiling Vanetza's dependencies.
Compile Vanetza
We assume you have copy of the Vanetza repository in your home directory at $HOME.
Create a build directory and tell CMake to use the cross-compiler installed on your machine and to look up additional dependencies in vanetza-deps:
:::shell
mkdir vanetza/vanetza-build
cd vanetza/vanetza-build
cmake .. \
-DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-ARM64.cmake \
-DCMAKE_FIND_ROOT_PATH=$HOME/vanetza-deps \
-DCMAKE_INSTALL_RPATH=\$ORIGIN/../lib \
-DCMAKE_INSTALL_PREFIX=$HOME/vanetza-dist \
-DBUILD_SOCKTAP=ON
make
This builds the Vanetza libraries and socktap example as well. When you do make install, binaries are copied to $HOME/vanetza-dist. You can copy the binary with libraries to the device now.