First of all, some words about the Linux architecture aarch64 (also called arm64): 90% of our clients who works under aarch64 use Nvidia Jetson boards. So we decided to use a Jetson Nano board for our developments and tests. We picked in particular the Jetson Nano Developer Kit .
the Jetson Nano Developer Kit
All binaries we provide are compiled with GCC on the official JetPack 4.2 image. This image is derived from the Ubuntu 18.04 distribution. So the binaries should work on any Linux aarch64 distribution. We have verified that they were run properly on a Raspberry Pi 3 with an aarch64 image as well.
Jetson Nano Developer Kit provides many connectivity options
The archive of the VirtualHub Linux now contains an aarch64 folder, with an executable for this platform.
To use the VirtualHub on Linux aarch64, you just have to download the VirtualHub for Linux, unzip it and run the executable in the aarch64 directory.
$ unzip VirtualHub.linux.35708.zip Archive: VirtualHub.linux.35708.zip inflating: mips/VirtualHub inflating: LISEZMOI.txt inflating: README.txt inflating: armel/VirtualHub inflating: RELEASE.txt inflating: FILES.txt inflating: aarch64/VirtualHub inflating: startup_script/yVirtualHub inflating: startup_script/yvirtualhub.service inflating: startup_script/yvirtualhub.openwrt inflating: udev_conf/51-yoctopuce_all.rules inflating: udev_conf/51-yoctopuce_group.rules inflating: 32bits/VirtualHub inflating: 64bits/VirtualHub inflating: armhf/VirtualHub inflating: mipsel/VirtualHub $ sudo ./aarch64/VirtualHub [2019-06-07 06:21:12] (01) Yoctopuce VirtualHub 1.10.35708 (dated Jun 6 2019) [2019-06-07 06:21:12] (01) Serial is VIRTHUB0-1d41c853af [2019-06-07 06:21:12] (01) NetworkName is ubuntu [2019-06-07 06:21:12] (01) LogicalName is not set [2019-06-07 06:21:12] (01) HTTP server is listening port 4444 ...
It works like any other Linux. By default, it needs superuser rights to access USB ports, but as explained in our tutorial "How to begin with Yoctopuce devices on Linux", it is possible to add an udev rule to work around this restriction.
It is also possible to install a startup script for the VirtualHub in order to have the VirtualHub started automatically on boot. This procedure is documented in the README.txt file that is in the VirtualHub archive.
Java and python libraries
The Java and python libraries now support natively Linux aarch64. It is no longer necessary to recompile the C++ library and to copy the libyapi-aarch64.so file, as the latter is already included in the zip file.
The C++ library
The C++ library already supported Linux aarch64, so we did not change anything. As for other platforms, the C++ library does not contain precompiled examples. If you want to compile all the examples for aarch64 just run the build.sh script shell at the root of the library.
The command line library
Like the C++ library, this library did already support Linux aarch64, so we did not change anything. But unlike other OS, the archive does not contain precompiled executables for the various utilities. We made this decision because the archive is already very big, and because we plan to change the way to distribute this library.
If you want to use this library in Linux aarch64, you have to run the following command at the root of the library to compile all the executables:
$ ./build.sh aarch64
.NET Core and C#
Update: The C# library now supports Linux aarch64. You can read our post on the topic.
It is currently not possible to use our C# library under Linux aarch64. We are awaiting the release of version 3.0 of .NET Core which should provide support for Linux aarch64, to adapt our library. Fortunately, the release is scheduled for the end of summer .