硬件:
ZYNQMP-XCZU9EG,用的是ALINX的板子
Vivado版本:2020.1
Petalinux版本:2020.1
Vivado和Petalinux都安装在虚拟机下,虚拟机版: 17 Player
Petalinux
rootfs用的是ubuntu16
insmod nvdla和中断都正常:
opendla: loading out-of-tree module taints kernel.
[ 188.136367] Probe NVDLA config nvidia,NV-nvdla-wrapper-1.0
[ 188.142103] 0 . 12 . 5
[ 188.142116] reset engine done
[ 188.142916] [drm] Initialized nvdla 0.0.0 20171017 for 80000000.NV_nvdla_wrapper on minor 1
root@arm:/home/ubuntu/ZYNQ-NVDLA/umd# cat /proc/interrupts |grep nvdla
53: 0 0 0 0 GICv2 121 Level 80000000.NV_nvdla_wrapper
问题
在运行./out/apps/runtime/nvdla_runtime/nvdla_runtime --loadable /home/ubuntu/nvdla_loadables/lenet-mnist-caffe/fast-math.nvdla 时出现错误:
./out/apps/runtime/nvdla_runtime/nvdla_runtime`` --loadable /home/ubuntu/nvdla_loadables/lenet-mnist-caffe/fast-math.nvdla
Hello Runtime Debug
ch test:go to launchTestcreating new runtime context...
libnvdla<3> runtime sees loadable gave back 4 reloc entries
libnvdla<3> load memory list entries=17
CH TEST: hMem=eaa658, size = 8
CH TEST: create_args=ffaac4c8, size = 16
pData=ffaac544, size=4096,map_args.offset=15375840,hDlaDev->fd=4096
CH TEST: pData=ffaac544, size=4096,map_args.offset=0,hDlaDev->fd=1
CH TEST: size=4096,flags=3,MAP_SHARD=1,fd=3,offset=0,ptr=1
Failed to map memory errno=22
CH TEST: map offset 0x0,size 1,err=4096
CH TEST: pData=ffaac544, size=4096,map_args.offset=0, hDlaDev->fd==1
(DLA_RUNTIME) Error 0xffffffff: (propagating from Runtime.cpp, function loadMemory(), line 794)
(DLA_RUNTIME) Error 0xffffffff: (propagating from Runtime.cpp, function load(), line 325)
(DLA_TEST) Error 0x00000004: runtime->load failed (in RuntimeTest.cpp, function loadLoadable(), line 353)
(DLA_TEST) Error 0x00000004: (propagating from RuntimeTest.cpp, function run(), line 443)
(DLA_TEST) Error 0x00000004: (propagating from main.cpp, function launchTest(), line 88)
root@arm:/home/ubuntu/ZYNQ-NVDLA/umd#
加了些printf,怀疑是nvdla memory分配错误,但不知道怎么往下查了,请教下是否有什么建议?
system-user.dtsi文件如下:
/include/ "system-conf.dtsi"
/ {
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
nvdla_reserved: buffer@0 {
compatible = "shared-dma-pool";
no-map;
reg = <0x0 0x40000000 0x0 0x30000000>;
};
};
memory {
device_type = "memory";
reg = <0x0 0x0 0x0 0x7ff00000>, <0x00000008 0x00000000 0x0 0x80000000>;
};
};
&NV_nvdla_wrapper_0 {
compatible = "nvidia,NV-nvdla-wrapper-1.0";
memory-regin = <&nvdla_reserved>;
};
/SD/
&sdhci1 { /* FIXME - on CC - MIO 39 - 51 */
status = "okay";
no-1-8-v;
disable-wp;
};
/usb/
&dwc3_0 {
status = "okay";
dr_mode = "host";
};
/eth0/
&gem3 {
status = "okay";
};
硬件:
ZYNQMP-XCZU9EG,用的是ALINX的板子
Vivado版本:2020.1
Petalinux版本:2020.1
Vivado和Petalinux都安装在虚拟机下,虚拟机版: 17 Player
Petalinux
rootfs用的是ubuntu16
insmod nvdla和中断都正常:
root@arm:/home/ubuntu/ZYNQ-NVDLA/umd#cat /proc/interrupts |grep nvdla53: 0 0 0 0 GICv2 121 Level 80000000.NV_nvdla_wrapper
问题
在运行./out/apps/runtime/nvdla_runtime/nvdla_runtime --loadable /home/ubuntu/nvdla_loadables/lenet-mnist-caffe/fast-math.nvdla 时出现错误:
加了些printf,怀疑是nvdla memory分配错误,但不知道怎么往下查了,请教下是否有什么建议?
system-user.dtsi文件如下:
/include/ "system-conf.dtsi"
/ {
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
nvdla_reserved: buffer@0 {
compatible = "shared-dma-pool";
no-map;
reg = <0x0 0x40000000 0x0 0x30000000>;
};
};
memory {
device_type = "memory";
reg = <0x0 0x0 0x0 0x7ff00000>, <0x00000008 0x00000000 0x0 0x80000000>;
};
};
&NV_nvdla_wrapper_0 {
compatible = "nvidia,NV-nvdla-wrapper-1.0";
memory-regin = <&nvdla_reserved>;
};
/SD/
&sdhci1 { /* FIXME - on CC - MIO 39 - 51 */
status = "okay";
no-1-8-v;
disable-wp;
};
/usb/
&dwc3_0 {
status = "okay";
dr_mode = "host";
};
/eth0/
&gem3 {
status = "okay";
};