简介

DSP示例包展示了如何在J6上使用DSP进行任务处理。DSP示例包中包含softamx、quantize、dequantize、centerpoint、pointpillar、slam、democaising。

各个示例主要分为ARM侧和DSP侧两部分,其中ARM侧负责准备数据然后发起调用,DSP侧负责接收ARM侧发来的任务,完成任务计算,将结果发送给ARM。

您可以体验并基于该示例进行应用开发,降低开发门槛。

dsp sample位于samples/ucp_tutorial/custom_operator/dsp_sample,代码结构如下:

+--dsp_sample
├── arm_code                    # arm侧代码
│   ├── build.sh
│   ├── centerpoint
│   ├── CMakeLists.txt
│   ├── demosaicing
│   ├── dequantize
│   ├── main.cc
│   ├── pointpillar
│   ├── quantize
│   ├── slam
│   ├── softmax
│   └── util
├── build_aarch64.sh            # linux板端编译脚本
├── build_qnx.sh                # qnx板端编译脚本
├── build_x86.sh                # 仿真编译脚本
├── dsp_code                    # dsp侧代码
│   ├── build_dsp.sh
│   ├── centerpoint
│   ├── CMakeLists.txt
│   ├── demosaicing
│   ├── dequantize
│   ├── main.cc
│   ├── pointpillar
│   ├── quantize
│   ├── slam
│   ├── softmax
│   └── util
├── README.md
├── script                      # 板端生成物
│   ├── dsp_deploy.sh
│   └── run_all_tests.sh
└── script_x86                  # 仿真生成物
    └── run_all_tests.sh

环境构建

开发板准备

拿到开发板后,确保使用推荐的系统镜像版本,以及本地开发机和开发板可以远程连接。

编译

dsp sample编译需要分别编译ARM侧与DSP侧。

  1. ARM侧需要当前环境安装好交叉编译工具,工具版本参考总览章节中的环境及工具部分。 在Linux或QNX平台下分别设置对应的环境变量LINARO_GCC_ROOT或QNX_HOST为交叉编译工具的实际安装位置;

  2. DSP侧需要当前环境安装好Cadence交叉编译工具,安装及配置具体方法可参考DSP开发文档章节中的介绍;

  3. 确认工具安装成功后,在目录下执行板端或者x86编译脚本,编译生成物分别在scriptscript_x86下。以Linux平台下编译J6E板端生成物为例,执行脚本如下:

cd dsp_sample/
bash build_aarch64.sh -p J6E

示例使用

  1. 上板运行,将script目录拷贝到板端,执行如下命令:
cd script
sh dsp_deploy.sh         # 启动DSP镜像
sh run_all_tests.sh help # 查看所有示例
sh run_all_tests.sh all  # 运行所有示例,不追加参数时默认运行所有示例
  1. x86仿真运行,执行如下命令:
cd script_x86
bash run_all_tests.sh help # 查看所有示例
bash run_all_tests.sh all  # 运行所有测试,不追加参数时默认运行所有示例