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:DSP 无法访问 PRU 指令存储器

Guru**** 2550550 points
Other Parts Discussed in Thread: AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/568777/am5728-dsp-cannot-access-pru-instruction-memory

器件型号:AM5728

大家好、 我正在尝试使用 AM5728中的 CSL 库将 PRU 程序 C66x DSP 下载到 PRU。

  句柄= PRUICSS_create (cfg、PRU_num);

我无法运行此功能、因为 C66x DSP 无法访问 PRU-ICSS 的 L3_MAIN 空间(0x4B23_4000)。

我 想我没有初始化某些互连或 clk 使能寄存器。

以下是我当前的初始化信息

          地址              值

        0x4A00_98FC       0x00017102

0x4A00_9718       0x0000_0002

0x4A00_9720       0x0000_0002

我无法使用 Code Composer Studio 中的 Memory Brower 更改存储器值。

       0x4B23_4000 (PRU IRAM 全局地址) 0x0000_0000   <--无法使用内存浏览器更改此值。

我认为 DSP 目前无法访问 PRU 指令存储器。

如何 使用 L4_CFG 互连 和 PRU-ICSS 接口从端口访问 PRU IRAM 存储器?

 如果有人对此有示例代码、请告诉我。

道格

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

    您使用的是什么软件?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Code Composer Studio

    版本:6.2.0.00050
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Linux 还是 RTOS?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此时、我需要从非操作系统环境中的 C66xx DSP 下载 PRU 程序和。 我可以上传每个 PRU 程序 CCS 调试模式并运行正常、但我需要使用 C66xx DSP 管理四核 PRU 内核。 在本例中、我猜需要设置 L3和 L4_CFG 寄存器以进行 PRU 存储器访问。 如果有人有此案例的示例代码、请为我回复。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Doug、

    DSP 可以访问 PRU 指令 RAM。  有几个尝试的建议:

    请 确保通过执行以下操作(从 AM572x_multicore_reset.gel 复制)来初始化 PRU 时钟:

    WR_MEM_32 (0x4a009718、0x0);//PRUSS_1_CLKCTRL
    WR_MEM_32 (0x4a009720、0x0);//PRUSS_2_CLKCTRL

    WR_MEM_32 (0x4a009718、0x2);//PRUSS_1_CLKCTRL
    WR_MEM_32 (0x4a009720、0x2);//PRUSS_2_CLKCTRL

    2. 如果 DSP 尝试访问 PRU 指令 RAM、请确保 PRU 未运行。  当 PRU 执行代码时、IRAM 会被锁定、其他内核无法访问此存储器空间。

    此外、下面是一个快速测试、用于检查是否已正确配置 DSP 以访问 CCS 中的 PRU 存储器:

    1. 连接到 CortexA15_0内核
    2. 单击 CortexA15_0内核
    3. 在"Scripts"下拉菜单下运行以下 GEL 文件脚本: scripts -> AM572x 多核初始化-> AM572x_multicore_EnableAllCores
    4. 连接到 C66xx_DSP 内核
    5. 在 DSP 的存储器浏览器中写入0x4B234000

    此致、

    Melissa

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

    非常感谢您的友好回复。 我成功地从 CortexA15_0内核访问、但无法以相同的方式从 DSP 内核访问。
    我收到以下消息、

    CortexA15_0:GEL:执行 OnTargetConnect()时出错:目标无法读取0x4A0025F4

    AT (*(unsigned int *) 0x4A0025F4)&0xFFF)[AM572x_startup_common.gel:69]

    在 AM57xx_EVM_Initialization (0)[gpevm_am572x_mih0201.gel:54]

    在 OnTargetConnect()

    我相信这个 GEL 文件适用于 CortexA15。 DSP 内核是否具有相同的函数 GEL 文件?
    最后、我需要从 DSP 端进行访问。

    此致、
    道格