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.

[参考译文] TMS570LC4357:SafeTI 诊断库中的标志阵列声明存在问题

Guru**** 2464780 points
Other Parts Discussed in Thread: TMS570LC4357

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/661632/tms570lc4357-problem-with-flag-array-declaration-in-safeti-diagnostic-library

器件型号:TMS570LC4357

在 TMS570LC4357上使用 SafeTI 诊断库2.4.0会导致以下声明出现问题:

布尔 sl_priv_flag_set[TESTTYPE_MAX - TESTTYPE_MIN]={0};

在 sl_priv.c 中

使用
#define TESTTYPE_MIN SRAM_ECC_ERROR_ENCERAING_1BIT = 0xA0A0
#define TESTTYPE_MAX VIM_SOFTWARE_TEST = 0xA0D9

已定义阵列
布尔 sl_priv_flag_set[0x39 = 57]
因此有效的索引范围是从[0..56]

如果设置了 VIM_SOFTWARE_TEST 的标志、例如在函数 SL_SelfTest_VIM (VIM_SOFTWARE_TEST)中、
SL_FLAG_SET (VIM_SOFTWARE_TEST)在标志数组边界之外的索引57处写入。

应更正数组声明:
布尔 sl_priv_flag_set[(TESTTYPE_MAX - TESTTYPE_MIN)+ 1]={0};

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

    我们将对此进行调查、并很快返回给您。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Dirk、

    你是对的。 我会将您的意见转发给我们的软件团队。 谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、

    我将在这里的 SafeTI Lib 源中更改它、就像在我的案例中、测试案例 SL_SelfTest_VIM (VIM_software_test)在没有更改的情况下实际上不起作用、希望它在库的下一个版本中被修复。