petalinux 安装Openblass库
git clone https://github.com/xianyi/OpenBLAS.git
环境变量配置
设置交叉编译工具链路径和系统根目录(sysroot),确保编译工具和库文件能正确引用:
export CROSS_PREFIX=/opt/petalinux/2020.2/sysroots/x86_64-petalinux-linux/usr/bin/aarch64-xilinx-linux/aarch64-xilinx-linux-
export CC=${CROSS_PREFIX}gcc
export SYSROOT=/opt/petalinux/2020.2/sysroots/aarch64-xilinx-linux
编译参数说明
执行 make
时需指定以下关键参数,适配 Xilinx ARM64 平台:
make TARGET=ARMV8 BINARY=64 \CC="${CC} --sysroot=${SYSROOT}" \HOSTCC=gcc \NOFORTRAN=1 \NO_AFFINITY=1 \USE_OPENMP=0
- TARGET=ARMV8 BINARY=64:指定目标架构为 ARMv8 64 位。
- CC="${CC} --sysroot=${SYSROOT}":强制编译器使用指定的 sysroot 路径查找头文件和库。
- HOSTCC=gcc:本地编译工具链使用系统默认的 gcc。
- NOFORTRAN=1:禁用 Fortran 支持。
- NO_AFFINITY=1:关闭 CPU 核心绑定功能(适用于嵌入式环境)。
- USE_OPENMP=0:禁用 OpenMP 多线程支持。
make PREFIX=/petalinux/OpenBLAS/build/install install
常见问题排查
若编译失败,检查以下内容:
- 路径有效性:确认
CROSS_PREFIX
和SYSROOT
路径是否存在。 - 工具链权限:确保交叉编译工具链可执行。
- 依赖库:sysroot 中需包含必要的 C 库和头文件。
验证生成结果
编译完成后,通过 file
命令验证生成的二进制文件架构:
file your_binary
输出应包含 ARM aarch64
标识。