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.

[参考译文] TMS570LS1224:TI 安全 SL 库

Guru**** 2609285 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/753156/tms570ls1224-ti-safety-sl-library

器件型号:

尊敬的所有人:

对于 Hercules 安全库(SL 库) API 的使用有一些问题。
使用 TMS570LS1224PGE Launchpad XL2并添加安全库(使用版本2.3.1)以记录故障。


1) 1)调用 sl_Log_Error 后的故障日志如何存储在 txt 文件中或输出到 comm(UART)端口?
在 sl_log.h 中、提到了 sl_Log_Result "应用程序稍后可以使用此缓冲区(&codes)来调试函数调用的结果"
调用此缓冲区的(&codes)示例在哪里?

2) 2)在 sys_startup.c 文件内的 example_SafetyLib.c 之后
当发生故障时、有许多自检会用到 while (1)、  

例如、 /*在 TCM RAM 上运行1位 ECC 测试*/
RetVal = sl_SelfTest_SRAM (SRAM_ECC_ERROR_ENCED_1BIT、TRUE、failInfoTCMRAM);
if (RetVal == false) while (1);

是否假设用户替换为我们的故障记录/处理、因为'while (1)'只挂起系统、什么也不做??

3) 3)存在一个 void esmCallBackFunction (uint32 grp_channel、uint32 param1、uint32 param2、uint32 paramM3)函数、该函数在 sys_startup.c 中为空
但 ESM_application_callback.c 中有代码、应该是要使用的代码
或者应该将 ESM_application_callback.c 中的代码集成到 sys_startup.c 中吗?

如果可以提供更多有关如何使用安全库 API 的链接或代码示例、不胜感激?


谢谢、
Benjamin

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

    [引用用户="Benjamin tan"]

    器件型号: TMS570LS1224

    尊敬的所有人:

    对于 Hercules 安全库(SL 库) API 的使用有一些问题。
    使用 TMS570LS1224PGE Launchpad XL2并添加安全库(使用版本2.3.1)以记录故障。


    1) 1)调用 sl_Log_Error 后的故障日志如何存储在 txt 文件中或输出到 comm(UART)端口?
    在 sl_log.h 中、提到了 sl_Log_Result "应用程序稍后可以使用此缓冲区(&codes)来调试函数调用的结果"
    调用此缓冲区的(&codes)示例在哪里?

    [/报价]

    请检查 sl_log.c 中的实现 建议在开发中使用、您可以使用 JTAG 转储此缓冲器的存储器内容。

    [引用 user="Benjamin tan]2)在 sys_startup.c 文件内的 example_SafetyLib.c 之后
    当发生故障时、有许多自检会用到 while (1)、  

    例如、 /*在 TCM RAM 上运行1位 ECC 测试*/
    RetVal = sl_SelfTest_SRAM (SRAM_ECC_ERROR_ENCED_1BIT、TRUE、failInfoTCMRAM);
    if (RetVal == false) while (1);

    是否假设用户在此处改用我们的故障记录/处理、因为'while (1)'仅挂起系统、不执行任何操作?

    这是示例代码。 是的、您可能需要在此处输入您自己的故障记录/处理。

    [引用用户="Benjamin tan"]

    3) 3)存在一个 void esmCallBackFunction (uint32 grp_channel、uint32 param1、uint32 param2、uint32 paramM3)函数、该函数在 sys_startup.c 中为空
    但 ESM_application_callback.c 中有代码、应该是要使用的代码
    或者应该将 ESM_application_callback.c 中的代码集成到 sys_startup.c 中吗?

    如果可以提供更多有关如何使用安全库 API 的链接或代码示例、不胜感激?


    谢谢、
    Benjamin

    [/报价]

    我在 sys_startup.c 中看不到 esmCallBackFunction

    应用寄存器安全库 ESM 处理实现中的回调函数。 这是使用 sys_startup.c 中的以下内容进行初始化的:

       SL_ESM_Init (ESM_ApplicationCallback);

    ESM_application_callback.c 中提供了应用程序回调的示例实现

    谢谢、

    Girish