ZYNQ-NE10安装与编译

3 篇文章 1 订阅

Ne10介绍

Ne10是一个通用开源的函数库里面提供了大量的浮点运算、矢量计算,和矩阵操作函数,并针对配备NEON SIMD功能ARM的CPU进行了大量优化。允许通过静态或动态链接轻松集成到各种应用程序中。
目前支持平台:

linux,android,ios。

Ne10目前有四个模块:

1、(信号处理)DSP 包含常用的FFT FIR IIR等函数
2、(数学计算)Math
3、(图像处理)ImgprocI
4、physics


Ne10库的安装

下载地址:Ne10库-官网


配置编译器

在/etc/bash.bashrc中添加如下:

export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabi-
export PATH=/个人交叉编译器路径/gcc-linaro-4.9-2016.02-x86_64_arm-linux-gnueabi/bin/:$PATH

运行source /etc/bash.bashrc,使其生效。
同时修改GNUlinux_config.cmake下的编译器选项,根据自己的编译器进行修改,因为自己的编译器并不是硬浮点编译器,所以将下方标记的去掉hf。

set(GNULINUX_PLATFORM ON)

if(NOT DEFINED ENV{NE10_LINUX_TARGET_ARCH})
   set(NE10_LINUX_TARGET_ARCH "armv7")
else()
   set(NE10_LINUX_TARGET_ARCH $ENV{NE10_LINUX_TARGET_ARCH})
endif()

if(NE10_LINUX_TARGET_ARCH STREQUAL "armv7")
   set(CMAKE_C_COMPILER arm-linux-gnueabi-gcc)//去掉hf
   set(CMAKE_CXX_COMPILER arm-linux-gnueabi-g++)//去掉hf
   set(CMAKE_ASM_COMPILER arm-linux-gnueabi-as)//去掉hf
   find_program(CMAKE_AR NAMES "arm-linux-gnueabihf-ar")
   find_program(CMAKE_RANLIB NAMES "arm-linux-gnueabihf-ranlib")
elseif(NE10_LINUX_TARGET_ARCH STREQUAL "aarch64")
   set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc)
   set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++)
   set(CMAKE_ASM_COMPILER aarch64-linux-gnu-as)
   find_program(CMAKE_AR NAMES "aarch64-linux-gnu-ar")
   find_program(CMAKE_RANLIB NAMES "aarch64-linux-gnu-ranlib")
endif()

mark_as_advanced(CMAKE_AR)
mark_as_advanced(CMAKE_RANLIB)

编译命令

cd $NE10_PATH
mkdir build && cd build 
export NE10_LINUX_TARGET_ARCH=armv7
cmake -DCMAKE_TOOLCHAIN_FILE=../GNUlinux_config.cmake .. 
make

编译结果

编译得到:

./modules/libNE10.a(库文件)、
./samples/NE10_test_static(测试程序)、
./test/N个测试文件


使用方法

在代码中需要include头文件如下:

#include "./inc/NE10.h"

在交叉编译时的命令如下:

arm-linux-gnueabi-gcc  test.c -mfpu=neon -L. -lNE10 -lm
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值