器件型号:TMDXIDK5728
工具/软件:TI-RTOS
似乎还有其他一些方法可以为 DSP2配置资源表,尝试使用自定义资源表。
在目标 idkAM5728板上安装 DSP1后、它会起作用。 但是、DSP2不会安装。 这些消息显示在命令 use to install DSP2、
------------------------
CD /lib/firmware
rm dra7-dsp2-fw.xe66
LN -s /lib/firmware/ipc/ipcm/server_dsp2_mod8.xe66 dra7-dsp2-fw.xe66
CD /sys/bus/platform/drivers/omap-rproc
echo 41000000.dsp >解除绑定
[24952.221267(1999) OMAP-hwmod:mu1_dsp2:_wait_target_disable 失败
[24952.234417] OMAP-hwmod:mu0_dsp2:_wait_target_disable 失败
[24952.240308] remoteproc3:已停止远程处理器41000000.dsp
[24952.247751] remoteproc3:发布41000000.dsp
echo 41000000.dsp >绑定
[24999.8025] OMAP-rproc 41000000.dsp:分配的保留存储器节点 dsp2_cma@9f000000
[24999.815857] remoteproc3:41000000.DSP 现已推出
[24999.820767] remoteproc3:注意:remoteproc 仍在开发中并被视为实验。
[24999.829767] remoteproc3:二进制格式尚未最终确定、并且尚不能保证向后兼容性。
[24999.847427] remoteproc3:为41000000.DSP 加电
root@am57xx-evm:/sys/bus/platform/drivers/omap-rproc #[24999.852682] remoteproc3:引导 FW 映像 dra7-dsp2-fw.xe66、大小4236204
[24999.871654] omap_hwmod:mu0_dsp2:_wait_target_disable 失败
[24999.877553] OMAP-iommu 41501000.MMU:41501000.MMU:版本3.0
[24999.883584] OMAP-iommu 41500.MMU:41500.MMU:版本3.0
[24999.892308] OMAP-rproc 41000000.dsp:dma_alloc_相干 错误:2097152
[24999.898695] remoteproc3:无法处理资源:-12
[24999.912976] OMAP_hwmod:mu1_dsp2:_wait_target_disable 失败
[24999.925941] OMAP-hwmod:mu0_dsp2:_wait_target_disable 失败
[24999.931827] remoteproc3:rproc_boot()失败-12
[24999.936586] virtio_rpmsg_bus:virtio3的探测失败,错误-12
[24999.942978] remoteproc3:registered virtio3 (类型7)
------------------------
DSP1和 DSP2之间的自定义资源表略有不同、因为 DSP2为其保留了8 MB、而 DSP1为56 MB。 以下资源表条目适用于 DSP1和 DSP2、
DSP1:
#define DSP_MEM_IPC_VRING_SIZE SZ_1M
#define DSP_MEM_IPC_DATA_SIZE SZ_1M
#define DSP_MEM_TEXT_SIZE (SZ_1M * 4)
#define DSP_MEM_DATA_SIZE (SZ_1M * 48)
#define DSP_MEM_heap_size (SZ_1M * 3)
#define DSP_MEM_IOBUFS_SIZE (SZ_1M * 90)
DSP2:
#define DSP_MEM_IPC_VRING_SIZE SZ_1M
#define DSP_MEM_IPC_DATA_SIZE SZ_1M
#define DSP_MEM_TEXT_SIZE (SZ_1M * 1)
#define DSP_MEM_DATA_SIZE (SZ_1M * 5)
#define DSP_MEM_heap_size (SZ_1M * 2)
#define DSP_MEM_IOBUFS_SIZE (SZ_1M * 90)
每个文件的.map 文件如下所示、
DSP1:
输出文件名:
入口点符号:"TI_SYSBIOS_family_c64p_Hwi0" 地址:95023000
存储器配置
名称 源 长度 使用 未使用 的属性 填充
------------ ---- ------ ---- ---- --------
L2SRAM 00800000 00040000 00000000 00040000 RW X
OCMC_RAM1 40300000 00080000 00000000 00080000 RW X
OCMC_RAM2 40400000 00100000 00000000 00100000 RW X
OCMC_RAM3 40500000 00100000 00000000 00100000 RW X
EXT_CODE 95000000 00400000 0002316c 003dce94 RW X
EXT_DATA 95400 000 03000000 00072ab2 02f8d54e RW
EXT_HEAP 98400000 00300000 00000000 00300000 RW
TRACE_BUF 9f000000 00060000 00008004 00057ffc RW
EXC_DATA 9f060000 00010000 00000200 0000fe00 RW
PM_DATA 9f070000 00020000 00000000 00020000 RW X
CMEM a0000000 0c000000 00000000 0c000000 rw
DSP2:
输出文件名:
入口点符号:"TI_SYSBIOS_family_c64p_Hwi0" 地址:95023000
存储器配置
名称 源 长度 使用 未使用 的属性 填充
------------ ---- ------ ---- ---- --------
L2SRAM 00800000 00040000 00000000 00040000 RW X
OCMC_RAM1 40300000 00080000 00000000 00080000 RW X
OCMC_RAM2 40400000 00100000 00000000 00100000 RW X
OCMC_RAM3 40500000 00100000 00000000 00100000 RW X
EXT_CODE 95000000 00400000 00022f70 003dd090 RW X
EXT_DATA 95400 000 03000000 00072a96 02f8d56a RW
EXT_HEAP 98400000 00300000 00000000 00300000 RW
TRACE_BUF 9f000000 00060000 00008004 00057ffc RW
EXC_DATA 9f060000 00010000 00000200 0000fe00 RW
PM_DATA 9f070000 00020000 00000000 00020000 RW X
CMEM a0000000 0c000000 00000000 0c000000 rw
正如您看到的、EXT_CODE、EXT_DATA 和 EXT_HEAP 长度完全匹配、这两个长度对于 DSP2保留存储器来说太大了。
CMEM 也在使用中。
在 DSP2 MainDsp2.c 程序中,输入了资源表的绝对路径,以尝试避免使用错误的路径,如下所示:
#include "/home/user01/ti/ipc_3_44_00_00/examples/DRA7XX_linux_elf/ex02_messageq/dsp2/rsc_table_dsp.h
DSP2.cfg 中包含以下行以覆盖默认资源表、
VAR 资源= xdc.useModule('ti.ipc.remoteproc.Resource');
resource.customTable = true;
有人知道发生了什么吗?
谢谢