Multi-scaler的裸机测试流程

关注、星标公众号,精彩内容每日送达

作者:AMD intern Zhang Guanghao

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

01

IP的介绍

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

02

裸机测试 

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

       此示例支持的平台如图所示:
d01326527f5f26bfc0b0913f0ef77c6b.png

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

6b71891701c87459741ecaad25286872.png

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

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

2a30d8e9b6a6d887ae405ea5f372616b.png
打开后的Example工程如图所示

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

0f8d381b350bc4940e59ae759ab997fc.png
成功后导出包含bit流的hardware

5533321566d62d0ab5c42a58b429e455.png

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

4158ade42772c92e0c1b95cf990f3766.png

建立一个Platform工程

33d2d8c746f6a2cff6c50d64676beb7c.png

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

fdb96096e2e1eea7dfbb3d1157c127e1.png

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

484d421b14f23cd759210ea0d61b01bc.png

Build成功后再新建一个application project

81587bbda3af524a306a9500c9d1d1a3.png
这里的platform选择我们刚才生成的platform工程

443eab3ade72a9c0e0cbf59e52faead4.png

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

64dd6aea1fe682e5daf03e59b6fa570e.png

之后需要插入XILINX提供的测试代码,测试代码的路径在
<install_directory>/<release>/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会在工程中自动识别到

aed353b0dba18abf73307060aef6b14b.png
或者右击src插入,选择此文件。

0072a2e772b35a394e2b6cc4f2f8eba2.png

之后对工程进行build project

0480dd143d5e4f9108de9e4570e38fae.png

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

532d505d3b154111a64cbc0dc4925e95.png

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

99c48593493fc195267e6e67ea470882.png

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

f49f8d00c25ec86cd7c440286a9d08b7.png

之后右击工程运行即可

5160ca83427e24c1c35f9f3a7bfaad73.png

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

e0a736cd5b3f9bde95c313d613c030c6.png

在测试过程中需要注意:

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

2ebec0f99665a89c4a5b22d465cd7c74.png

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

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

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

点击“阅读原文”查看参考文档:Multi-Scaler LogiCORE IP Product Guide (PG325)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值