This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS570LS0914:费用数据已损坏

Guru**** 2962430 points

Other Parts Discussed in Thread: TMS570LS0914, HALCOGEN

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1658557/tms570ls0914-fee-data-corrupted

器件型号: TMS570LS0914
主题中讨论的其他器件: HALCOGEN

尊敬的团队:

我正在处理  基于 TMS570LS0914 的应用程序、并采用以下设置:

系统配置

  • MCU: TMS570LS0914
  • 引导加载程序存在
  • 应用程序起始地址: 0x00020000
  • 工具: HALCoGen(TI 费用驱动程序)
  • 费用存储: Flash Bank 7
  • 费用配置:
    • 块数: 16
    • 块大小: 64 字节
    • 块开销: 24 字节
    • 虚拟扇区:
      • 共计:4.
      • 每个 EEPROM: 2.
    • 虚拟页大小: 8 字节
    • 变量数据集: 已启用
    • 校验和: 已启用 

观察结果

  • 无需引导加载程序
    • 应用程序正常运行
    • 费用读/写按预期工作
    • ASW(应用软件)行为正常
  • 使用引导加载程序 (APP 为 0x20000)
    • BSW 工作正常
    • 执行费用 API 时不返回明确错误
    • 但 ASW 行为变得不正确
  • 关键发现
    • 当我 禁用所有与 NVM/费用相关的参数时、ASW 将正常工作
    • 这表明问题与 影响 ASW 变量的费用数据读取/写入有关
  • 临界观察(特定于块的行为)
    • 费用有 16 个块(每个 64 字节)
    • 数据用于多个块(例如块 5 和块 6) 

 案例 1: 仅使用块 6→ASW 工作正常

 案例 2:使用 块 5 和块 6→ASW 失败

 案例 3:禁用 块 5→ASW 再次工作 

分析已完成

  • 已验证链接器配置:
    • 应用程序位于 0x00020000
    • 没有明显的 RAM 重叠
  • 费用数据存储在 银行 7
  • 行为表明:
    • 无直接崩溃或异常
    •  读取费用期间可能发生数据损坏
  • 问题似乎 与位置/布局相关、而不是特定于块内容 

  问题

  1. 这可能与以下各项有关:
    • 跨 虚拟行业边界的费用限制包装?
    •  8 字节写入粒度导致的对齐问题?
  2. 在以下情况下是否存在任何已知问题:
    • 应用程序会重定位(引导加载程序大小写)
    • 费用布局保持不变?
  3. 费用是否需要:
    • 用于垃圾收集等内部操作的额外可用空间(超出配置的块)
  4.  虚拟扇区大小可能不足、 从而导致:
    • 启用其他块(例如块 5)时是否损坏?
  5. 有关以下方面的任何已知限制:
    • 块排序
    • 块对齐
    • 还是总可用容量与配置容量之间的关系? 

此致、

Prajakta.