Other Parts Discussed in Thread:TMS570LS3137
你好
关于memoryPort0TestFailNotification中断的产生原因是什么,如果产生的
需要我们用户做什么操作,编写哪些部分
Susan Yang:
您使用的是TMS570LS3137?
memoryPort0TestFailNotification用于处理从内存自测(PBIST)生成的错误。当内存发生error时,PBIST控制器都会停止执行内存自检。在此您需要读取故障状态寄存器。
根据数据手册(www.ti.com/…/tms570ls3137.pdf) Table 6-25. PBIST RAM Grouping,大多数外设的存储器是Dual Port ,而MCU SRAM是Single Port。
使用方法如下
/* CPU RAM自检失败。需要自定义处理程序检查内存故障并采取适当的下一步.*/if(pbistPortTestStatus(PBIST_PORT0) != TRUE){memoryPort0TestFailNotification(pbistREG->RGS, pbistREG->RDS, pbistREG->FSRA0, pbistREG->FSRDL0);}else if(pbistPortTestStatus(PBIST_PORT1) != TRUE){memoryPort1TestFailNotification(pbistREG->RGS, pbistREG->RDS, pbistREG->FSRA1, pbistREG->FSRDL1);}else{/* while(1) can be removed by adding "# if 0" and "# endif" in the user codes above and below */
while(1);}
}
,
whong zhao:
谢谢 你的回复
是的用的TMS57LS3137对于cpu的PBIST理解不够
1.pbist 是检测CPU的 RAM的?看CPU的存储结构 哪个地方是SRAM,没有找到
2.CPU有个自动的ECC这个不需要进行代码编写吗?
3.pbistPortTestStatus(PBIST_PORT0) 函数相当于内存自测?如果这样的话,我自己在这个函数下面安全处理 就够了 ,为什么还要用那个中断函数呢,这个中断不是自动触发的吗
4。memoryPort0Test 这个检测是通过什么机制来检测的呢