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.

[参考译文] TMS570LC4357:LBIST 期间 CPU 复位

Guru**** 2610005 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/761444/tms570lc4357-cpu-reset-during-lbist

器件型号:TMS570LC4357

您好!

我对 LBIST 期间的 CPU 复位有一些问题

《TMS570技术参考手册》(第10.9.1章示例:STC1自检运行)

-->如果在 STC1段0自检期间以并行方式配置两个内核(SEG0_CORE_SEL = 0x0), 则自检结束时只有1个或2个 CPU 复位?
-->如果 CPU 复位,会发生什么情况:所有 TMS 都被重置,或者只有内部 ARM 内核?
-->如果只重置 ARM 内核,FPROM 中的软件在 CPU 复位后从地址0x0开始?


 10.10章(自检控制器诊断)

-->对于步骤2、3、4或5,在每个自检完成后是否有 CPU 复位?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    在自检结束时、STC 生成 CPU 复位(而不是系统复位)。 CPU 将从复位矢量0x00000000重新开始执行。

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

    我的问题的第二部分涉及 Seltest 控制器诊断和以下程序(技术参考手册第10.10章):

    "第1步:在 STCGCR0寄存器中将间隔计数配置为1。

    段0
    步骤2:启用 STCSCSCR 寄存器中的 self_check_key 和 fault_ins 位、并启动
    通过启用段0的第一个间隔进行自检。 完成自检后、TEST_FAIL 位将为
    在 STCGSTAT 寄存器中置位。 检查 STCFSTAT 寄存器中的 FSEGID 位是否被设置为00。
    根据段0配置(并行或独立内核)、Core1_FAIL 或
    将设置 CO2_FAIL 位。
    步骤3:禁用 STCSCSCR 寄存器中 self_check_key 和 fault_ins 位中的一个或两个。
    然后通过将 STCGCR0寄存器的位0编程为1来重新启动自检。 完成后
    TEST、STCGSTAT 寄存器中的 TEST_FAIL 位将被清除。

    段1 (仅适用于 STC1)
    步骤4:配置 STCSEGPLR 寄存器中的 SEGID_LOPAD 位来选择段1的第一个间隔。
    将 STCGCR0寄存器中的 RS_CNT 位配置为1。 这将从的第一个间隔开始自检
    所选段。 自检完成后、STCGSTAT 寄存器中的 TEST_FAIL 位将被置位。
    检查 STCFSTAT 寄存器中的 FSEGID 位是否被设置为01。
    步骤5:禁用 STCSCSCR 寄存器中 self_check_key 和 fault_ins 位中的一个或两个。
    然后通过将 STCGCR 寄存器的位0编程为1来重新启动自检。 在测试完成后、
    STCGSTAT 寄存器中的 TEST_FAIL 位将被清除。"


    -->没有提到 Step2或 Step4中有 CPU 复位。 是否有 CPU 复位?

    此致、

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

    我的问题的第二部分涉及 Seltest 控制器诊断和以下程序(技术参考手册第10.10章):

    "第1步:在 STCGCR0寄存器中将间隔计数配置为1。

    段0
    步骤2:启用 STCSCSCR 寄存器中的 self_check_key 和 fault_ins 位、并启动
    通过启用段0的第一个间隔进行自检。 完成自检后、TEST_FAIL 位将为
    在 STCGSTAT 寄存器中置位。 检查 STCFSTAT 寄存器中的 FSEGID 位是否被设置为00。
    根据段0配置(并行或独立内核)、Core1_FAIL 或
    将设置 CO2_FAIL 位。
    步骤3:禁用 STCSCSCR 寄存器中 self_check_key 和 fault_ins 位中的一个或两个。
    然后通过将 STCGCR0寄存器的位0编程为1来重新启动自检。 完成后
    TEST、STCGSTAT 寄存器中的 TEST_FAIL 位将被清除。

    段1 (仅适用于 STC1)
    步骤4:配置 STCSEGPLR 寄存器中的 SEGID_LOPAD 位来选择段1的第一个间隔。
    将 STCGCR0寄存器中的 RS_CNT 位配置为1。 这将从的第一个间隔开始自检
    所选段。 自检完成后、STCGSTAT 寄存器中的 TEST_FAIL 位将被置位。
    检查 STCFSTAT 寄存器中的 FSEGID 位是否被设置为01。
    步骤5:禁用 STCSCSCR 寄存器中 self_check_key 和 fault_ins 位中的一个或两个。
    然后通过将 STCGCR 寄存器的位0编程为1来重新启动自检。 在测试完成后、
    STCGSTAT 寄存器中的 TEST_FAIL 位将被清除。"


    -->没有提到 Step2或 Step4中有 CPU 复位。 是否有 CPU 复位?

    此致、

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

    您好!

    CPU 复位的产生方式如下:

    -在 Misr 失配之后;

    -时间间隔完成时。

    此致、

    米罗