projectne10向ZedBoard移植
2016-05-16 23:44
197 查看
目标:在ZedBoard的Linux上可以运行NE10的库
日期:2016/5/16
主机OS:Win7sp1-64bit
虚拟机OS:Ubuntu14.04.4-amd64
参考:$NE10PATH/doc/BuildingNe10.txt(我们这种应用属于CROSS-COMPILING)
$NE10PATH/GNUlinux_config.cmake
下载zip压缩包,并解压给虚拟机共享文件夹
1. 将共享文件夹的ne10源代码目录拷贝到~/下,并更名NE10
2. 在NE10/下创建config.cmake,并包含以下内容
$mkdir build & cd build
$cmake -DCMAKE_TOOLCHAIN_FILE=../config.cmake ..
$make
4. 我们可以得到./modules/libNE10.a(库文件)、./samples/NE10_test_static(测试程序)、./test/N个测试文件
/* TODO: 这里我还没有上Zed测试,等之后有时间再说 */
infofile = fopen ("/proc/cpuinfo", "r");
也就是说需要至少linux系统的支持
2. 所有modules下的函数实现,.asm的实现基本没有任何用处,可以看看诸如NE10_init_math.c文件中各函数指针初始化过程,即可了解其实_asm的实现根本没有调用到
3. 一些文档中表示,模块函数可以间接调用,也可以直接调用,间接调用使用的是函数指针,比如
ne10_vdiv_vec2f,会根据系统带不带neon模块来决定是使用ne10_vdiv_vec2f_c还是ne10_vdiv_vec2f_neon函数
而直接调用则可直接指定ne10_vdiv_vec2f_neon函数
日期:2016/5/16
主机OS:Win7sp1-64bit
虚拟机OS:Ubuntu14.04.4-amd64
参考:$NE10PATH/doc/BuildingNe10.txt(我们这种应用属于CROSS-COMPILING)
$NE10PATH/GNUlinux_config.cmake
一、下载projectne10源代码
官网:http://projectne10.github.io/Ne10/下载zip压缩包,并解压给虚拟机共享文件夹
二、编译projectne10库
首先确保Vivado2015.4已成功安装1. 将共享文件夹的ne10源代码目录拷贝到~/下,并更名NE10
2. 在NE10/下创建config.cmake,并包含以下内容
set(GNULINUX_PLATFORM ON) set(NE10_LINUX_TARGET_ARCH "armv7") set( CMAKE_C_COMPILER arm-xilinx-linux-gnueabi-gcc ) set( CMAKE_CXX_COMPILER arm-xilinx-linux-gnueabi-g++ ) set( CMAKE_ASM_COMPILER arm-xilinx-linux-gnueabi-as ) find_program(CMAKE_AR NAMES "arm-xilinx-linux-gnueabi-ar") mark_as_advanced(CMAKE_AR) find_program(CMAKE_RANLIB NAMES "arm-xilinx-linux-gnueabi-ranlib") mark_as_advanced(CMAKE_RANLIB)3. 执行编译
$mkdir build & cd build
$cmake -DCMAKE_TOOLCHAIN_FILE=../config.cmake ..
$make
4. 我们可以得到./modules/libNE10.a(库文件)、./samples/NE10_test_static(测试程序)、./test/N个测试文件
/* TODO: 这里我还没有上Zed测试,等之后有时间再说 */
三、关于projectne10库
1. 首先能确定的是,ne10库想移植到standalone较困难,比如说modules/NE10_init.c文件为各模块初始化文件,里面涉及到了infofile = fopen ("/proc/cpuinfo", "r");
也就是说需要至少linux系统的支持
2. 所有modules下的函数实现,.asm的实现基本没有任何用处,可以看看诸如NE10_init_math.c文件中各函数指针初始化过程,即可了解其实_asm的实现根本没有调用到
3. 一些文档中表示,模块函数可以间接调用,也可以直接调用,间接调用使用的是函数指针,比如
ne10_vdiv_vec2f,会根据系统带不带neon模块来决定是使用ne10_vdiv_vec2f_c还是ne10_vdiv_vec2f_neon函数
而直接调用则可直接指定ne10_vdiv_vec2f_neon函数
相关文章推荐
- 使用win2d实现萤火虫粒子效果
- http://www.doc88.com/p-7374285513754.html
- Android Studio 常用快捷键
- Add Two Numbers
- hdu_2224_The shortest path(dp)
- ZOJ 2412 Farm Irrigation
- tomcat session复制
- ZOJ 2412 Farm Irrigation
- hdu_2224_The shortest path(dp)
- 利用组合控件实现布局文件抽取复用
- 300. Longest Increasing Subsequence
- hdu-5668- Circle 逆元+卡特兰数知识模板
- JAVA——OutputStream类和InputStream类
- markdown
- Android Handler和他的小伙伴们,消息机制详解
- android半透明引导页
- 2016"百度之星" - 资格赛————Problem D
- 海量数据的KNN分类、Kmeans聚类
- makefile&Android mk文件中打印log
- 算字母