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.

[参考译文] TMS320F28P659DK-Q1:MPOST 出现故障

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1401662/tms320f28p659dk-q1-mpost-failed

器件型号:TMS320F28P659DK-Q1
Thread 中讨论的其他器件:C2000WARE

工具与软件:

您好、TI 专家:

  当 通过更改 OTP 启用 MPOST 时。 和没有 HWBIST 集成在 CPU1中。

MPOST 测试通过。

Volatile uint32_t * MPOST_uint32_t Result_Register =(uint32_t *) 0x00000008;

(* MPOST_FAABDED Result_Register)= 0xFAABDED 的返回值

   但在与 HWBIST 测试一起集成在 CPU1中之后。

Volatile uint32_t * MPOST_uint32_t Result_Register =(uint32_t *) 0x00000008;

我们得到了(* MPOST_FF692902)== Result_Register 的返回值

未在  C:\ti\c2000\C2000Ware_5_01_00_00\libraries\boot_rom\f28P65x\rev0\rom_sources\CPU1\f28P65x_rom\bootrom\include\cpu1brom_pbist.h 中列出的器件

问题:这个返回值的含义是什么?

为什么会发生这种情况?

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

    在检查 cmd 文件之后。

    HWBIST (:origin = 0x000000、length = 0x000020)和 * MPOST_HWBIST= Result_Register (uint32_t *) 0x00000008之间似乎存在地址冲突;

      /* HWBIST 复位上下文恢复代码必须放置在0x0000 */处

    如何处理此冲突?

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

    回复并更新我们的讨论。  由于 HWBIST 是作为主应用程序的一部分调用的、因此我们应在调用 Preps for HWBIST 或 HWBIST 本身的 memcpy 函数之前、从地址0x0008保存 MPOST 状态。  我们可以在代码中使用立即数来实现此目的;例如:

    Fullscreen
    1
    2
    3
    uint32_t MPOST_Status = 0;
    MPOST_Status = (*((volatile uint32_t *) (0x08)));
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    此致!
    Matthew

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

    按照以下步骤操作

    1.读回 MPOST 结果、

    2. memcpy (&HwbistRunStart、&HwbistLoadStart、(size_t)&HwbistLoadSize);

    3.运行 HWBIST。