SDSOC报错实录(1)


简单介绍:

  • 系统:ubuntu16.04.4
  • 平台:zcu102
  • 软件:SDx/SDSOC-v2018.3
  • 代码内容:图像处理
  • 文章内容:SDSOC编译过程中的可能错误,持续更新…

1.未添加硬件函数

问题1:未写入HLS语句,显示无法识别arm_neo.h内类型转换语句; \arm_neon.h:38:9: error: unknown type name’__Int8x8_t’ 图片1
回答:需要添加针对SDSCC的编译条件;

#if __SDSCC__
#undef __ARM_NEON__
#undef __ARM_NEON
#include "opencv2/opencv.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/features2d.hpp"
#define __ARM_NEON__
#define __ARM_NEON
#else
#include "opencv2/opencv.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/features2d.hpp"
#endif

2.已添加硬件函数

问题1:/tools/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-linux/bin/…/lib/gcc/aarch64-linux-gnu/7.3.1/…/…/…/…/aarch64-linux-gnu/bin/ld: warning: libopencv_highgui.so.3.4, needed by /usr/local/aarchopencv3/lib/libopencv_features2d.so, not found (try using -rpath or -rpath-link)
在这里插入图片描述
回答:该问题说明添加的库少了,需要在工程内添加缺少对应的opencv动态库。

问题2:无法调用vivado_hls,或者找不到‘_sds_sw_main‘

  • ERROR: [SdsCompiler 83-5019] Exiting sds++ : Error when calling
  • undefined reference to `_sds_sw_main’ 在这里插入图片描述
    回答:该问题主要由链接顺序导致,即SDSOC中使用的编译器对源文件进行编译和链接过程中没有按照顺序进行链接,主函数没有放在第一位导致找不到其依赖文件。因此必须让文件遵循其内在逻辑的由顶到下的原则,保证符合文件的相互依赖,具体做法是在文件命名过程中让main.cpp在字母排序中就排在第一个。

问题3:ERROR: [DMAnalysis 83-4432] An unsupported inferred interface type (ap_memory) was detected
回答:SDSOC不支持ap_memory接口,需要在函数实现前添加下列语句

#pragma SDS data access_pattern("_src.data":SEQUENTIAL, "_dst.data":SEQUENTIAL)
#pragma SDS data copy("_src.data"[0:"_src.size"], "_dst.data"[0:"_dst.size"])
#pragma SDS data mem_attribute("_src.data":NON_CACHEABLE|PHYSICAL_CONTIGUOUS)
#pragma SDS data mem_attribute("_dst.data":NON_CACHEABLE|PHYSICAL_CONTIGUOUS)

问题4:ERROR: [SYNCHK 200-11] /home/nahs/SDx_workspace/Test001/test2/src/xf_bianli.cpp:3: Argument ‘_src’ of function ‘method_accel1’ (/home/nahs/SDx_workspace/Test001/test2/src/xf_bianli.cpp:3) has an unsynthesizable type (possible cause(s): forward declared type is not supported).
回答:不清楚。。。挖坑待填

问题5:写入HLS语句后报编译错误
在这里插入图片描述
回答:SDSOC不支持硬件函数中使用cv::Mat作为参数使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值