Installing the ACC SDK
The ACC Software Development Kit (SDK) allows you to use an x86 host computer to build P4 Control Plane for the ARM Compute Complex (ACC) of the Intel® IPU E2100.
Disclaimer:
The contents and packaging of the SDK are under active development. Although the information in this document was correct at the time it was written, there is no guarantee that any part of it will be correct in the future. It is beyond the scope of this document to keep pace with the changes. Caveat emptor.
SDK contents
The ACC SDK includes the following:
Obtain the ACC-RL SDK
You will need to obtain the software packages for the Intel® IPU E2100 from the manufacturer.
The ACC-RL SDK package is a tarball whose name ends in acc-rl-sdk
, such
as mev-hw-b0-ci-ts.release.3921-acc-rl-sdk.tgz
.
Choose an install location
You will need to choose a location for the SDK on your development computer.
The examples in this document assume you are logged in as user peabody
and
that you plan to install the SDK in your home directory.
Unpack the ACC-RL SDK
$ tar xzf mev-hw-b0-ci-ts.release.3921-acc-rl-sdk.tgz
$ pushd acc-rl/images/acc-sdk
$ ./install_acc_rl_sdk.sh -d ~/acc-sdk
You are about to install the SDK to "/home/peabody/acc-sdk". Proceed [Y/n]? y
Extracting SDK.............[redacted].............done
Setting it up...done
SDK has been successfully set up and is ready to be used.
Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g.
$ . /home/peabody/acc-sdk/environment-setup-aarch64-intel-linux-gnu
$ popd
Key components
ACC-RL SDK
The ACC-RL SDK is laid out as follows:
acc-sdk/
|-- aarch64-intel-linux-gnu
| |-- aarch64-intel-linux-gnu
| |-- bin
| |-- build.log.bz2
| |-- include
| |-- lib
| |-- libexec
| `-- share
`-- environment-setup-aarch64-intel-linux-gnu
GCC toolchain
The GCC C/C++ toolchain executes on an x86-64 Linux host and generates binary executables and libraries for an AArch64 processor running Rocky Linux.
The cross-compiler suite is in the aarch64-intel-linux-gnu/bin
directory.
Target sysroot
The Target directory tree (sysroot) provides header files and binaries (libraries and executables) for the target system.
The sysroot
directory is in the inner aarch64-intel-linux-gnu
directory:
aarch64-intel-linux-gnu/aarch64-intel-linux-gnu/
├── bin
├── debug-root
├── include
├── lib
├── lib64
└── sysroot
It is laid out as follows:
sysroot
├── bin -> usr/bin
├── boot
├── dev
├── etc
├── home
├── include
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
└── var
ES2K SDE
The ES2K SDE contains header files and binaries specific to the Intel® IPU E2100.
The SDE is in the sysroot/opt/p4
directory:
sysroot/opt
|-- p4
| `-- p4sde
| |-- bin
| |-- include
| |-- lib
| |-- lib64
| `-- share
`-- rh