以一个向量加法的HLS IP为例: linux应用程序代码如下
/*
* Copyright (c) 2012 Xilinx, Inc. All rights reserved.
*
* Xilinx, Inc.
* XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A
* COURTESY TO YOU. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS
* ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION OR
* STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION
* IS FREE FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE
* FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION.
* XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO
* THE ADEQUACY OF THE IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO
* ANY WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE
* FROM CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS FOR A PARTICULAR PURPOSE.
*
*/
#include
#include
#include
#include
#include
#include
#include"xadder_hw.h"
#define CTRL_BASE_ADDR 0x43c00000
#define A_BASE_ADDR 0x05000000
#define B_BASE_ADDR 0x06000000
#define C_BASE_ADDR 0X07000000
#define SIZE 4096
int main()
{
int i;
int devmem;
int *a_addr;
int *b_addr;
int *c_addr;
int *ctrl_addr;
devmem = open("/dev/mem", O_RDWR | O_SYNC);
if(devmem==-1)
printf("open /dev/mem failed\n");
a_addr=(int*)mmap(0,SIZE*sizeof(int),PROT_READ|PROT_WRITE,MAP_SHARED,devmem,A_BASE_ADDR);
if(a_addr == MAP_FAILED)
printf("a_addr map failed\n");
b_addr=(int*)mmap(0,SIZE*sizeof(int),PROT_READ|PROT_WRITE,MAP_SHARED,devmem,B_BASE_ADDR);
if(b_addr == MAP_FAILED)
printf("b_addr map failed\n");
c_addr=(int*)mmap(0,SIZE*sizeof(int),PROT_READ|PROT_WRITE,MAP_SHARED,devmem,C_BASE_ADDR);
if(c_addr == MAP_FAILED)
printf("c_addr map failed\n");
ctrl_addr=(int*)mmap(0,SIZE*sizeof(int),PROT_READ|PROT_WRITE,MAP_SHARED,devmem,CTRL_BASE_ADDR);
if(ctrl_addr==MAP_FAILED)
printf("ctrl_addr map failed\n");
for(i=0;i>1)&0x01)==1)
break;
}
printf("PL compute finished\n");
for(i=0;i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?