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.

[参考译文] AM5728:ICSS_EMAC_BasicExample 缺少内存映射

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1076274/am5728-icss_emac_basicexample-missing-memory-map

部件号:AM5728
“线程:TIDEP0074”中讨论的其它部件

尝试编译“ICSS_EMAC_BasicExample_idkAM572x_wSoCFile_m4Testproject”示例时,我遇到错误:

  • #10625没有有效的内存范围(NULL)可用于放置“PRU0_REV1_DMEM”(以及所有其它内存:PRU0_REV1_EXT,IMem,rev2dmem 等)
  • #10099-D 程序无法装入可用内存。对于“prun_REVm_DMEM/EXT/IMEM”大小为0x1000/0x2000的部分,运行定位与对齐失败

我想知道为什么我无法编译和运行示例,因为我没有触及“SDK RTOS AM57xx EVM 05.01.00.11”安装的任何内容。 因此,理论上,它应该能够编译,因为所有东西都是直接从 TI 下载的。

我使用"pdksetupenv.bat"设置环境,并使用"pdkProjectCreate.bat"创建项目文件(pdkProjectCreate.bat AM572x All Little ICSS_EMAC All M4)。 为什么我需要手动添加资源表以定义 PRU 固件的映射(ICSS_dualemac_prun.bin)。 如果我需要手动添加,你会这么善良,并告诉我正确的方向

示例来自 PDK_am572xx_1_0_12。

如果有一种更容易的方法让议会联盟通过 PRU 使用以太网端口,我想听到这种情况。 硬件已确认工作正常,因为我们可以 ping 通两个以太网接口(eth2和 eth3),并通过 ssh 与 Linux 发行版进行通信。 现在,我们希望使用 eth2和 eth3进行鹅话传送,但没有任何起点(台数0074鹅话转发示例无法打开以太网接口,因此我们只想获得工作正常的以太网接口,然后从那里开始)

此致,

