使用教程

该教程为LattePanda Sigma使用DX-M1加速模块运行yolov5示例教程
硬件

  • LattePanda Sigma x1
  • DX-M1 AI加速器 M.2模块 x1
  • M.2固态硬盘 x1

软件

  • ubuntu 22.04系统
  • dx_rt_npu_linux_driver_v1.8.0
  • dx_com_M1_v2.1.0
  • dx_app_v2.1.0
  • dx_rt_v3.1.0

DX-M1调试

1、更新软件和安装ssh远程控制服务器

#更新源
sudo apt-get update

#安装ssh server
sudo apt-get install openssh-server

#安装 GCC 12 
sudo apt install gcc-12 g++-12 -y

# 查看 GCC 版本
gcc --version

2、查看PCI接口信息

#查看PCI信息
lspci -v

#正常应输出类似以下信息"Processing accelerators",根据信息可以看到没有驱动信息
57:00.0 Processing accelerators: Device 1ff4:0000
        Flags: fast devsel, IRQ 255
        Memory at 6c400000 (64-bit, non-prefetchable) [disabled] [size=4M]
        Memory at 6ca00000 (32-bit, non-prefetchable) [disabled] [size=1M]
        Memory at 6c900000 (32-bit, non-prefetchable) [disabled] [size=1M]
        Memory at 6c800000 (32-bit, non-prefetchable) [disabled] [size=1M]
        Capabilities: <access denied>

#更新PCI数据库
sudo update-pciids

#显示PCI相关信息
lspci

#会得到如下信息(可以看到DEEPX的NPU已被识别)
57:00.0 Processing accelerators: DEEPX Co., Ltd. DX_M1

#解压驱动压缩包
tar -xzvf dx_rt_npu_linux_driver_v1.8.0.tar.gz

#安装构建工具
sudo apt install build-essential

#进入解压的module目录
cd dx_rt_npu_linux_driver/modules

#编译驱动
sudo ./build.sh

#正常会看到如下结果
- DEVICE        : m1
- PCIE          : deepx
- MODULE CONF   : /home/abc/wx/dx_rt_npu_linux_driver/modules/dx_dma.conf
- ARCH (HOST)   : x86_64
- KERNEL        : /lib/modules/5.15.0-67-generic/build
- INSTALL       : /lib/modules/5.15.0-67-generic/extra/

 *** Build :  ***
 $ make DEVICE=m1 PCIE=deepx -j16

make -C /lib/modules/5.15.0-67-generic/build M=/home/abc/wx/dx_rt_npu_linux_driver/modules  modules
make[1]: 进入目录“/usr/src/linux-headers-5.15.0-67-generic”
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
  You are using:           gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
  CC [M]  /home/abc/wx/dx_rt_npu_linux_driver/modules/rt/dxrt_drv.o
  CC [M]  /home/abc/wx/dx_rt_npu_linux_driver/modules/pci_deepx/dw-edma-pcie.o
  CC [M]  /home/abc/wx/dx_rt_npu_linux_driver/modules/rt/dxrt_drv_cdev.o
  CC [M]  /home/abc/wx/dx_rt_npu_linux_driver/modules/pci_deepx/dw-edma-core.o
  CC [M]  /home/abc/wx/dx_rt_npu_linux_driver/modules/rt/dxrt_drv_npu.o
  CC [M]  /home/abc/wx/dx_rt_npu_linux_driver/modules/pci_deepx/dw-edma-v0-core.o
  CC [M]  /home/abc/wx/dx_rt_npu_linux_driver/modules/rt/dxrt_drv_message.o
  CC [M]  /home/abc/wx/dx_rt_npu_linux_driver/modules/pci_deepx/dw-edma-v0-debugfs.o
  CC [M]  /home/abc/wx/dx_rt_npu_linux_driver/modules/rt/dxrt_drv_queue.o
  CC [M]  /home/abc/wx/dx_rt_npu_linux_driver/modules/pci_deepx/dw-edma-thread.o
  CC [M]  /home/abc/wx/dx_rt_npu_linux_driver/modules/rt/dxrt_drv_thread.o
  CC [M]  /home/abc/wx/dx_rt_npu_linux_driver/modules/pci_deepx/dx_util.o
  CC [M]  /home/abc/wx/dx_rt_npu_linux_driver/modules/pci_deepx/dx_cdev.o
  CC [M]  /home/abc/wx/dx_rt_npu_linux_driver/modules/pci_deepx/dx_sgdma_cdev.o
  CC [M]  /home/abc/wx/dx_rt_npu_linux_driver/modules/pci_deepx/dx_cdev_ctrl.o
  CC [M]  /home/abc/wx/dx_rt_npu_linux_driver/modules/pci_deepx/dx_cdev_events.o
  CC [M]  /home/abc/wx/dx_rt_npu_linux_driver/modules/pci_deepx/dx_sgdma.o
  CC [M]  /home/abc/wx/dx_rt_npu_linux_driver/modules/pci_deepx/dx_message.o
  LD [M]  /home/abc/wx/dx_rt_npu_linux_driver/modules/rt/dxrt_driver.o
  LD [M]  /home/abc/wx/dx_rt_npu_linux_driver/modules/pci_deepx/dx_dma.o
  MODPOST /home/abc/wx/dx_rt_npu_linux_driver/modules/Module.symvers
  CC [M]  /home/abc/wx/dx_rt_npu_linux_driver/modules/pci_deepx/dx_dma.mod.o
  CC [M]  /home/abc/wx/dx_rt_npu_linux_driver/modules/rt/dxrt_driver.mod.o
  LD [M]  /home/abc/wx/dx_rt_npu_linux_driver/modules/pci_deepx/dx_dma.ko
  LD [M]  /home/abc/wx/dx_rt_npu_linux_driver/modules/rt/dxrt_driver.ko
  BTF [M] /home/abc/wx/dx_rt_npu_linux_driver/modules/rt/dxrt_driver.ko
