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.

[参考译文] SK-AM64:软件启动的上电复位

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1234395/sk-am64-software-initiated-power-on-reset

器件型号:SK-AM64

大家好、我正在尝试从 R5内核上运行的软件启动一个加电复位。 复位后启动时、我想通过检查`CTRLMMR_MCU_RST_SRC`寄存器来验证复位源。

当我运行该测试代码时、我希望看到位25 (SW_MAIN_POR_FROM_MAIN)设置、但我看到位16 (`SW_MCU_WARMRST`)设置了:

上次复位原因:0x00010000

int main(void)
{
    System_init();
    Board_init();
    Drivers_open();
    Board_driversOpen();

    /* Show the last reset reason. Then trigger a power-on-reset */
    uint32_t reset_reason = SOC_getWarmResetCauseMainDomain();
    SOC_clearResetCauseMainMcuDomain(0xffffffff);
    DebugP_log("last reset reason: %08x \r\n", reset_reason);

    ClockP_sleep(10);
    SOC_generateSwPORResetMainDomain();


    return 0;
}

我不`S` OC_generateSwPORResetMainDomain ()`是否实际上导致了热复位、或者上电复位是否总是导致在` CTRLMMR_MCU_RST_SRC 中设置第16位、或者是否发生了其他情况。

我能否帮助了解所发生的情况?

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

    您使用的是什么 SDK/bootloader、以及哪个版本?

    "最新"(如08.06、08.05、不确定约为08.04) MCU+ SDK (SBL)和 Linux SDK (U-Boot) 应包含针对 CPSW 勘误表的权变措施、该勘误表在器件脱离冷复位后需要热复位。 也许这就是您看到的内容吗?

    此致、

    多米尼克

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

    我将使用 SDK 08.05以及随附的 OSPI SBL。

    在引导加载程序中,我可以看到你用`Bootloader_socResetWorkaround ()`描述的内容,这将解释我的症状。
    谢谢!