伊凡

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

    伊凡,你好,

    [引用 userid="479925" url="~/support/processors-group/processors/f/processors-forum/1076274/am5728-ICSS_EMAC_basicexample-missing-memory-map"] SDK RTOS AM57xx EVM 05.01.00.11

    这是一个三年前的版本。 您可以在最新版本上尝试此方法吗?

    此致,
    帕斯  

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

    已尝试从 PDK_1_0_17构建 ICSS_EMAC 示例,并已成功构建。 如果我们在议会联盟核心上使用 pdk1_0_17,在 DSP 核心上使用 pdk1_0_12,这是否会导致任何问题(有关 MessageQ,sharedMemory,CMEM 等的问题)?

    但在试图通过 remoteproc 加载议会联盟时出现了新的错误:

    [622.103033] remoteproc remoteproc0:找不到资源表
    [622.114077] remoteproc remoteproc0:启动失败:-22

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

    如果我尝试通过调试器加载程序,则会发生以下情况:

    CCS 控制台:
    Cortex_M4_IPU1_C0:错误:(错误-1170 @ 0x0)无法访问 DAP。 重置设备,然后重试此操作。 如果错误仍然存在,请确认配置,重新启动主板电源,和/或尝试更可靠的 JTAG 设置(例如,较低的 TCLK)。 (仿真包8.1.0.00012)
    Cortex_M4_IPU1_C0:目标 CPU 停止故障:(错误-2064 @ 0x0)无法读取设备状态。 重置设备,然后重试此操作。 如果错误仍然存在,请确认配置,重新启动主板电源,和/或尝试更可靠的 JTAG 设置(例如,较低的 TCLK)。 (仿真包8.1.0.00012)

    。 。 。 。 。 。 。
    Cortex_M4_IPU1_C0:错误:(错误-1170 @ 0x0)无法访问 DAP。 重置设备,然后重试此操作。 如果错误仍然存在,请确认配置,重新启动主板电源,和/或尝试更可靠的 JTAG 设置(例如,较低的 TCLK)。 (仿真包8.1.0.00012)
    Cortex_M4_IPU1_C0:目标 CPU 停止故障:(错误-2064 @ 0x0)无法读取设备状态。 重置设备,然后重试此操作。 如果错误仍然存在,请确认配置,重新启动主板电源,和/或尝试更可靠的 JTAG 设置(例如,较低的 TCLK)。 (仿真包8.1.0.00012)
    Cortex_M4_IPU1_C0:尝试20次后无法确定目标状态
    Cortex_M4_IPU1_C0:断开连接前未能从目标中删除调试状态。 程序存储器中仍可能嵌入了断点操作代码。 建议您在连接和重新加载程序之前重置仿真器,然后再继续调试

    dmesg 输出:

    [1420.263256] OMAP-iommu 588820.MMU:IOMMU 故障:DA 0x813040f8标志0x0
    [1420.270084] remoteproc remoteproc0:58820,IPU 中检测到崩溃。mmufault 类型
    [1420.277608] OMAP-iommu 588820.MMU:588820.MMU:错误:0x00000002 da:0x813040f8 PgD:0xec05e04c * PgD:px00000000
    [1420.291117] remoteproc remoteproc0:处理5882000.IPU 中的第1次碰撞
    [1420.297641] remoteproc remoteproc0:正在恢复58820,IPU
    [1420.308626] remoteproc remoteproc0:无法取消映射5242880/0
    [1420.319761] remoteproc remoteproc0:已停止远程处理器5882000.IPU
    [1420.319771] remoteproc remoteproc0:通电58820,IPU
    [1420.319842] remoteproc remoteproc0:直接固件加载于 dra7-ipu1-fW.xem4失败,错误-2
    [1420.319852] remoteproc remoteproc0:request_firmware failed:-2

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

    伊凡

    [引用 userid="479925" url="~/support/processors-group/processors/f/processorser-forum/1076274/am5728-ICSS_EMAC_basicexample-missing-memory-map/3985619#3985619]n 尝试从 PDK_1_0_17构建 ICSS_EMAC 示例并成功构建。 如果我们在议会联盟核心上使用 pdk1_0_17,在 DSP 核心上使用 pdk1_0_12,这是否会导致任何问题(有关 MessageQ,sharedMemory,CMEM 等的问题)?

    只要没有内存冲突,您就可以在不同的内核上运行不同版本 PDK 的两个 RTOS 二进制文件。  

    [引用 userid="479925" url="~/support/processors-group/processors/f/processorser-forum/1076274/am5728-ICSS_EMAC_basicexample-missing-memory-map/3985619#3985619"],但在尝试通过遥控器加载上述示例时出现新错误:[/proc]

    但在加载 VIA Remoteproc 时,无法运行不同版本。 您应该确保使用的 Linux 版本与要从中加载二进制文件的 RTOS 版本相同。

    此致,
    帕斯

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

    帕斯您好,

    感谢您的回答。 因此,从 pdk1_0_17成功构建示例并不意味着什么,因为我必须使用 pdk1_0_12。这让我开始回答我的第一个问题:
    为什么 pdk1_0_12中的示例不可构建,以及如何修复有关 PRU 固件箱的内存地址问题。 我尝试将二进制文件十六进制,并将十六进制值存储在数组中。 然后,通过 PRUICSS_pruWriteMemory 函数将其加载到 PRU 内核上,但未发生任何情况。  

    编辑:我无法通过 CCS 调试会话从 pdk1_0_17加载示例。 如果我尝试通过 CCS 加载它,会发生以下情况:

    [25120.952954]---- [此处剪切]-------------
    [25120.952977]警告:CPU:0 PID:0 AT /mnt/sdb1/zlucic/opt/PHYTEC _BSP/Yocto_ti/build/Arago-externale-linaro-toolchain/work-shared/am572x-PCM-057-41300111i/kernel-source/bus-drivers/0x36c/inoc_clar_c+nom_ac/cp3
    [25120.952984] 44000000.OCP:L3自定义错误:主 IPU1目标 L4_PER1_P3 (空闲):在功能访问期间以 Supervisor 模式访问数据
    [25120.952988]模块链接于: rpmsg_proto cmemk(o) pvrsrvk(o) proc proc proc proc pruss_intc prdwc3 cBC ECB SHA512_generic xfrm_user unloaded SHA512_arm xfrm4_tunnel ipuss proc proc proc proc pruss_ipcrypto ahdwctio 4 SHA256_generic 4 af_key xfrm_key_crypro_bus_model voti_ac_ad_ador_adorm_adorm cmemk]
    [25120.953153] CPU:0 PID:0 Comm:swapper /0已污染:G W O 4.9.41-g61a65e1-BSP-Yocto-TISDK-AM57xx-PD18.2.0 #97
    [25120.953158]硬件名称:通用 DRA74X (平展设备树)
    [25120.953161]回波:
    [25120.953180][<c020b300>](dump_backtrace),来自[<c020b5bc>](show_stack+0x18/0x1c)
    [25120.953188] r7:00000009 R6:600f0193 R5:00000000 R4:c102f6d0
    [25120.953199][<c020b5a4>](show_stack) from [<c04c03c8>](dump_stack+0x8c/0xa0)
    [25120.953212][<c04c033c>](dump_stack) from [<c022ca20>](__warn+0xec/0x104)
    [25120.953219] r7:00000009 R6: c0bd1678 R5:00000000 R4:c1001d10
    [25120.953229][<c022c934>](_WARN),来自[<c022ca78>](WARNE_慢 路径_fmt+0x40/0x48)
    [25120.953237] R9:00000006 R8:eea1abd0 r7:c0bd1a90 R6:00000000 R5:c0bd15a4 R4:c0bd1648
    [25120.953248][<c022ca3c>](warn_slast_fmt)来自[<c04ed84c>](L3_interrupt 处理程序+0x25c/0x36c)
    [25120.953253] R3:eea1aa40 R2:c0bd1648
    [25120.953258] R4:80080003
    [25120.953270][<c04ed5f0>](L3_interrupt 处理程序),来自[<c027bf18>](__handle_irq_event_0xbpu +cx4/0x138)
    [25120.953277] R10:c101a27f R9:eea2e100 R8:00000017 r7:c1001e34 R6:00000000 R5:eea2e100
    [25120.953281] R4:eea1af40
    [25120.953292][<c027be64>](__handle_irq_event_perpu)来自[<c027bfc0>](handle_irq_event_perpu +0x24/0x60)
    [25120.953300] R10:c0e54e38 R9:c1000000 R8:ee808000 r7:00000000 R6:c1008f6c R5:eea2e100
    [25120.953304] R4:eea2e100
    [25120.953314][<c027bf9c>](handle_IRQ_EVENT_perpu)来自[<c027c03c>](handle_IRQ_EVENT_0x40/0x64)
    [25120.953319] R5:eea2e160 R4:eea2e100
    [25120.953329][<c027bffc>](handle_IRQ_event) from [<c027f6e0>](handle_fasteoi_IRQ+0xc0/0x1a4)
    [25120.953334] r7:00000000 r6:c1008f6c r5:eea2e160 r4:eea2e100
    [25120.953343][<c027f620>](handle_fasteoi_irq) from [<c027b140>](generic_handle_irq+0x2C/0x3c)
    [25120.953349] r7:00000000 R6:00000000 R5:00000017 R4:c0e54d40
    [25120.953359][<c027b114>](generic_handle_IRQ)来自[<c027b6c8>](__handle_domain_IRQ+0x64/0xbc)
    [25120.953368][<c027b664>](__handle_domain_IRQ)来自[<c0201500>](GIC_handle_IRQ+0x40/0x7c)
    [25120.953375] R9:c1000000 R8:fa213000 r7:fa212000 R6:c1001ef0 R5:fa21200c R4:c1003418
    [25120.953383][<c02014c0>](GIC_Handle_IRQ)来自[<c020c0f8>](__IRQ_Svc+0x58/0x8c)
    [25120.953388]异常堆栈(0xc1001ef0至0xc1001f38)
    [25120.953395] 1ee0:00000001 00000000 fe600000 00000000
    [25120.953402] 1f00:c1000000 c1003034 00000001 c100309c 00000000 c0e54e38 c1001f4c
    [25120.953407] 1f20:c1001f2c c1001f40 c021f760 c0208774 600f0013 ffffffff
    [25120.953415] R9:c1000000 R8:00000000 r7:c1001f24 R6:ffffffff R5:600f0013 R4:c0208774
    [25120.953432][<c020874c>](ARCH_CPU_IDLE),自[<c0860974>](default_idle_call+0x28/0x34)
    [25120.953447][<c086094c>](default_idle_call)来自[<c026cc7c>](CPU_startup_entry+0x120/0x1F4)
    [25120.953457][<c026cb5c>](CPU_startup_Entry),来自[<c085bc54>](REST 初始化+0x8c/0x90)
    [25120.953461] r7:ffffffff
    [25120.953474][<c085bbc8>](REST 初始化)来自[<c0e00d74>](start_kernel+0x3d4/0x3e0)
    [25120.953479] R5:00000000 R4:c1053040
    [25120.953487][<c0e009a0>](start_kernel) from [<80008090>](0x80008090)
    [25120.953492]--[结束轨迹7d68f36dd7141376 ]--
    [25122.169112] OMAP-iommu 588820.MMU:IOMMU 故障:DA 0x813a6cf8标志0x0
    [25122.175938] remoteproc remoteproc0:58820,IPU 中检测到崩溃。mmufault 类型
    [25122.183461] OMAP-iommu 588820.MMU:588820.MMU:错误:0x00000002 da:0x813a6cf8 PgD:0xed14204c * PgD:px00000000
    [25122.196786] remoteproc remoteproc0:处理5882000.IPU 中的第1次碰撞
    [25122.203260] remoteproc remoteproc0:正在恢复5882000.IPU
    [25122.213877] remoteproc remoteproc0:无法取消映射5242880/0
    [25122.224703] remoteproc remoteproc0:已停止远程处理器5882000.IPU
    [25122.224713] remoteproc remoteproc0:通电5882000.IPU
    [25122.224788] remoteproc remoteproc 0:直接固件加载 dra7-ipu1-fW.xem4失败,错误-2
    [25122.224798] remoteproc remoteproc0:request_firmware failed:-2

    此致,

    伊凡  

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

    伊凡,你好,

    对这一点很粗鲁。 此问题是否仍然存在?
    如果是,请强调问题的当前状态吗?

    此致,
    帕斯