基于Atlas 200I DK A2开发者套件从0到1跑vdec_sample_20250324
###############################################################################
硬件:Altlas 200I DK A2(8T版本)
Altlas 200I DK A2开发者套件实物图:
###############################################################################
一、制卡
Altlas 200I DK A2开发者套件通过
https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/23.0.RC2/qs/qs_0005.html选择在线烧录Ubuntu22.04的镜像版本制卡后,进行以下操作
二、开发者套件具体的版本信息如下:
OS版本:Ubuntu 22.04 LTS Arm64
固件与驱动版本:23.0 RC3
CANN版本:7.0.RC1
三、sample的获取
3.1将制做好操作系统的TF卡插回到开发者套件,上电将开发者套件的eth0口通过网线连接路由器(具体IP可通过HDMI0口连接到显示器登录输入ifconfig获知,或登录路由器获知,或连接串口到开发者套件下输入ifconfig获知),其中开发者套件的eth0口,如下图所示:
3.2使用HwHiAiUser用户登录开发者套件,执行以下命令下载开源sample的代码:
mkdir -p /home/HwHiAiUser/work
cd /home/HwHiAiUser/work
git clone https://gitee.com/ascend/samples.git
执行以下命令查看环境变量、设置环境变量并确认环境变量:
echo $DDK_PATH
echo $NPU_HOST_LIB
echo $LD_LIBRARY_PATH
export HOME=/usr/local
export DDK_PATH=$HOME/Ascend/ascend-toolkit/latest
export NPU_HOST_LIB=$DDK_PATH/runtime/lib64/stub/
export LD_LIBRARY_PATH=$HOME/Ascend/ascend-toolkit/latest/runtime/lib64
echo $DDK_PATH
echo $NPU_HOST_LIB
echo $LD_LIBRARY_PATH
设置环境变量后,npu-smi info命令依然可以查询到310B4芯片:
四、sample的编译
执行以下命令编译vdec_sample:
cd /home/HwHiAiUser/work/samples/cplusplus/level1_single_api/7_dvpp/vdec_sample
mkdir build
cd build
cmake .. -DCMAKE_CXX_COMPILER=g++ -DCMAKE_SKIP_RPATH=TRUE
make
五、测试数据的准备及程序的执行
执行以下命令设置环境变量及再次查询芯片:
export LD_LIBRARY_PATH=$HOME/Ascend/ascend-toolkit/latest/runtime/lib64:$LD_LIBRARY_PATH/usr/lib64/
npu-smi info
从https://gitee.com/ascend/samples/blob/master/cplusplus/level1_single_api/7_dvpp/vdec_sample/readme.md中点击dvpp_vdec_h264_1frame_bp_51_1920x1080.h264下载dvpp_vdec_h264_1frame_bp_51_1920x1080.h264文件
将dvpp_vdec_h264_1frame_bp_51_1920x1080.h264文件拷贝到开发者套件的/home/HwHiAiUser/work/目录下:
执行命令将dvpp_vdec_h264_1frame_bp_51_1920x1080.h264文件拷贝到/home/HwHiAiUser/work/samples/cplusplus/level1_single_api/7_dvpp/vdec_sample/build目录,给vdec_demo可执行权限,然后运行它:
cp -rf /home/HwHiAiUser/work/dvpp_vdec_h264_1frame_bp_51_1920x1080.h264 /home/HwHiAiUser/work/samples/cplusplus/level1_single_api/7_dvpp/vdec_sample/build
ls
chmod +x vdec_demo
./vdec_demo --in_image_file ./dvpp_vdec_h264_1frame_bp_51_1920x1080.h264 --img_width 1920 --img_height 1080 --in_format 0 --in_bitwidth 8 --chn_num 1 --out_width 1920 --out_height 1080 --width_stride 1920 --height_stride 1080 --out_format 0 --out_image_file ./yuv_1920x1080_1frames_h264 --ref_frame_num 5 --dis_frame_num 3 --write_file 1
报错信息:
分析:
报错507033是指/dev/hisi_hdc这个设备节点普通用户没有访问权限。
解决方案是:卸载驱动,重新安装,安装时加上–install-for-all参数;或者切到root用户运行vdec_demo。
这边是切到root用户运行单路H264码流解码成功,如下图所示:
cd /home/HwHiAiUser/work/samples/cplusplus/level1_single_api/7_dvpp/vdec_sample/build
export LD_LIBRARY_PATH=$HOME/Ascend/ascend-toolkit/latest/runtime/lib64:$LD_LIBRARY_PATH/usr/lib64/
echo $LD_LIBRARY_PATH
npu-smi info
./vdec_demo --in_image_file ./dvpp_vdec_h264_1frame_bp_51_1920x1080.h264 --img_width 1920 --img_height 1080 --in_format 0 --in_bitwidth 8 --chn_num 1 --out_width 1920 --out_height 1080 --width_stride 1920 --height_stride 1080 --out_format 0 --out_image_file ./yuv_1920x1080_1frames_h264 --ref_frame_num 5 --dis_frame_num 3 --write_file 1