这段时间帮客户调了几个基于 FMQL100TAI 的实时图像处理项目,都是跑天脉操作系统,中间踩了不少坑,也总结了一些实用的调试技巧,整理出来给做同类项目的朋友做个参考。我们项目里用的是西安威嵌神州的 FMQL100TAI 开发套件,下面的经验都是基于这款板子实际测试总结,同平台的朋友都可以参考。

先说说环境搭建,复旦微这款片子的 PS 和 PL 端开发是分开的,PS 端跑天脉系统,PL 端做逻辑和接口扩展。建议先跑通官方的基础实时例程,确认系统启动、时钟、DDR 都正常,再逐步叠加 AI 和视频功能,不要一上来就把所有功能堆上去,出问题很难定位。西安威嵌神州这款套件配套的例程分的很细,按步骤走能省不少搭环境的时间。

然后是 AI 推理调试,天脉系统下调用 AI 加速引擎,要特别注意内存地址的对齐问题,PL 端和 PS 端的共享内存如果没对齐,很容易出现推理结果异常或者直接卡死。我们一般会把输入输出缓冲区都放到 PS 端的专属 DDR 区域,地址按 128 字节对齐,稳定性会提升很多。还有 SDI 输入转 HDMI 输出的链路,VPU 的硬编解码参数要和输入分辨率严格匹配,不然容易出现花屏或者帧率上不去的情况。

高速接口这块,很多人用 RapidIO 做两块板子互联,经常碰到传输出错的问题。除了检查硬件链路,还要注意两端的参考时钟频率必须一致,FMQL100TAI 的 PL 端时钟可以灵活配置,建议统一用 100MHz 差分时钟,出错概率会低很多。

最后提一句量产衔接的问题,这款开发板和量产核心板是同源设计,开发板采用低成本架构,硬件配置和上装量产产品完全对齐,在开发板上调通的驱动、算法和应用逻辑,后期可以直接平移到量产板上,不用再做大规模的软件移植,项目转量产的时候能省很多事。有同款板子调试遇到问题的朋友,也可以联系西安威嵌神州交流技术细节。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