主题中讨论的其他器件:C2000WARE
大家好、
以下是客户可能需要您的帮助的问题:
将0x7800E (7:6)配置为0x2。 上电后、检查 CCS 中的0x6、结果为0x0000 0000。 这意味着测试未执行。
如何正确启动 MPOST?


配置:



配置后的0x7800E 值:

配置后0x06的值:

--
谢谢、此致
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.
大家好、
以下是客户可能需要您的帮助的问题:
将0x7800E (7:6)配置为0x2。 上电后、检查 CCS 中的0x6、结果为0x0000 0000。 这意味着测试未执行。
如何正确启动 MPOST?


配置:



配置后的0x7800E 值:

配置后0x06的值:

--
谢谢、此致
耶鲁大学
我想知道 CCS 是在连接后复位器件、还是加载活动项目等。 作为一个简单的实验、让客户在连接后执行以下操作:
1)通过在目标配置中找到适当的目标配置文件(.ccxml)、右键点击并"启动所选配置"、手动连接到目标。
2)右键点击 C28x 内核和"Connect Target"
3)从顶部工具栏上的"运行"项中单击,然后单击"重置"设备
3)从顶部工具栏的"Scripts"项目中点击"EMU Boot"并选择"Flash Boot"、我假设客户在单独尝试时使用的是闪存引导模式。 如果没有、请告诉我。
3A)这也是客户检查引导引脚是否已针对闪存引导模式或所需的任何模式正确配置的好时机
4)从顶部工具栏上的"Run"项目中单击并选择"Resume"
以上操作将模拟在仿真器已连接的情况下从闪存引导。 几秒钟后、客户可以暂停器件(通过暂停或进入 Run -> Suspend)。 现在让他们检查地址0x6处的 M0 SRAM、以查看 MPOST 是否已完成。
此致!
马修
Matthew、您好!
感谢您的答复。
我的客户遵循了您提到的流程。 发现0x6寄存器的值仍然是0000 0000。
他们还提出了新的问题:
0x4寄存器是引导模式寄存器、但是他在文档中没有找到关于这个寄存器的说明。

寄存器0x2是引导 ROM 状态寄存器。 根据进程执行后、此寄存器的值为0x0201、这意味着它没有开始任何引导。 您还可以在下图中看到、寄存器0x6的值为0000。


引导模式引脚:

Z1配置:

--
谢谢、此致
耶鲁大学
在运行 MPOST/读取状态寄存器方面存在限制、此处可能是问题所在: 1)从 MPOST 用户指南第5页顶部: 如果通过配置客户 OTP 启用、M-POST 就会在每个上电复位序列期间执行。 测试仅在上电复位期间执行、不会在其他复位(XRSn、WDRSn、调试器复位等
)期间执行。 因此客户无法在连接了调试器的情况下运行 MPOST、复位原因必须是上电复位 2)读取 M0中的状态位 -我们的所有示例都保留存储器地址0x02 - 0x0128用于引导模式状态、MPOST 状态等。 因此、客户可以在发生上电复位后连接到器件、并且应保留这些位置。 但是,在中有一个初始化。 配置为在 CCS 目标连接上发生的 GEL 文件、这将清除 M0 RAM OnTargetConnect() { *(int *)(MEMCFG_base + MEMCFG_O_DXINIT)= 0x0003;/* M0/M1存储器的 RAM 初始化*/ *(int *)(MEMCFG_BASE + MEMCFG_O_LSXINIT)=0x00F0;/* LS4..LS7存储器的 RAM 初始化*/ *(int *)(MEMCFG_base + MEMCFG_O_GSXINIT)=0x0001;/* GS0.Memory 的 RAM 初始化*/ 客户可以通过注释/删除第一行来修改 GEL 文件、从而不初始化 M0/M1。 转到"Tools->GEL Files"打开 GEL 文件对话框。 双击 GEL 文件并找到上面一行、将其删除、然后保存文件。 客户还将需要在 GEL 对话框中右键点击 GEL 文件并"重新加载" 3)完成上述操作后,客户应在0x4和0x6具有值时观察引导状态和 MPOST 状态。 我建议、执行此操作后、0x6中的值与任何列表的 MPOST 用户指南中的值都不匹配。 如果 F28002x 器件的值与应用手册中列出的值不同、我需要跟进设计。 我已经注意到、应用手册中 MPOST 状态的位置不正确。 我会在了解到有关这方面的更多信息后回复。 客户可以如上所述运行、但如果他们也看到未列出的值、请告知我。 此致! 马修
Matthew、您好!
谢谢。 客户已成功运行 MPOST 并查看了 MPOST 结果。
以下是客户运营的结果。 这些器件不使用闪存引导模式、但 SCI 引导模式:

如果 F28002x 设备的值与应用手册中列出的值不同,我需要跟进设计。
好的、我们期待您的 回复。
此外、他们还发现在4x 器件中、有关 mpost 的描述显示了时间、这在下图中指出。 如何测试2个器件发布所用的时间?

--
谢谢、此致
耶鲁大学
通过/失败代码位于 C2000Ware 下载目录 C:\ti\c2000\C2000Ware_5_01_00_00\libraries\boot_rom\f28002x\rev0\rom_sources\F28002x_rom\bootROM\include 中的 cpu1brom_pbist.h 文件中
下面是此器件的通过/失败签名;客户和我看到的传递值的正确答案
#define PBIST_ALWAYSFAIL_TIMEOUT_ERROR 0xFF00FF00U // Expected fail test did not complete #define PBIST_ALWAYSFAIL_INCORRECT_OPERATION 0xFF11FF01U #define PBIST_DOUBLEINT_TIMEOUT_ERROR 0xFF22FF02U #define PBIST_MEMORYTEST_TIMEOUT_ERROR 0xFF33FF03U #define PBIST_MEMORY_TEST_FAIL_ERROR 0xFF44FF04U #define PBIST_MEMORY_LS_INITDONE_ERROR 0xFFAAFF0AU #define PBIST_MEMORY_GX_INITDONE_ERROR 0xFFBBFF0BU #define PBIST_MEMORY_M0M1_INITDONE_ERROR 0xFFCCFF0CU #define ISOLATE_MEM_INIT_ERROR 16 #define PBIST_MASK_KEEP_ERROR_CODE_UPPER 0xFFFF0000U #define PBIST_MEMORY_TEST_IN_PROGRESS 0xFAAB1234UL // Return status while memory testing is in progress #define PBIST_MEMORY_TEST_PASS 0xFAABDEEDUL // Marker for successful completion of mem test
就 MPOST 的时间而言、这应取决于存储器大小; F28002x 的 SRAM ~1/4、因此需要~12,000,000个 INTOSC2周期@10MHz、或1.2s。
此致!
马修
Matthew、您好!
客户已找到此文件。
对于 MPOST、这应该取决于内存大小; F28002x 的 SRAM ~1/4作为 F28004x、因此这应该需要~12,000个 INTOSC2周期@10MHz、或1.2s[/引号]他们想知道这些时间是如何测量的?
--
谢谢、此致
Matthew、您好!
感谢您的 持续支持。
这是否是客户的顾虑,或对时间估计有疑问?
由于没有确切的文档说明对2x 器件进行 MPOST 测试所需的时间、客户希望自行测试时间、以便能够更好地使用该器件。
--
谢谢、此致