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.

[参考译文] AM5718:AM5718:IEP 寄存器访问导致 A15崩溃或挂起

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1240949/am5718-am5718-iep-register-access-leads-to-crash-or-hang-of-a15

器件型号:AM5718

很抱歉没有及时回复上一个问题。 我们忙于其他事情。 现在、返回到这个。

我们启用了两个 PRU、但我  我们只使用一个。 以确保计划在未来使用这两者。

重复以下上一帖子中的文本。



大家好。

我们面临的问题似乎与  
https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1016508/am5708-a15-dsp1-hangs-if-try-to-access-any-register-of-iep-of-pru-icss1-omap_l3_noc-44000000-ocp-l3-application-error-target-5-mod-1-unclearable

在执行硬件复位(下电上电)以及对 (icssEmacBaseAddressHandle->prussIepRegs + CSL_ICSSIEP_GLOBAL_CFG_REG)或  prussIepRegs 中的任何寄存器执行读取或写入时、A15挂起。

软复位时不会发生这种情况。

但是、此问题仅在大约1/20的电路板中发生。

在上述情况下您找到了解决方案吗?

感谢您的持续支持、

安德斯.

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

    确实启用了两个 PRU、但我  我们只使用一个 PRU。 以确保计划在未来使用这两者。 任何输入? 谢谢。  

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

    您好 Anders:

    这是在启用两个 PRU 时非常罕见的器件错误。 它尚未正式列入勘误表、但我已制作了一个补丁来修复它。

    该补丁实现了 对 PRU 时钟寄存器的 DMA 突发写入、该时钟寄存器已显示、可在我们所有测试以及其他客户时解决该问题。

    实施:

    1. 首先应用 TST 补丁

    e2e.ti.com/.../0001_2D00_TST_2D00_ARM_2D00_am57xx_2D00_Enable_2D00_PRUSS_2D00_clocks.patch

          2.在顶部应用 EDMA 补丁

    e2e.ti.com/.../0001_2D00_EDMA_2D00_burst_2D00_write_2D00_to_2D00_initialize_2D00_both_2D00_PRUSS_2D00_clocks.patch

    依赖项:

    该补丁从 u-boot 源码实现并使用 EDMA3驱动器。 –drivers/dma/ti-eDMA3.c

    •该驱动器的启用方式是启用 TI_QSPI、该 SPI 应在 defconfig 文件中默认启用–am57xx_evm_defconfig

    此致、

    -Josue

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

    感谢您的快速响应 。 我们可能会在下周开始射门。

    我可能需要说明的是、我们不使用 Linux (您的路径看起来像是 Linux 文件的补丁?)、而是使用 TI-RTOS。 也许您对 TI-RTOS 有类似的修复方法?

    此致、

    安德斯

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

    您好 Anders:  

    很遗憾我没有。 您可以使用补丁作为示例、了解如何通过使用 EDMA 突发写入来初始化两个 PRU 实例。 这将在时序限制(20ns)内一次写入中直接写入 PRU 时钟寄存器、只要在 使用 PRU 实例之前执行此操作、您应该不会看到此操作不再挂起。  

    它使用 EDMA 驱动程序 复制 API 将 OCMC RAM 直接写入寄存器。

    简单看一下、EDMA 传输的基础设施似乎就在那里: git.ti.com/.../edma

    希望这对您有所帮助!

    此致、

    若苏厄