DSP

Ne10库编译使用

2019-07-13 15:55发布

介绍

Ne10是一个单独的开源库,可以把它直接嵌入到工程里面去(目前支持linux,android,ios),直接调用里面的函数。Ne10已实现一些接口,可分为4个模块:dsp、math、imgproc、physics。比如dsp中目前就已封装了fft,fir,irr算法函数接口,用户直接调用这些接口函数就可以实现相应算法。
math 数学模块:主要包含矢量/矩阵数学运算。
dsp 数字信号处理模块:主要包含FFT快速傅立叶变换,以及部分FIR/IIR滤波函数。
imgproc 图像处理模块:主要包含图像缩放,旋转等图像后处理函数。
Ne10中的所有接口函数既有基于neon实现又有基于c语言实现,这样保证了Ne10库的可移植性。当平台支持neon时,则调用neon函数,否则调用c函数。

下载Ne10

可以从Ne10的网站(http://projectne10.github.io/Ne10/)下载整个项目工程。
项目文档在(http://projectne10.github.io/Ne10/doc/),包含各个函数的使用说明。

编译

NE10的编译工具是cmake,需要安装cmake
docuilding.md中有编译说明
目标平台为海思3559

编译过程:

1.解压,进入目录
2. 创建build目录
mkdir build && cd build
3. 配置目标平台,海思3559为armv7,可以用cat /proc/cpuinfo查看
export NE10_LINUX_TARGET_ARCH=armv7
4. 修改GNUlinux_config.cmake文件,将交叉编译工具替换成海思的
5. 修改CMakeLists.txt,在120行,141行中添加上编译参数-mfpu=neon,不然会报错
6. 得到/modules/libNE10.a(库文件)、./samples/NE10_test_static(测试程序),若想得到.so动态库和test里的测试程序,可以修改CMakeLists.txt,将对应的option项参数改为ON,然后将编译出的共享库放入海思上的/lib目录下
7. 将测试程序在海思3559平台上运行。