ZYNQ7020_Linux_HLS_IP的驱动

一、目标

驱动HLS 生成的角点检测IP。

二、准备工作

1、生成.bit文件

将编译好的HLS IP添加到vivado工程中。
在这里插入图片描述

三、裸机程序

1、HLS IP初始化

HLS IP的初始化主要是完成控制寄存器和行列、阈值寄存器数值的初始化。

void FastCornerDecInit(XHls_fast_corner *fc, int column,int row)
{
   
	XHls_fast_corner_Initialize(fc, 0);
	XHls_fast_corner_SetRows(fc, row);
	XHls_fast_corner_SetCols(fc, column);
	XHls_fast_corner_SetThrehold(fc, 20);
	XHls_fast_corner_EnableAutoRestart(fc);
	XHls_fast_corner_Start(fc);
}

四、驱动介绍

1、驱动结构

只需在原有的驱动程序中添加hls的初始化(hls_init())、启动(hls_start())和退出(hls_exit())程序。

static int hls_start(struct hls_handle *hls_fc)
{
   
	struct chvdma_dev *devp;
	volatile unsigned int *reg;

	if((hls_fc->virt_addr == NULL) || (hls_fc->phys_addr == NULL))
		{
   
			printk("hls_start failed;\n");
			return -1;
		}

	devp = container_of(hls_fc,struct chvdma_dev,hls_fc);

	if(devp == NULL)
		{
   
			printk("hls_start fialed.\n");
			return -1;
		}
	reg = (volatile unsigned int *)(hls_fc->virt_addr + XHLS_FAST_CORNER_CONTROL_BUS_ADDR_COLS_DATA
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值