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.

[参考译文] TMDS64EVM:CA53运行之前的 FLASH_RESET。

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1490659/tmds64evm-flash_reset-before-ca53-run

器件型号:TMDS64EVM
主题:AM6422中讨论的其他器件

工具/软件:

您好、TI 支持团队。

我将 MCU_PLUS_SDK_am64x_09_01_00_41与 AM6422一起使用。

我将从 SBL OSPI 开始 CR5和 CA53、
但是、我想在 CA53引导之前运行 Flash_reset (CA53由 Bootloader_runCpu 引导)。
这是可能的吗?
原因是当 CA53启动时、闪存被初始化、
因此、我想在启动和结束之前在 SBL 侧执行 Flash_reset。

特定的 SBL OSPI (main.c)代码如下。该过程是否正确?

            /* Run CPUs */
            /* Do not run M4 when MCU domain is reset isolated */
            if (!Bootloader_socIsMCUResetIsoEnabled())
            {
                if(status == SystemP_SUCCESS && (TRUE == Bootloader_isCorePresent(bootHandle, CSL_CORE_ID_M4FSS0_0)))
                {
                    status = Bootloader_runCpu(bootHandle, &bootImageInfo.cpuInfo[CSL_CORE_ID_M4FSS0_0]);
                }
            }
            if(status == SystemP_SUCCESS && (TRUE == Bootloader_isCorePresent(bootHandle, CSL_CORE_ID_R5FSS1_0)))
            {
                status = Bootloader_runCpu(bootHandle, &bootImageInfo.cpuInfo[CSL_CORE_ID_R5FSS1_0]);
            }
            if(status == SystemP_SUCCESS && (TRUE == Bootloader_isCorePresent(bootHandle, CSL_CORE_ID_R5FSS1_1)))
            {
                status = Bootloader_runCpu(bootHandle, &bootImageInfo.cpuInfo[CSL_CORE_ID_R5FSS1_1]);
            }
#if 1 // after
            /* Load the image on self core now */
            if( bootImageInfo.cpuInfo[CSL_CORE_ID_R5FSS0_0].rprcOffset != BOOTLOADER_INVALID_ID)
            {
                status = Bootloader_rprcImageLoad(bootHandle, &bootImageInfo.cpuInfo[CSL_CORE_ID_R5FSS0_0]);
            }
            Flash_reset(gFlashHandle[CONFIG_FLASH0]);
            DebugP_log("Flash reset done\r\n\r\n");
#endif // after
            if(status == SystemP_SUCCESS && (TRUE == Bootloader_isCorePresent(bootHandle, CSL_CORE_ID_A53SS0_0)))
            {
                status = Bootloader_runCpu(bootHandle, &bootImageInfo.cpuInfo[CSL_CORE_ID_A53SS0_0]);
            }
            if(status == SystemP_SUCCESS && (TRUE == Bootloader_isCorePresent(bootHandle, CSL_CORE_ID_A53SS0_1)))
            {
                status = Bootloader_runCpu(bootHandle, &bootImageInfo.cpuInfo[CSL_CORE_ID_A53SS0_1]);
            }
            if(status == SystemP_SUCCESS)
            {
#if 0 // before
                /* Load the image on self core now */
                if( bootImageInfo.cpuInfo[CSL_CORE_ID_R5FSS0_0].rprcOffset != BOOTLOADER_INVALID_ID)
                {
                    status = Bootloader_rprcImageLoad(bootHandle, &bootImageInfo.cpuInfo[CSL_CORE_ID_R5FSS0_0]);
                }
                Flash_reset(gFlashHandle[CONFIG_FLASH0]);
                DebugP_log("Flash reset done\r\n\r\n");
#endif // before

                status = Bootloader_runSelfCpu(bootHandle, &bootImageInfo);
            }
            /* it should not return here, if it does, then there was some error */
            Bootloader_close(bootHandle);
        }
    }
    

此致、

今泉清正。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Unknown 说:
    在 SBL 侧启动和完成之前的 Flash_reset。

    不确定您是否知道名为的 API:

    void flashFixUpOspiBoot (OSPI_Handle oHandle);

    如果您要重置闪存、请查看相同内容。

    此致、

    Vaibhav

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

    您好 Vaibhav Kumar

    我已确认 flashFixUpOspiBoot 函数存在。(main.c)
    但是、我不知道它在内部的作用。
    是否应该调用它而不是 Flash_RESET 函数?
    我想知道呼叫过程。

    我在以下 TT 中了解了 Prashant Shivhare 的 Flash_reset、
    现在可以从 SBL 正确启动 CR5和 CA53。
    e2e.ti.com/.../5254714

    此致、
    今泉清正。

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

    您好、

    是否应调用它而不是 Flash_reset 函数?

    仔细观察会发现、修复 API 中使用了 Flash_reset

    因此可以调用 FlashFixUpOspiBoot

    我想知道调用过程。

    最好在 Drivers_open 之后且恰好在 Board_driversOpen 之前调用 API

    I learned about Flash_reset from Prashant Shivhare in the tick,
    现在可以从 SBL 正确启动 CR5和 CA53。
    e2e.ti.com/.../5254714

    您的问题现在是否已解决?

    此致、

    Vaibhav

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

    您好、

    标记线程已关闭、因为大约一个月没有响应。

    此致、

    Vaibhav