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.

[参考译文] TMS570LS3137:我计划使用 TMS570LS3137芯片提供的 SL 自检功能执行自检。

Guru**** 2534650 points
Other Parts Discussed in Thread: TMS570LS3137, TMS570LC4357

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1363046/tms570ls3137-i-am-planning-to-perform-a-selftest-using-the-sl-selftest-function-provided-by-the-tms570ls3137-chip

器件型号:TMS570LS3137
主题中讨论的其他器件: TMS570LC4357

尊敬的所有人:

我计划使用 TMS570LS3137芯片提供的 SL 自检功能执行自检。

sl_selftest.c 中包含多个函数、因此我将尝试使用这些函数创建自检例程。

对于 SRAM 和闪存测试、我只需调用函数并确认返回 true、但我不确定如何测试 CPU 和时钟。

1.首先我尝试用下面的代码测试 CPU 测试、但是不起作用。 能否检查我的编码是否正确?
-------------------------------------------------------
布尔 xBtmSdlSelfTest (void)
{
sl_Sel45V Test_Result flash_stResult;
sl_Sel45V Test_Result SRAM_stResult;
SL_STC_Config stcSelfTestConfig;

stcSelfTestConfig.stcClockDiv = 0;// STC 时钟分频器= 1
stcSelfTestConfig.intervalCount = 1;//仅一个间隔
stcSelfTestConfig.restartInterval0 = true;//从间隔0开始
stcSelfTestConfig.timeoutCounter = 0xFFFFFFFF;//超时计数器

if ((SL_SelfTest_STC (STC_run、true、&stcSelfTestConfig)=true)&&
(sl_Sel45C2 Test_Flash (FLASH_ECC_TEST_MODE_1位、true、&FLASH_stResult)= true)&&
(SL_SelfTest_SRAM (SRAM_ECC_ERROR_FORMATCHING_1bit、true、&SRAM_stResult)= true)){
返回 true;
其他{
返回 false;

-------------------------------------------------------

2.您能给我展示一些示例代码来了解时钟测试应该使用什么 API 吗?

此致、
IBLEE

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

    SL_SelfTest_STC (STC_run、true、&stcSelfTestConfig)
    我想这不是我如何使用 API? 我不能从这里继续。

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

    您好、IBLEE:

    sl_SelfTest_STC (STC_run、true、&stcSelfTestConfig)

    您正在正确调用它。

    我建议您参考以下是我为在 TMS570LC4357上运行 STC 而创建的工程。

    只需将此项目与您的项目进行比较:

    e2e.ti.com/.../3782.STC_5F00_SelfTest_5F00_LC4357.zip

    关于测试方法、请参阅以下主题中的最后一条评论、但有一条评论:

    (+) TMS570LC4357:WFI 指令未启动 LBIST 或互连自检-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    --
    谢谢。此致、
    Jagadish。

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

    尊敬的 Jagadish:

    SDL 测试中没有看门狗或时钟测试吗?

    此致、
    IBLEE

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

    您好、IBLEE:

    在 SDL 中、没有 API 可触发与时钟和看门狗相关的故障。

    对于 PLL 跳周和双时钟比较器、有应用回调。 这意味着如果存在任何这些错误、ESM 处理程序将针对这些错误调用回调例程。

    应用程序的其余部分应 包含 代码。

    --
    谢谢。此致、
    Jagadish。

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

    尊敬的 Jagadish:


    他们说在发生时钟错误时调用 ESM 处理程序、但是我怎么知道发生了错误呢? 我是否有可能知道、因为在 notification.c 中调用了此函数 esmGroup2Notification?
    那么、我应该如何将代码添加到 esmGroup2Notification 函数?

    此致、

    艾布利

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

    您好、IBLEE:

    通道编号还将作为参数传递给 ESM 通知函数:

    您可以看到 ESM 通知中的第二个参数是通道编号。

    所以、在 ESM 通知功能的定义中、您可以验证这个通道编号并可以执行相应的操作。

    例如、ESM2.24是一个看门狗中断:

    因此、在 esmGroup2Notification 函数的定义中我将为此通道读取一个数字并执行操作。

    类似地、您可以编写代码。

    --
    谢谢。此致、
    Jagadish。

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

    尊敬的 Jagadish:

    谢谢、我学到了另一件事。
    谢谢你。

    此致。

    可能是 iBlee。