针对您遇到的S32K322 LBIST测试失败问题,以下是逐步排查和解决方案:
S32K322 的宏(例如 -DDEVICE_S32K322),避免混用 S32K342 的定义。.ld 文件)是否指向S32K322的存储器布局(Flash/RAM地址范围),尤其是BIST相关段的地址。Bist_SpecificTables_S32K3XX.c)的预期值是否与S32K322的参考手册一致。LB_MISRELSW0 和 LB_MISREHSW0 的预期值是否应为 0x73D053B5 和 0x253B0C27。Bist_SpecificTables_S32K3XX.c 中是否错误引用了S32K342的预期值表。例如:// 确认表中定义的是S32K322的预期值
const Bist_ExpectedResultType Bist_au32LBISTExpRes_S32K322[] = {
0x73D053B5, 0x253B0C27 // LB_MISRELSW0, LB_MISREHSW0
};Bist_Run() 前已正确初始化时钟树(例如调用 CLOCK_Init())。Bist_Run() 执行后,通过调试器直接读取以下寄存器:LB_MISRRLSW0 = 0x307A7C25 // 实际值
LB_MISRRHSW0 = 0x15E411A4 // 实际值.bist_code)链接到ITCM:.bist_code : ALIGN(4) {
*(.bist_code)
} > ITCMBist_SpecificTables_S32K3XX.c 中LBIST预期值表。Bist_Config 结构体初始化参数。S32K3XX Safety Software User Guide 中的BIST配置步骤。希望以上步骤能帮助您定位问题!
举报
更多回帖