NXP MCU 技术论坛
直播中

刘勇

8年用户 1420经验值
私信 关注
[问答]

求助,关于S32K3_SPD_1.0.4_D2312软件包问题求解

S32K3_SPD_1.0.4_D2312 软件包,但在生成时遇到问题
“ 解析文件 ”C:EBtresos....NXPS32K3_SPD_1.0.4_D2312eclipsepluginsBist_TS_T40D34M10I4R0/generate_PC/src/Bist_Cfg.c (签名)“,第 107 行
XPath 表达式 “ecu:get('Bist.LBIST.SafetyBootMask')” 导致错误:(35016) 无法获取目标 CORTEXM 和派生S32K3XX的资源文件。也许这是由于模块限制。

这个错误正在显示,实际上在 s32k312 中不支持 LBIST,对吧?

回帖(1)

那年我十七_

2025-4-8 17:42:50

根据您的描述和错误信息,确实很可能是因为 S32K312 不支持 LBIST (Logic Built-In Self-Test) 导致配置工具(如 EB Tresos 或 S32DS)在生成代码时出现 XPath 解析错误。以下是逐步解决方案:




1. 确认芯片是否支持 LBIST



  • 查阅官方文档

    检查 S32K3 系列参考手册或 SPD 软件包中的 Release Notes,确认 S32K312 是否支持 LBIST。通常 LBIST 是安全相关模块,部分低端型号可能不包含此功能。

  • 替代方案

    如果您的芯片不支持 LBIST,需在配置中禁用相关功能。




2. 修改配置以禁用 LBIST



  • 在 EB Tresos/S32DS 中操作

    1. 打开 Bist 模块配置。

    2. 找到 LBIST 相关选项(如 Bist.LBIST.EnableSafetyBootMask)。

    3. 将 LBIST 配置设为 Disabled 或删除相关参数引用。

    4. 重新生成代码,观察是否仍报错。





3. 手动修复代码生成错误




  • 直接修改生成的代码(临时方案):

    定位到 Bist_Cfg.c 文件的第 107 行,注释或删除对 Bist.LBIST.SafetyBootMask 的引用。例如:


    // 原代码(报错行):
    #define BIST_SAFETY_BOOT_MASK  ecu:get('Bist.LBIST.SafetyBootMask')

    // 修改后:
    #define BIST_SAFETY_BOOT_MASK  0x0  // 手动指定默认值


  • 注意:此方法需在每次重新生成代码后重复操作,建议优先通过配置工具解决。




4. 检查 SPD 软件包兼容性



  • 确认软件包版本

    确保使用的 S32K3_SPD_1.0.4_D2312 支持 S32K312。部分 SPD 版本可能对特定芯片型号有配置限制。

  • 升级软件包

    前往 NXP 官网 检查是否有更新的 SPD 版本,或下载针对 S32K3 系列的补丁。




5. 联系 NXP 技术支持



  • 如果问题仍未解决,提供以下信息给 NXP 官方支持:

    1. 完整的错误日志。

    2. 芯片型号和 SPD 软件包版本。

    3. 项目配置文件的片段(如 .epc.arxml)。

    4. 复现步骤。





附加建议



  • 使用条件编译

    在代码中通过预处理器宏根据芯片型号选择性启用 LBIST,例如:
    #if defined(S32K344)  // 支持 LBIST 的型号
    #define BIST_SAFETY_BOOT_MASK  ecu:get('Bist.LBIST.SafetyBootMask')
    #else
    #define BIST_SAFETY_BOOT_MASK  0x0
    #endif




通过以上步骤应能解决代码生成时的 XPath 解析错误。如果仍有疑问,建议在 NXP 社区(如 NXP Community)搜索类似问题或发起讨论。

举报

更多回帖

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