Demo参考1
前提条件
操作步骤
- 搭建hdmi_sample工具编译工程并构建工具。
- 登录Linux服务器。
- 执行如下命令,切换至root用户。
- 使用WinSCP工具或其他工具,将下载软件包获取的驱动包“Ascend-hdk-310b-npu-driver-soc_<version>_linux-aarch64.run”(若有软实时OS需求,使用驱动包Ascend-hdk-310b-npu-driver-soc_<version>_linux-rt-aarch64.run)与hdmi验证工具包“hdmi_sample.tar.gz”上传至Linux系统root用户属组目录下,如“/opt”,详细操作请参见使用WinSCP传输文件。
- 请从昇腾社区下载“Ascend-cann-nnrt_<version>_linux-aarch64.run”软件包并上传至“opt”目录下。
- 执行如下命令,进入“opt”目录。
cd /opt
- 执行如下命令,将驱动包“Ascend-hdk-310b-npu-driver-soc_<version>_linux-aarch64.run”(若有软实时OS需求,使用驱动包Ascend-hdk-310b-npu-driver-soc_<version>_linux-rt-aarch64.run)解压至“opt”的子目录“driver”下。
bash Ascend-hdk-310b-npu-driver-soc_<version>_linux-aarch64.run --noexec --extract=./driver
若有软实时OS需求,该命令为bash Ascend-hdk-310b-npu-driver-soc_<version>_linux-rt-aarch64.run --noexec --extract=./driver。
- 执行如下命令,将“Ascend-cann-nnrt_<version>_linux-aarch64.run”软件包解压至“opt”的子目录“Ascend”下。并将解压后软件包“CANN-runtime-<version>-linux.aarch64.run”解压至“opt”的子目录“cann”下。
bash Ascend-cann-nnrt_<version>_linux-aarch64.run --noexec --extract=./Ascend
bash Ascend/run_package/CANN-runtime-<version>-linux.aarch64.run --noexec --extract=./cann
- 执行如下命令,将hdmi_sample验证工具包“hdmi_sample.tar.gz”解压至“opt”目录下,生成子目录“hdmi_sample”。
tar -zxvf hdmi_sample.tar.gz -C ./
- 执行如下命令,进入“hdmi_sample”路径并创建lib文件夹。
cd hdmi_sample && mkdir lib
- 执行如下命令,将编译依赖CANN包中的库文件拷贝至“lib”目录下。
cp ../cann/runtime/lib64/libacl_vo_mpi.so ./lib && cp ../cann/runtime/lib64/libacl_hdmi_mpi.so ./lib && cp ../cann/runtime/lib64/libascendalog.so ./lib && cp ../cann/runtime/lib64/libmmpa.so ./lib
- 执行如下命令,将编译依赖驱动包中的库文件拷贝至“lib”目录下。
cp ../driver/libmid*.so ./lib/ && cp ../driver/libmpi*.so ./lib && cp ../driver/libslog.so ./lib && cp ../driver/libascend_hal.so ./lib && cp ../driver/libdevmmap.so ./lib && cp ../driver/libc_sec.so ./lib
- 执行如下命令,将编译依赖的头文件拷贝至对应目录下。
mkdir acl && cp -R ../cann/runtime/include/acl/* ./acl && cp ../cann/runtime/include/securec* ./acl
- (可选)“pictures”文件夹提供了默认图片可用于展示。若需展示自定义图片,执行以下命令,更改图片名称。
vim include/hdmi_sample_comm.h
修改“HDMI_1080P_YUNFILE_NAME”为1080P图片名称,修改“HDMI_4K_YUNFILE_NAME”为4K图片名称。修改完成后按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。默认图片名称如下所示。
- 执行如下命令,修改Makefile文件。
修改“PREFIX_DIR_SELF_DEFINED”为hdmi_sample验证工具包存放路径,CC为安装工具链中配置的交叉工具链路径。
例如:修改“PREFIX_DIR_SELF_DEFINED”为/opt,修改“CC”为/opt/compiler/toolchain/bin/aarch64-target-linux-gnu-gcc。如下所示。
按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 执行如下命令,编译hdmi验证工具,则会在当前目录下生成hdmi_sample工具。
- 运行hdmi_sample工具。
- 登录Atlas 200I A2 加速模块的环境。
- 将生成的工具与展示图片(默认可使用hdmi_sample验证工具包“pictures”文件夹中所附带的图片)上传至Atlas 200I A2 加速模块环境,例如“/opt”目录下。
- 执行如下命令,进入“/opt”目录,并增加工具的可执行权限。
cd /opt && chmod +x hdmi_sample
- (可选)若当前系统为Ubuntu,通过如下命令配置环境变量。
- 根据具体的命令格式,执行如下命令可成功可将图片投送至屏幕中。
Atlas 200I A2 加速模块提供了2路HDMI接口,分别对应HDMI0与HDMI1。
依赖源码生成的工具支持1080P和4K图片投递,帮助信息格式如下。
Usage: hdmi_sample port resolution port : Port only can be set 0 or 1, (0: hdmi0, 1: hdmi1). resolution : Resolution only can be set 0 or 1, (0: 1080P, 1: 4K).