petalinux 安装Openblass库

git clone https://github.com/xianyi/OpenBLAS.git

环境变量配置

设置交叉编译工具链路径和系统根目录(sysroot),确保编译工具和库文件能正确引用:

bash 复制代码
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 平台:

bash 复制代码
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

常见问题排查

若编译失败,检查以下内容:

  1. 路径有效性 :确认 CROSS_PREFIXSYSROOT 路径是否存在。
  2. 工具链权限:确保交叉编译工具链可执行。
  3. 依赖库:sysroot 中需包含必要的 C 库和头文件。

验证生成结果

编译完成后,通过 file 命令验证生成的二进制文件架构:

bash 复制代码
file your_binary

输出应包含 ARM aarch64 标识。

相关推荐
江公望21 小时前
Qt qmlplugindump浅谈
开发语言·qt·qml
彡皮21 小时前
qt实用学习案例:数据库设计+图表显示+model-view模式+样式表定制
数据库·qt·学习
曦樂~21 小时前
【Qt】文件操作/事件--mainwindow做编辑器
开发语言·qt
Larry_Yanan1 天前
QML学习笔记(四十六)QML与C++交互:Q_PROPERTY宏映射
c++·笔记·qt·学习·ui·交互
江公望1 天前
Qt enum ApplicationAttribute枚举值浅解
linux·qt
友友马1 天前
『 QT 』信号-槽 补充: Qt信号槽断开连接与Lambda槽技巧
开发语言·数据库·qt
Source.Liu1 天前
【CMakeLists.txt】 Qt 自动化构建配置详解
qt·自动化·librecad
Source.Liu1 天前
【CMakeLists.txt】CMake 编译定义带值参数详解
c++·qt·librecad
曦樂~1 天前
【Qt】TCP连接--客户端和服务器
服务器·网络·c++·qt·tcp/ip
枫叶丹41 天前
【Qt开发】多元素类控件(三)-> QTreeWidget
开发语言·数据库·c++·qt