Skipping BTF generation for /home/abc/wx/dx_rt_npu_linux_driver/modules/rt/dxrt_driver.ko due to unavailability of vmlinux
  BTF [M] /home/abc/wx/dx_rt_npu_linux_driver/modules/pci_deepx/dx_dma.ko
Skipping BTF generation for /home/abc/wx/dx_rt_npu_linux_driver/modules/pci_deepx/dx_dma.ko due to unavailability of vmlinux
make[1]: 离开目录“/usr/src/linux-headers-5.15.0-67-generic”
 - SUCCESS
 
#安装驱动
sudo ./build.sh -c install

#正常会看到结果如下
- DEVICE        : m1
- PCIE          : deepx
- MODULE CONF   : /home/abc/wx/dx_rt_npu_linux_driver/modules/dx_dma.conf
- ARCH (HOST)   : x86_64
- KERNEL        : /lib/modules/5.15.0-67-generic/build
- INSTALL       : /lib/modules/5.15.0-67-generic/extra/

 *** Build : install ***
 $ make DEVICE=m1 PCIE=deepx install

make -C /lib/modules/5.15.0-67-generic/build M=/home/abc/wx/dx_rt_npu_linux_driver/modules  modules_install
make[1]: 进入目录“/usr/src/linux-headers-5.15.0-67-generic”
arch/x86/Makefile:142: CONFIG_X86_X32 enabled but no binutils support
  INSTALL /lib/modules/5.15.0-67-generic/extra/pci_deepx/dx_dma.ko
  SIGN    /lib/modules/5.15.0-67-generic/extra/pci_deepx/dx_dma.ko
  INSTALL /lib/modules/5.15.0-67-generic/extra/rt/dxrt_driver.ko
  SIGN    /lib/modules/5.15.0-67-generic/extra/rt/dxrt_driver.ko
  DEPMOD  /lib/modules/5.15.0-67-generic
Warning: modules_install: missing 'System.map' file. Skipping depmod.
make[1]: 离开目录“/usr/src/linux-headers-5.15.0-67-generic”
 - SUCCESS

 *** Update : /lib/modules/5.15.0-67-generic/modules.dep ***
 $ depmod -A
 $ cp /home/abc/wx/dx_rt_npu_linux_driver/modules/dx_dma.conf /etc/modprobe.d/

#重启下板子,再查下PCI信息
lspci -v

#正常应该看到如下结果,可看到驱动已正常加载
57:00.0 Processing accelerators: DEEPX Co., Ltd. DX_M1
        Flags: bus master, fast devsel, latency 0, IRQ 185
        Memory at 6c400000 (64-bit, non-prefetchable) [size=4M]
        Memory at 6ca00000 (32-bit, non-prefetchable) [size=1M]
        Memory at 6c900000 (32-bit, non-prefetchable) [size=1M]
        Memory at 6c800000 (32-bit, non-prefetchable) [size=1M]
        Capabilities: <access denied>
        Kernel driver in use: dx_dma_pcie
        Kernel modules: dx_dma

DX-COM

模型转换工具,根据*.onnx和其对应的json配置,生成对应的*.dxnn(可被NPU识别的模型)

#解压压缩包
tar -xzvf dx_com_M1_v2.1.0.tar.gz

#安装依赖包
sudo apt-get install -y --no-install-recommends libgl1-mesa-glx libglib2.0-0 

#进入解压的目录,编译即可
cd dx_com_M1_4K_v1.2.5
make
#正常的话会看到如下结果
dx_com/dx_com \
        -m sample/MobileNetV1-1.onnx \
        -c sample/MobileNetV1-1.json \
        -o sample/MobileNetV1-1
Compiling Model : 100%|████████████████████████████████████████████████████████████████████████▉| 1.0/1.0 [00:08<00:00,  8.92s/model ]
dx_com/dx_com \
        -m sample/ResNet50-1.onnx \
        -c sample/ResNet50-1.json \
        -o sample/ResNet50-1
Compiling Model : 100%|█████████████████████████████████████████████████████████████████████████| 1.0/1.0 [00:47<00:00, 47.87s/model ]
dx_com/dx_com \
        -m sample/YOLOV5-1.onnx \
        -c sample/YOLOV5-1.json \
        -o sample/YOLOV5-1
Compiling Model : 100%|████████████████████████████████████████████████████████████████████████▉| 1.0/1.0 [00:38<00:00, 38.79s/model ]

相关资料

DEEPX_DX-APP_UM_v2.0.0.pdf

DEEPX_DX-COM_UM_v2.0.0_2025_08.pdf

DEEPX_DX-RT_UM_v3.0.0.pdf

DEEPX_DX-STREAM_UM_v2.0.0.pdf

DX-AllSuite_v2.0.0.pdf

DFR1252软件下载(提取码: DFDF)

[快速入门指南] DX-M1 Raspberry Pi 5 V0.10

[视频] DXNN 介绍

[用户指南] DX-RT V2.9.5

[用户指南] DX-COM V1.60.1

[用户指南] DX-APP V1.11.0

[视频] 快速入门指南(使用 DX-Allsuite)

[用户指南] DX-Allsuite V1.0.0

[用户指南] DX-Stream V1.7.0

模型库 V2.0.0

[快速入门指南] DX-M1 Rock 5B+ V0.1.0

模型库(DX-Allsuite v2.0.0) V2.0.0