Cross-compiler toolchains extracted from HiSilicon SDKs, hosted as release assets for use in CI pipelines.
| Toolchain | GCC | Libc | Float | Default arch | Multilib targets | CROSS_COMPILE |
Source SDKs |
|---|---|---|---|---|---|---|---|
| arm-hisiv300-linux | 4.8.3 (Linaro) | uClibc 0.9.33.2 | softfp | armv5te | ARM926, A9, A7 | arm-hisiv300-linux-uclibcgnueabi- |
Hi3518E_SDK_V1.0.4.0, Hi3516A_SDK_V1.0.5.0 |
| arm-hisiv500-linux | 4.9.4 (Linaro) | uClibc 0.9.33.2 | softfp | armv5te | ARM926, A9, A7 | arm-hisiv500-linux-uclibcgnueabi- |
Hi3516CV300_SDK, Hi3516C V300R001C01SPC040 |
| arm-hisiv510-linux | 6.2.1 (Linaro) | uClibc 0.9.33.2 | softfp | armv5te | ARM926, A9, A7, A17, A53, A73, M7 | arm-hisiv510-linux-uclibcgnueabi- |
Hi3518E V200R001C01SPC050, Hi3516A V100R001C01SPC080 |
| arm-hisiv600-linux | 4.9.4 (Linaro) | glibc 2.20 | softfp | armv5te | ARM926, A9, A7 | arm-hisiv600-linux-gnueabi- |
Hi3516C V300R001C02SPC040 |
| arm-himix100-linux | 6.3.0 | uClibc 0.9.33.2 | softfp | armv5te | ARM926, A9, A7, A17, A53, A73 | arm-himix100-linux- |
Hi3516EV200 series |
| arm-himix200-linux | 6.3.0 | glibc 2.24 | softfp | armv5te | ARM926, A9, A7, A17, A53, A73 | arm-himix200-linux- |
Hi3516CV500, Hi3519V101 |
All toolchains default to soft-float ABI (gnueabi). Hard-float variants are available via multilib flags, e.g.:
-mcpu=cortex-a7 -mfloat-abi=hard -mfpu=neon-vfpv4Most archives are .tgz files with a nested structure:
<name>.tgz
+-- <name>/
+-- <name>.tar.bz2 # actual toolchain
+-- <name>.install # vendor install script (not needed for CI)
+-- runtime_*.tgz # runtime libraries
Exceptions:
arm-hisiv300-linux.tar.bz2is the inner archive directly (no.tgzwrapper).arm-himix200-linux.tgzis split into two parts due to the 2 GB GitHub release asset limit.
# Standard .tgz archives (two-step extraction)
tar xzf arm-hisiv510-linux.tgz
tar xjf arm-hisiv510-linux/arm-hisiv510-linux.tar.bz2
# arm-hisiv300 (single-step, bare tar.bz2)
tar xjf arm-hisiv300-linux.tar.bz2
# arm-himix200 (reassemble split parts first)
cat arm-himix200-linux.tgz.part* > arm-himix200-linux.tgz
tar xzf arm-himix200-linux.tgz
tar xjf arm-himix200-linux/arm-himix200-linux.tar.bz2The vendor install script creates target/bin/ with absolute symlinks to /opt/hisi-linux/... which only work on the original install path. For CI, use the full CROSS_COMPILE prefix (from the table above) with the bin/ directory on PATH:
export PATH="$PWD/arm-hisiv510-linux/bin:$PATH"
make CROSS_COMPILE=arm-hisiv510-linux-uclibcgnueabi-- name: Download toolchain
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh release download v1 -R OpenIPC/toolchains -p 'arm-hisiv510-linux.tgz'