0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Multi-scaler的裸机测试流程

Hack电子 来源:AMD Xilinx开发者社区 2023-05-19 14:08 次阅读

作者:AMD intern Zhang Guanghao

文章来源:AMD Xilinx开发者社区

01 IP的介绍

Multi-Scaler是一个用于图像缩放的视频处理IP核,支持最多8路输出,使用Memory接口,从源缓冲区读取图像,在H和V域进行缩放后写入到目的缓冲区,源端的缓地址和目的端缓存地址可以动态的更改,输出完成之后会产生一个中断信号。 IP的配置界面如图:

wKgaomRnEuaAOT7KAACYqMW7q7k925.jpg

02 裸机测试

此示例提供了一个Multi-Scaler的典型用法,测试程序将在缩放前读取目的缓冲区,然后将指定图像写入源缓冲区,并且将用户提供的参数载入到硬件寄存器中并启动IP。Multi-Scaler读取源缓冲区的图像进行缩放后写入目的缓冲区,当所有的输出都完成后Multi-Scaler会产生一个中断信号,这会调用中断处理程序去读取目的缓冲区的内容并验证数据是否正确。
此示例支持的平台如图所示:

wKgaomRnEuaAWjXTAAA6o4pbU-c857.jpg

首先建立一个工程,这个工程用来打开example工程,这里我使用ZCU102评估版。

wKgZomRnEuaASSgqAADfzbqVTb0838.jpg

建立好工程后创建一个block design,添加Multi-Scaler IP。
wKgZomRnEuaAQ7ffAAA4LvEMW5I865.jpg
右击Multi-Scaler IP,选择Open IP Example Design
wKgaomRnEuaAeoBfAAD30Y1lsaU715.jpg

选择Example工程的路径和例化名称,Vivado会自动生成一个新的工程

wKgaomRnEuaAe0oWAACJfu9p6W4273.jpg
打开后的Example工程如图所示

wKgaomRnEuaAWPNlAAF9LHACwaU055.jpg
直接进行综合、实现、生成bit流文件,这个过程会花费大量时间。

wKgZomRnEuaARsTwAAB0xiBmOgQ838.jpg
成功后导出包含bit流的hardware

wKgZomRnEuaAOOfUAADsocK5ojs698.jpg

到此硬件部分已经完成,打开Vitis进行软件部分的设计,选择工作路径。

wKgZomRnEuaAMmaqAACitU4NaeQ706.jpg

建立一个Platform工程

wKgaomRnEuaAOXuqAACj31X-Zx0745.jpg

填写工程名称后选择刚才生成的XSA文件,vitis会解析我们的硬件文件。

wKgaomRnEuaAf1fYAAHi9yJ51Uk871.jpg

完成工程的创建后,右击platform工程,点击build project。

wKgZomRnEueAb8q3AACimn5L3qw061.jpg

Build成功后再新建一个application project

wKgaomRnEueAG41PAADChDPINmE931.jpg
这里的platform选择我们刚才生成的platform工程

wKgZomRnEueAblc0AALG8hH8y7M867.jpg

Next后输入工程名称, 一直Next,直到最后选择模板的页面,选择空的C模板。

wKgaomRnEueAR4oaAAEJcAJYkng101.jpg

之后需要插入XILINX提供的测试代码,测试代码的路径在
//data/embeddedsw/XilinxProcessorIPLib/drivers/v_multi_scaler_v1_2/examples/

Install_directory即为XILINX工具的安装路径,release是版本号。比如我在windows下的路径就是:D:\xilinx\Vitis\2022.2\data\embeddedsw\XilinxProcessorIPLib\drivers\v_multi_scaler_v1_2

将这个.c文件复制到vitis工程路径下,vitis会在工程中自动识别到

wKgZomRnEueAY5k5AAA2dwXU1eU641.jpg
或者右击src插入,选择此文件。

wKgaomRnEueANQOMAACCjvoY2Kw607.jpg

之后对工程进行build project

wKgZomRnEueAULoVAAECbsmGHaA644.jpg

Build结束后,可以看到Debug下生成了elf可执行文件

wKgZomRnEueALFfwAADMHOxaZrs320.jpg

此时即可连接板子,把启动方式更改为JTAG启动,连接JTAG线和串口线,打开Vitis的串口终端,这里演示2022.2的打开方式,不同版本打开方式可能不同。
Windows -> show view -> terminal

wKgaomRnEueAGDwmAAAclKp8WTQ688.jpg

打开一个terminal,选择serial,选择对应的COM口,波特率设置为115200

wKgaomRnEueAafQXAAAwtWcOxh0894.jpg

之后右击工程运行即可

wKgZomRnEueAHc5-AACw8THwxJA804.jpg

可以看到串口输出结果,提示Multi-scaler测试运行成功

wKgZomRnEueAWUvdAABEvUDj8bo566.jpg

在测试过程中需要注意:

1.工具版本尽量使用最新工具,否则会有IP无法使用等报错,这里我使用2022.2版本。

wKgaomRnEueAR4MaAAEzV0suNbk340.jpg

2.建立好platform后一定要先build,否则可能在建立应用程序时出现缺少文件的情况。

wKgZomRnEueAPYG-AAFz6fL0DYc462.jpg
3. 由于测试过程中有诸多不确定因素,本文使用的硬件平台为ZCU102,软件平台为vivado2022.2和vitis2022.2,其他版本的软硬件平台在操作过程中可能会与文章所述有所出入。

