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.

[参考译文] TDA4VH-Q1:DMA DRU 通道

Guru**** 2393725 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1494064/tda4vh-q1-dma-dru-channels

器件型号:TDA4VH-Q1
主题中讨论的其他器件:SysConfig

工具与软件:

您好、TI 团队

我可以看到以下是 j784s4_evm 板中的默认设置、

#extended Tx 通道 DRU 计数                                  

C7X_0_1 -                                                                  8.                              

C7X_1_1、                                                                  8.                          

C7X_2_1                                                                  6.                             

C7X_3_1                                                                  4.                          

#Ring 加速器自由环计数                              

C7X_0_1                                                                  10.                           

C7X_1_1、                                                                  20.                               

C7X_2_1、                                                                  16.                              

C7X_3_1                                                                  13.       

我正在尝试打开8个 DRU 通道、

5个 DRU DMA 通道我可以成功打开、

而当我尝试打开第6频道,我得到  

Mar 7 17:29:54 j784s4-evm [16.342878][C7x_1 ][udma]
Mar 7 17:29:54 j784s4-evm [ 16.342888][C7x_1 ][Error] CQ 环分配失败!!!

什么可以是原因,有没有足够的 CQ 环,我可以看到的值是10

我尝试输出 print 语句时会发生这种情况  

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

    您好!

    是的、它已耗尽 CQ 环、您需要为此核心分配更多环。  

    此致、

    Brijesh

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

    您好!

    感谢您的响应、

    我使用了 SysConfig 工具更改和生成一组文件、

    现在将如何使用这些文件?

    我使用的是 SDK 9.2  

    在 PDK 中,我需要构建所有库吗?? 或者只是 sciclient 库?

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

    尊敬的 Gowtham:

    您是否使用 SBL 引导流程? 然后、您需要生成 sciclient_boardCfg.c 文件、然后需要复制到 PDK、并按照以下链接中所述的步骤进行操作。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1097038/faq-tda4vm-workflow-and-resource-allocation-build-flow-for-sysconfig-tool

    我认为对于 SPL 引导流程、 过程中会有细微的变化。 我认为它可以生成 rm_cfg.xml 文件、该文件需要复制到 uboot、然后需要重新生成 uboot。  

    此致、

    Brijesh

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

    您好!  

    感谢您的响应、

    我们如何找到遵循的引导过程、映像由客户端提供。  

    所以,我不知道他们在那里面做了什么!

    U-Boot SPL 2023.04-脏(2025年4月1日- 15:11:15 +0530)
    TI_i2c_eeprom_am6_get:忽略记录 ID 255
    TI_i2c_eeprom_am6_get:忽略记录 ID 255
    TI_i2c_eeprom_am6_get:忽略记录 ID 255
    TI_i2c_eeprom_am6_get:忽略记录 ID 255
    TI_i2c_eeprom_am6_get:忽略记录 ID 255
    TI_i2c_eeprom_am6_get:忽略记录 ID 255
    TI_i2c_eeprom_am6_get:忽略记录 ID 255
    TI_i2c_eeprom_am6_get:忽略记录 ID 255
    TI_i2c_eeprom_am6_get:忽略记录 ID 255
    TI_i2c_eeprom_am6_get:忽略记录 ID 255
    SYSFW ABI:3.1 (固件版本0x0009 '9.2.4--v09.02.04 (Kool Koala)')
    SPL 初始堆栈使用:13456字节
    尝试从 MMC2引导
    警告:在 GP 设备上检测到映像签名证书。 跳过证书以防止启动失败。 如果映像也已加密、此操作将失败
    警告:在 GP 设备上检测到映像签名证书。 跳过证书以防止启动失败。 如果映像也已加密、此操作将失败
    警告:在 GP 设备上检测到映像签名证书。 跳过证书以防止启动失败。 如果映像也已加密、此操作将失败
    警告:在 GP 设备上检测到映像签名证书。 跳过证书以防止启动失败。 如果映像也已加密、此操作将失败
    警告:在 GP 设备上检测到映像签名证书。 跳过证书以防止启动失败。 如果映像也已加密、此操作将失败
    随处加载环境... 好的
    在 ARM64内核上启动 ATF。。。

    注意:BL31:v2.10.0 (发布):v2.10.0-367-g00f1ec6b87-dirty
    通知:BL31:创建时间:2024年2月9日16:09:05
    I / TC:
    i/UTC1:OP-TEE 版本:4.1.0-51-g012cdca49 (TC 版本11.4.0 (GCC))#1星期二1月30日10:48:03 UTC2024 AArch64
    I/OP-TEE TC:警告:此 OP-TEE 配置可能不安全!
    I / TC:警告:请检查 optee.readthedocs.io/.../porting_guidelines.html
    I/CPU:主 TC 正在初始化
    I/GIC:未提供 TC 分销商基地址
    I/GIC:假定缺省 TC 组状态和修改键
    I/SYSFW TC:3.1 (固件版本0x0009 '9.2.4--v09.02.04 (Kool Koala)')
    I/Huk:TC 已初始化
    I/SA2UL:已激活 TC 器件
    I/SA2UL:修复 GP 设备的 TC 防火墙所有者
    I/TRNG:为 SA2UL TC 器件启用了防火墙
    I/TRNG:SA2UL TC 已初始化
    I/SA2UL:TC 驱动程序已初始化
    I/CPU:主 TC 切换到正常全局启动

    U-Boot SPL 2023.04-脏(2025年4月1日- 15:11:12 +0530)
    SYSFW ABI:3.1 (固件版本0x0009 '9.2.4--v09.02.04 (Kool Koala)')
    尝试从 MMC2引导
    警告:在 GP 设备上检测到映像签名证书。 跳过证书以防止启动失败。 如果映像也已加密、此操作将失败
    警告:在 GP 设备上检测到映像签名证书。 跳过证书以防止启动失败。 如果映像也已加密、此操作将失败


    U-Boot 2023.04-脏(2025年4月1日- 15:11:12 +0530)

    SoC:J784S4 SR1.0 GP
    模型:德州仪器(TI) J784S4 EVM
    电路板:J784S4X-EVM 版本 E5
    DRAM:2GiB (有效32GiB)
    IDLE-STATES 内核:91个器件、33个 uClasses、devicetre:单独
    闪存:SPI_NAND@0:找到 Winbond SPI NAND。
    spi_nand nand@0:128mib、块大小:256KiB、页大小:4096、OOB 大小:128
    0字节 MMC:MMC@4f80000:0、MMC@4fb0000:1| Minicom 2.8 | VT102 |离线| ttyUSB0从哪里加载环境... 好的
    输入:串行@2880000
    输出:串行@2880000
    ERR:串行@2880000
    am65_cpsw_nuss 以太网@46000000:K3 CPSW:nuss_ver:0x6BA02102 cpsw_ver:0x6BA82102 ALE_ver:0x00293904端口:1 MDIO_freq:1000000
    NET:eth0:以太网@460000v00port@1
    按任意键以停止自动引导:0
    切换到分区#0、好
    mmc1是当前器件
    器件1上的 SD/MMC
    无法加载"boot.scr"
    1747字节在22ms 内读取(77.1 KiB/s)
    从 uEnv.txt 加载 env
    正在从 mmc1导入环境...
    正在运行 uenvcmd ...
    GPIO:引脚 GPIO@22_17 (GPIO 188)值为1
    GPIO:引脚 GPIO@22_16 (GPIO 187)值为0
    k3_r5f_rproc r5f@41000000:内核1已在使用中。 rproc 命令不起作用
    无法加载"/lib/firmware/j784s4-mcu-r5f0_1-fw "
    478760字节在32 ms (14.3 MiB/s)内读取
    将远程处理器2加载数据@addr=0x82000000 478760字节:成功!
    322804字节在30毫秒内读取(10.3 MiB/s)
    将数据@addr=0x82000000 322804字节加载到远程处理器3中:成功!
    在28ms (5.1MiB/s)内读取150752字节
    将远程处理器4加载到 DATA@addr=0x82000000 150752字节:成功!
    在28ms (5.1MiB/s)内读取150752字节
    将远程处理器5加载到 DATA@addr=0x82000000 150752字节:成功!
    478460字节在32 ms (14.3 MiB/s)内读取
    将远程处理器6加载到 DATA@addr=0x82000000 478460字节:成功!
    在28ms (5.1MiB/s)内读取150752字节
    将 DATA@addr=0x82000000 150752字节加载远程处理器7:成功!
    在188毫秒内读取15605624字节(79.2MiB/s)

    将远程处理器8加载到 DATA@addr=0x82000000 15605624字节:成功!
    18555880字节读取时间为219毫秒(80.8 MiB/s)
    将 DATA@addr=0x82000000 18555880字节加载到远程处理器9:成功!
    18555880字节读取时间为218毫秒(81.2 MiB/s)
    将远程处理器10加载到 DATA@addr=0x82000000 18555880字节:成功!
    18555880字节读取时间为219毫秒(80.8 MiB/s)
    将远程处理器11加载到 DATA@addr=0x82000000 18555880字节:成功!
    19376640字节在225ms (82.1MiB/s)内读取
    114029字节在27ms (4MiB/s)内读取
    工作 FDT 设置为88000000
    在25ms 内读取13362字节(521.5 KiB/s)
    无法加载"/boot/dtb/ti/k3-j721s2-evm-fusion.dtbo "
    无法加载"/boot/dtb/ti/k3-fpdlink-Neducam25-cam-0.dtbo "
    无法加载"/boot/dtb/ti/k3-fpdlink-Neducam25-cam-1.dtbo "
    ###平展设备树在88000000时出现斑点
    使用0x88000000的 FDT blob 进行引导
    工作 FDT 设置为88000000
    错误:保留 FDT 存储器区域失败(addr=880000000 size=80000000 flags=4)
    正在将设备树加载到000000008fee1000、结束000000008fffff ...确定
    工作 FDT 设置为8fee1000

    正在启动内核...

    [ 0.000000]在物理 CPU 上引导 Linux 0x0000000000 [0x411fd080]
    [ 0.000000] Linux 版本6.1.80-ti-g2e423244f8c0 (OE-user@OE-host)(AArch64-OE-LINUX-gcc (GCC) 11.4.0、GNU ld (GNU binutils) 2.38.20220708)#1 SMP 抢占 Wed Mar 20 14:43:33 UTC 2024
    [ 0.000000]机器模型:德州仪器(TI) J784S4 EVM
    [ 0.000000] earlycon:ns16550a0 at MMIO32 0x0000000002880000 (选项"")
    [ 0.000000] printk:启动控制台[ns16550a0]已启用
    [ 0.000000] EFI:找不到 UEFI。
    [ 0.000000]保留内存:在0x00000000a0000000处创建了 DMA 内存池、大小为1 MiB
    [ 0.000000] of:reserved mem:initialized node vision-apps-r5f-dma-memory@a0000000、compatible id shared-dma-pool
    [ 0.000000]保留内存:在0x00000000a0100000处创建了 DMA 内存池、大小为15MiB
    [ 0.000000] of:reserved mem:initialized node vision-apps-r5f-memory@a0100000、compatible id shared-dma-pool
    [ 0.000000]保留内存:在0x00000000a1000000创建了 DMA 内存池、大小为1MiB
    [ 0.000000] of:reserved mem:initialized node vision-apps-r5f-dma-memory@a1000000、compatible id shared-dma-pool
    [ 0.000000]保留内存:在0x00000000a1100000处创建了 DMA 内存池、大小为15MiB
    [ 0.000000] of:reserved mem:initialized node vision-apps-r5f-memory@a1100000、compatible id shared-dma-pool
    [ 0.000000]保留内存:在0x00000000a2000000创建了 DMA 内存池、大小为1MiB
    [

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

    请咨询您的客户端、了解他们正在使用哪种引导流程。 我们无法从该日志中弄清楚。  

    此致、

    Brijesh

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

    感谢您的响应、

    在替换 rm_cfg.xml 后、能够增加 DMA DRU 通道、并使用顶级 Makefile 重新生成 u-boot、生成 u-boot  

    我坚持住了  

    DRU DMA 通道-> 7、7、6、6

    RA 环-> 15、15、15、14

    对于 C7x_0内核、我能够打开7个 DMA 通道、而对于 C7x_1、我无法打开5个通道、 从 uDMA 驱动程序代码打印时不会发生错误。  

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

    尊敬的 Gowtham:

    但您是否在 C7x 上使用 TIDL?  TIDL 将使用其中的许多 DRU 通道、为什么需要在 C7x 上使用 DRU 通道? 如何确保 TIDL 与您分配的通道之间不存在冲突?  

    此致、

    Brijesh

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

    否、我不使用 TIDL、  

    我正在使用 uDMA 通道将数据从 DDR 复制到 L2

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

    但是、您是否在 C7x 上加载了事件 TIDL、即使您不使用它也是如此? 如果没有、有多少个 DRU 通道分配给 C7x?

    此致、

    Brijesh  

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

    您好、感谢您的响应、它能够  为 C7x_0和 C7x_1打开8个 DRU 通道、

    生成 rm_cfg.yml 并重新生成 u-boot。

    是否有针对 uDMA 的分析图???

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

    我们在数据表中提供了一些独立的数字、因此请查看 数据表中的性能数字。  

    此致、

    Brijesh