工具/软件:Linux
以前我使用 CMEM 创建两个16M 池。 当我将其更改为128M 时、当我尝试加载/启动 DSP 时会出现错误;请参阅下面的内容。 我可以做些什么来成功完成这项工作?
[90.080869] remoteproc2:为40800000.DSP 加电
[90.085760] remoteproc2:引导 FW 映像 dra7-dsp1-fw.xe66、大小为16233880
[90.100167] OMAP_hwmod:mu0_dsp1:_wait_target_disable 失败
[90.106067] OMAP-iommu 40d01000.MMU:40d01000.MMU:版本3.0
[90.111996] OMAP-iommu 40d020.MMU:40d020.MMU:版本3.0
[90.118014] OMAP-rproc 40800000.dsp:dma_alloc_相干 错误:134217728
[90.124705] remoteproc2:处理资源失败:-12
[90.137312] omap_hwmod:mu1_dsp1:_wait_target_disable 失败
[90.150247] OMAP_hwmod:mu0_dsp1:_wait_target_disable 失败
[90.156229] remoteproc2:rproc_boot()失败-12
[90.161225] virtio_rpmsg_bus:virtio0的探测失败,错误-12
[90.168642] remoteproc2:registered virtio0 (type 7)
CMEM 器件树分配:
保留存储器{
#address-cells =<2>;
大小单元格=<2>;
范围;
/* 0xf000_0000 - 0xf7ffff */
cmem_block_mem_0:cmem_block_mem@f0000000{
REG =<0x0 0xf0000000 0x0 0x08000000>;
无地图;
状态="正常";
};
/* 0xf800_0000 - 0xffff */
cmem_block_mem_1:cmem_block_mem@f80000{
reg =<0x0 0xf8000000 0x0 0x08000000 >;
无地图;
状态="正常";
};
};
cmem{
兼容="ti、cmem";
#address-cells =<1>;
#size-cells =<0>;
#pool-size-cells =<2>;
状态="正常";
/*池0 - DSP1的 FPGA 缓冲器*/
cmem_block_0:cmem_block@0{
reg =<0>;
memory-region =<&cmem_block_mem_0>;
cmem-buf-Pools =<1 0x0 0x08000000>;
};
/*池1 - DSP2的 FPGA 缓冲器*/
cmem_block_1:cmem_block@1{
reg =<1>;
memory-region =<&cmem_block_mem_1>;
cmem-buf-Pools =<1 0x0 0x08000000>;
};
};
内核命令行添加:
memmap=128M$0xf0000000
memmap=128M$0xf8000000
CMEM 信息:
bash-4.3# cat /proc/cmem
块0:池0:1 bufs 大小0x80000 (请求0x80000)
池0忙缓冲区:
ID 0:PHY 地址0xf0000000 (非缓存)
池0免费 bufs:
池-1免费 bufs:
块1:池0:1 bufs 大小0x80000 (请求0x80000)
池0忙缓冲区:
ID 0:phys addr 0xf8000000 (非缓存)