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.
工具与软件:
您好、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 状态。 我们可以在代码中使用立即数来实现此目的;例如:
uint32_t MPOST_Status = 0; MPOST_Status = (*((volatile uint32_t *) (0x08)));
此致!
Matthew
按照以下步骤操作
1.读回 MPOST 结果、
2. memcpy (&HwbistRunStart、&HwbistLoadStart、(size_t)&HwbistLoadSize);
3.运行 HWBIST。