This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS/TMDXIDK5728:DSP2的资源表冲突

Guru**** 2585275 points
Other Parts Discussed in Thread: SYSBIOS

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/593979/rtos-tmdxidk5728-resource-table-conflict-for-dsp2

器件型号: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;

有人知道发生了什么吗?

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    虽然还有几个问题、但我还是能够弄清楚这一点。
    附加文件需要使其 EXT_CODE、EXT_DATA 和 EXT_HEAP 数据长度与在自定义资源表中分配的数据长度相匹配。 在共享文件夹中 ex01_MessageQ 的 IPC 程序示例中、文件 config.bld 分配了.map 文件中显示的 DSP1和 DSP2的内存。 这些是、

    EXT_CODE 95000000 00400000 00022f70 003dd090 RW X
    EXT_DATA 95400000 03000000 00072a96 02f8d56a RW
    EXT_HEAP 98400000 00300000 00000000 00300000 RW

    由于 config.%ld 会为 DSP2分配与 DSP1相同的表条目、如下所示:

    Build.platformTable["ti.platforms.evmDRA7XX:dsp2"]=
    Build.platformTable["ti.platforms.evmDRA7XX:dsp1"];

    我对 EXT_DATA 使用了更少的 DDR、因为 DSP2在存储器卡输出中仅保留了8 MB。 CMEM 存储器映射信息也被添加到 CONFIG.BLD 中。
    这就是我最初为使该示例也适用于 DSP1和 DSP2所做的操作。 可修改 CONFIG.BRD 以允许 DSP1使用更多的保留存储器空间。 当然、也可以修改分割线。

    因此、文档中应更详细地介绍 config.bld、其中显示了如何自定义资源表以及分配链接的存储器映射的位置。
    此外、我没有在 make 文件中准确地看到 config.bld 引用的位置、因此我仍然不知道如何在示例编译目录结构之外使用。
    谢谢