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.

[参考译文] AM5716:SPL 级上的 DSP 引导

Guru**** 2596205 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/647835/am5716-dsp-boot-at-spl-stage

器件型号:AM5716

您好!

我正在按照 AM571x 技术参考3.10中的步骤尝试 在 SPL 级引导 DSP1。

POR 之后、我将 PM_DSP1_PWRSTCTRL[1:0] 电源状态设置为0x03 (开启-有效)、但 PM_DSP1_PWRST[1:0] POWERSTATEST 不会切换到 开启-有效。

是否有人可以向我详细介绍如何启动 DSP、或者是否有任何可用的参考?

谢谢!

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

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

    您好、Biser、

    我修改从 GitHub 克隆的 u-boot 的 SPL、将二进制代码加载到具有 UART3引导模式的 OCMC_RAM1中。 修改后的 SPL 工作正常、但在我设置其电源控制寄存器以将其唤醒后、DSP1保持关闭状态。 在此之前、我是否需要进行任何初始化?

    我不知道你在这里说什么"软件"。

    谢谢
    Shaoyu

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

    您好、Shaoyu、

    有关正确的上电 PRCM 序列、请参阅 AM571x TRM:

    第3.10.3.1.2.1节主序列-电源域全局初始化和设置

    此过程在 POR 或软件复位后初始化器件的电源域。

    在上电序列之前、请确保 DSP1未保持在复位状态、检查 RM_DSP1_RSTCTRL 和 RM_DSP1_RSTST 寄存器。

    [引用用户="Shaoyu Chen "]我不知道您在这里所说的"软件"是什么意思。

    建议使用最新的 AM57x PSDK (链接如下)、它附带 u-boot-spl 2017.01

    此致、
    帕维尔

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

    AM571x TRM 中还有以下信息:

    3.10.3.1.1周围模块全局初始化

    无需初始化器件内的任何周围模块。 外部电源 IC 和器件时钟应处于激活状态。

     

    您还应在上电之前启用 DSP1时钟域。 检查寄存器 CM_DSP1_CLKSTCTRL、CM_DSP1_DSP1_CLKCTRL

     

    另请检查您是否具有建议的 VDD_DSP 电源轨电压值、有关详细信息、请查看 AM571x DM。

     

    此致、
    帕维尔

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

    首先、我清除了 RM_DSP1_RSTCTRL[1] RST_DSP1、将映像复制到 DSP1_L2_SRAM (0x40800000)、但从 DSP1_L2_SRAM 读取的数据都为零。 我认为这是因为 DSP1未通电。

    根据 AM571x TRM 3.5.6.6、其显示为"在为 PD_DSP1供电时应用 DSP1的上电复位。" 这与您的建议不同。

    是否有说明如何启动 DSP 的流程图?

    此外、还启用了 DPLL_DSP。

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

    [引用 USER="Shaoyu Chen ]]根据 AM571x TRM 3.5.6.6、它显示"在 PD_DSP1上电时应用 DSP1上电复位。" 这与您的建议不同。

    我在这里不明白你的观点。 我提出了几个问题、因此不确定您究竟对哪一个有一定的怀疑。 我自己提出的任何问题都与 TRM 第3.5.6.6节没有冲突、至少符合我的理解。 您是否尝试过这些建议中的任何一项、或者您正在"收集信息"阶段?

    在全局热复位后、通过将复位的软件源置为有效、PD_DSP、PD_iva、PD_IPU2电源域保持在复位状态下。

    [引用用户="Shaoyu Chen "]是否有说明如何启动 DSP 的流程图?

    仅在第3.5.6.6节中提供上电复位序列、并在 TRM 第5.3.4.2节中提供断电/断电序列。 我们有与硬件侧相关的器件上电序列(DSP 是该序列的一部分)、请查看 AM571x DM、图5-1。 加电排序

    您还可以参考 CCS GEL 文件来检查如何启用 DSP1内核、序列中未使用 PWRSTCTRL 寄存器、仅使用 PWRSTST 验证状态。

    ccsv7/ccs_base/emulation/boards/am571x/Gel/AM571x_multicore_reset.gel

    在此 GEL 文件中、在以下函数中启用 DSP:

    AM571x_multicore_EnableAllCores()-> DSP1SSClkEnable_API ()-> DSPSSClkEnable()

    ccsv7/ccs_base/emulation/boards/am571x/Gel/AM571x_PRCM_get_Config.gel

    在此 GEL 文件中、在函数中检查 DSP 电源状态:

    PRCM_getconfig()

    此致、
    帕维尔

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

    您好、Pavel、

    感谢你的帮助。  AM571x_multicore_reset.gel 中的初始化正常!

    谢谢、

    Shaoyu