请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS570LS0432 您好!
当 PBIST 运行时(通过函数 pbistRun)、为了启用 PBIST 控制器、它将寄存器 MSTGCR=Ah 置位。 嗯、由于这是该寄存器的最后一个设置、 包含在 MSTGCR 中的字段 ROM_DIV 被设置为0h。 这意味 着 ROM 时钟源是 HCLK 除以1。 PBIST 将复位16个 VBUS 周期。 为什么要实现具有32个 VBUS 周期的 for 循环? (请参阅下面的相应代码)
void pbistRun (uint32 raminfoL、uint32 algomask) { 易失性 uint32 i = 0U; /*用户代码开始(17)*/ /*用户代码结束*/ /*禁用内存自控制器*/ systemREG1->MSTGCR = 0x00000005U; /*禁用内存初始化控制器*/ systemREG1->MINITGCR = 0x5U; /*启用 PBIST 控制器*/ systemREG1->MSINENA=0x1U; /*启用内存自控制器*/ systemREG1->MSTGCR = 0x0000000AU; /*根据 HCLK 与 VCLK 的比率至少等待32个 VBUS 时钟周期*/*SAFETYMCUSW 134 S MR:12.2 "等待几个时钟周期(I 的值未被使用)"*/ /* SAFETYMCUSW 134 S MR:12.2 "等待几个时钟周期(I 未使用的值)"*/ 对于(i=0U;i<(32U +(32U * 0U));i++){//等待*/} ...