4.此文章只介绍了Multi-Scaler的基本作用,以及示例工程的测试,具体的实现代码可以查看xv_multi_scaler_example.c文件,有关Multi-scaler的详细信息请查阅参考文档的PG325。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Xilinx
    +关注

    关注

    71

    文章

    2167

    浏览量

    121293
  • 中断
    +关注

    关注

    5

    文章

    898

    浏览量

    41470
  • Multi
    +关注

    关注

    0

    文章

    16

    浏览量

    8586
  • IP核
    +关注

    关注

    4

    文章

    327

    浏览量

    49485
  • 裸机
    +关注

    关注

    0

    文章

    39

    浏览量

    6369

原文标题:Multi-scaler的裸机测试流程

文章出处:【微信号:Hack电子,微信公众号:Hack电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于PGL22G芯片的scaler图像缩放技术详解

    Scaler(图像缩放),广泛应用于视频及图像处理领域,比如图像处理器、电视墙、LED显示屏等应用场景。紫光同创的scaler图像缩放方案采用双线性插值算法,具有缩放效果好,资源占用少的特点。
    的头像 发表于 10-22 09:31 7906次阅读

    Linux裸机点灯

    Linux裸机
    怎么啦
    发布于 :2023年10月27日 08:47:24

    熟悉Linux开发板的裸机开发流程

    :arm-linux-gnueabihf 4.9.4一、目的搭建C语言环境 熟悉Linux开发板的裸机开发流程。二、原理1.设置处理器模式如果Arm首先查看开发板原理图中有关LED设备的电路。可以看到LED采用了共阳的接线,也就是当“LED0”端为...
    发表于 12-15 07:41

    裸机LCD驱动编写流程是怎样的

    先来回顾一下裸机的时候 LCD 驱动是怎么编写的,裸机 LCD 驱动编写流程如下:①、初始化 I.MX6U 的 eLCDIF 控制器,重点是 LCD 屏幕宽(width)、高(height
    发表于 01-11 06:57

    Gowin Scaler IP快速用户指南

    Gowin Scaler IP 用户指南主要内容包括功能简介、端口说明、时序说明、配置调用、参考设计等,旨在帮助用户快速了解 Gowin Scaler IP 的特性及使用方法。
    发表于 10-10 10:07

    汽车CAN/LIN总线测试流程测试工具解析

    汽车CAN/LIN总线测试流程测试工具解析 汽车CAN/LIN总线系统测试的关键是测试流程
    发表于 03-19 10:44 8424次阅读

    DVR测试流程

    DVR测试流程
    发表于 01-04 13:52 0次下载

    基于Vivado HLS的Down Scaler视频系统设计

    介绍一种基于FPGA的 Down Scaler视频系统设计。
    发表于 04-11 16:41 2057次阅读
    基于Vivado HLS的Down <b class='flag-5'>Scaler</b>视频系统设计

    pcba测试流程

    PCBA测试一般根据客户的测试方案制定具体的测试流程,基本的PCBA测试流程如下:程序烧录→IC
    的头像 发表于 05-23 17:00 1.8w次阅读

    Gowin Scaler Lite Down/Up IP用户指南

    Gowin Scaler Lite Down & Up IP 用户指南主要内容包括产品概述、功 能描述、配置调用、参考设计等,旨在帮助用户快速了解 Gowin Scaler Lite Down & Up IP 的特性及使用方法。
    发表于 09-15 11:01 0次下载
    Gowin <b class='flag-5'>Scaler</b> Lite Down/Up IP用户指南

    Gowin Scaler IP用户指南

    电子发烧友网站提供《Gowin Scaler IP用户指南.pdf》资料免费下载
    发表于 09-15 09:25 3次下载
    Gowin <b class='flag-5'>Scaler</b> IP用户指南

    芯片设计里的Multi-Bit FF探究

    在现代的芯片设计里边,工程师在优化功耗和面积上无所不有其极,这里讨论的multi-bit FF 就是其中的一种方法或者称之为一种流程
    发表于 06-09 16:57 1480次阅读
    芯片设计里的<b class='flag-5'>Multi</b>-Bit FF探究

    TI AM57X FPGA MicroBlaze裸机案例开发

    此案例来源于:创龙科技测试板卡为:TISitara系列AM5728+XilinxArtix-7FPGA开发板前言本文主要介绍基于FPGA+MicroBlaze裸机案例的使用说明,适用开发环境
    发表于 05-23 16:56 10次下载

    Multi-Scaler IP的Linux示例以及Debug(上)

    本篇文章介绍了在 ZCU106 上创建 Video Multi-Scaler IP 的 AMD Vivado™ Design Tool 和 Petalinux 工程;在 ZCU106 上 Run 生成的 Image,并测试生成的图像文件,以及常见问题的 Debug。
    的头像 发表于 09-18 10:03 384次阅读
    <b class='flag-5'>Multi-Scaler</b> IP的Linux示例以及Debug(上)

    Multi-Scaler IP的Linux示例以及Debug(下)

    设置好 2022.2 Petalinux 环境。使用 2022.2 ZCU06 BSP,创建 Petalinux 工程:
    的头像 发表于 09-18 10:05 323次阅读
    <b class='flag-5'>Multi-Scaler</b> IP的Linux示例以及Debug(下)