NXP MCU 技术论坛
直播中

世态薄凉

9年用户 1243经验值
私信 关注
[问答]

求助,关于S32k322 BIST问题求解

我的 BIST 配置有问题。
处理器 S32K322,SAF 版本: * 软件版本: 1.0.4 * 构建版本: S32_SAF_1_0_4_2023122
1. LBIST 预期值为 :
LB_MISRELSW0 = 0x73D0 53B5
LB_MISREHSW0 = 0x253B 0C27
对应于文件 “Bist_SpecificTables_S32K3XX.c” 中的值


Bist_Run (BIST_SAFETYBOOT_CFG) 之后此寄存器的值:
LB_MISRRLSW0 = 0x307A 7C25
LB_MISRRHSW0 = 0x15E4 11A4

为什么读取的值等于 S32k342 的预期值?因为这意味着 LBIST_Test 是失败的。
执行函数后:Bist_GetExecStatus() 在 Bist_Run() 之后,我得到了值BIST_INTEGRITY_FAIL



  • MBIST configuration.
MBIST 测试也有失败。 因为预期值为 : 0x0000 01F0。此值从以下位置读取:SAFETYBASE_REG_READ32(BIST_STCU_MB_END_REG(0U));,文件 Bist_General_S32K3XX.c 第 222 行。
Bist_Run后 MBIST 的值:0x0000 01FE

回帖(1)

吴凡

2025-3-26 17:57:24

针对您遇到的S32K322 LBIST测试失败问题,以下是逐步排查和解决方案:




1. 确认芯片型号配置



  • 检查编译宏定义:确保工程中正确定义了 S32K322 的宏(例如 -DDEVICE_S32K322),避免混用 S32K342 的定义。

  • 验证链接脚本:确认链接脚本(.ld 文件)是否指向S32K322的存储器布局(Flash/RAM地址范围),尤其是BIST相关段的地址。




2. 检查SAF库兼容性



  • 核对库版本:SAF 1.0.4需明确支持S32K322。检查库文件(如 Bist_SpecificTables_S32K3XX.c)的预期值是否与S32K322的参考手册一致。

  • 示例工程对比:参考NXP提供的S32K322 SAF示例工程,对比BIST配置表和代码逻辑。




3. 验证LBIST预期值



  • 查阅文档:根据S32K322参考手册的LBIST章节,确认 LB_MISRELSW0LB_MISREHSW0 的预期值是否应为 0x73D053B50x253B0C27

  • 检查代码表:检查 Bist_SpecificTables_S32K3XX.c 中是否错误引用了S32K342的预期值表。例如:
    // 确认表中定义的是S32K322的预期值
    const Bist_ExpectedResultType Bist_au32LBISTExpRes_S32K322[] = {
      0x73D053B5, 0x253B0C27  // LB_MISRELSW0, LB_MISREHSW0
    };




4. 检查时钟配置



  • 内核时钟频率:LBIST测试对时钟敏感,需确保测试时内核时钟频率与SAF库要求的配置一致(例如:80 MHz)。

  • 时钟初始化代码:确认在 Bist_Run() 前已正确初始化时钟树(例如调用 CLOCK_Init())。




5. 调试与寄存器检查



  • 实时调试:在 Bist_Run() 执行后,通过调试器直接读取以下寄存器:
    LB_MISRRLSW0 = 0x307A7C25  // 实际值
    LB_MISRRHSW0 = 0x15E411A4  // 实际值


    • 对比实际值与预期值的差异,判断是否因时钟或代码位置导致结果偏移。





6. 代码/数据段位置



  • BIST代码位置:确保BIST测试代码位于非缓存区域(如ITCM),避免因缓存一致性问题导致结果错误。

  • 链接脚本调整:强制将BIST相关代码段(如 .bist_code)链接到ITCM:
    .bist_code : ALIGN(4) {
      *(.bist_code)
    } > ITCM




7. 联系NXP支持



  • 如果问题仍未解决,请提供以下信息联系NXP技术支持

    • 完整的工程配置(编译器选项、链接脚本)。

    • Bist_SpecificTables_S32K3XX.c 中LBIST预期值表。

    • Bist_Config 结构体初始化参数。

    • 寄存器快照(LBIST相关寄存器和时钟寄存器)。





附加参考



  • S32K3xx LBIST手册章节:参考文档中的 34.4.3.2 LBIST Results 确认结果寄存器解释。

  • SAF用户指南:查阅 S32K3XX Safety Software User Guide 中的BIST配置步骤。


希望以上步骤能帮助您定位问题!

举报

更多回帖

发帖
×
20
完善资料,
赚取积分