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:Safe TI 演示应用显示硬件寄存器定义

Guru**** 2442090 points
Other Parts Discussed in Thread: TMS570LC4357, HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1292369/tms570lc4357-safe-ti-demo-application-is-mssing-hardware-register-definitions

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

当我为该处理器编译演示时、page_functions.c 中有对未定义的测试寄存器 canREG1->test、mibspi1->PTESTEN、mibspi3->Eden 的引用。  这些在其他 TMS570处理器以及 RM42x、RM46x、RM48x 的演示中定义。 这些寄存器是否存在于 TMS570LC4357中、或者是否应排除这些测试?

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

    尊敬的 Darryl:

    Unknown 说:
    这些寄存器是存在于 TMS570LC4357中还是应排除这些测试?

    它们也包含在 TMS570LC4357中:

    --

    谢谢。此致、
    Jagadish。

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

    Jagadish、

     感谢您的快速响应。  随附的图示是一个不可读的微小图形。  您能告诉我 TRM 或数据表的具体页面/部分以及文档的版本号吗?  是否有 提供缺失定义的 TMS570LC4357的 SAFE-TI zip 文件更新?

    达里尔

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

    Jagadish、

      另外、在 HL_mibspi.h 中还缺少一整套针对 MIBSPI1的定义、这些定义是为 MIBSPI2、3、4、5定义的、例如 MIBSPI2_PAR_ECC_CTRL_CONFIGVALUE。  在 page_functions.c 中、没有针对 DCAN4_Parity 的代码、尽管其中有针对 DCAN1、2、3的代码。 第三、有针对 MIBSPI1_Parity 和 MINSPI3_Parity 和 MIBSPI5_Parity 的代码、但是针对 MIBSPI2和 MIBSPI4的代码没有。  如果我必须修改 SafeTI 代码、这似乎会违背 使用预定义的 SafeTI 库的目的。

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

    尊敬的 Darryl:

    也缺失 HL_mibspi.h 中为 MIBSPI1定义的一整套定义,这些定义是为 MIBSPI2、3、4、5定义的,例如 MIBSPI2_PAR_ECC_CTRL_CONFIGVALUE。

    它在那里、对吧? 查看以下 pic:

    和在 page_functions.c 中没有针对 DCAN4_Parity 的代码,尽管有针对 DCAN1、2、3的代码。 第三、有针对 MIBSPI1_Parity 和 MINSPI3_Parity 和 MIBSPI5_Parity 的代码、但是针对 MIBSPI2和 MIBSPI4的代码没有。  如果我必须修改 SafeTI 代码、这似乎背离了 使用预定义的 SafeTI 库的目的。

    我找不到、能否提供屏幕截图以便更好地理解。

    --
    谢谢。此致、
    Jagdish。

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

    尊敬的 Darryl:

    当我在 PC 上针对 TMS570LC4357构建安全 TI 演示时、我没有看到您提到的任何错误。

    你可以看到我的构建结果。 我不明白您为什么会遇到所有这些错误。 您正在编译哪个版本的 Safe-TI 演示? 您是否对其进行了任何更改?

    --
    谢谢。此致、
    Jagadish。

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

    Jagadish、

       我使用的是版本2.4.0。  我做了一个重大改变。  在分布中、奇偶校验函数中的所有代码(100%)。 C 是 if (0) removed.(如果(0)删除。)  我重新启用它。  这就是我 之前问的原因、硬件是否支持这些功能。 将 if (0)更改为 if (1)、以查看错误。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    coreEnableFlashEcc ()和 coreDisableFlashEcc ()存在于其他处理器的 hl_sys_core.asm 中、但不存在于 TMS570LC43x 分支中。  我没有找到导致生成它们的 HALCoGen 设置。

    程序闪存的 ECC 逻辑  在复位时启用、并且不能被禁用。

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

      很难提供缺失内容的屏幕截图。  以下是错误

    这是 HALCoGen/TMS570LC43x/include/HL_reg_mibspi.h 中的定义。

    [/报价]

    PTESTEN 和 Eden 是 PAR_ECC_CTRL 寄存器的两个位字段。 在 HalCoGen 代码和 SDL API 中、我们将寄存器定义为32位寄存器、并且不会将其细分为位字段结构。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    和在 page_functions.c 中没有针对 DCAN4_Parity 的代码,尽管有针对 DCAN1、2、3的代码。 第三、有针对 MIBSPI1_Parity 和 MINSPI3_Parity 和 MIBSPI5_Parity 的代码、但是针对 MIBSPI2和 MIBSPI4的代码没有。  如果我必须修改 SafeTI 代码、这似乎背离了 使用预定义的 SafeTI 库的目的。

    HalCoGen 不会为 TMS570LC43x 器件生成这些文件。 您可以使用 SDL 执行 MibSPI 和 DCAN RAM ECC 自检。

    例如:

    Test_Mib 45C(MIBSPI_ECC_TEST_MODE_1bit, SL_MIBSPI4);

    SL_SelfTest_CAN (CAN_ECC_TEST_MODE_1bit_FAULT_Inject、SL_DCAN4);

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

    在 TMS570LC43x 的演示代码中,在 flash.c 中, ATCM Correctable_Error ()函数引用 coreDisableFlashECC ()和 coreEnableFlashECC ();。

    C:\ti\Hercules\Hercules Safety MCU Demos\4.0.0\TMS570LC43x_target_sources\demo-app\source\flash.c  

    这不是我的 TMS570LC4357的正确演示代码吗?

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

    感谢您指出这一点。

    ATCM (void)不能用于 Correctable_Error 和 TMS570LC43x。 这两个器件是基于 Cortex-R5F 的 ARM MCU、而所有其他器件是基于 Cortex-R4F 的器件。 可以启用/禁用 Cortex-R4F 器件上闪存的 ECC 逻辑、并且可以手动写入 ECC 空间(用于错误注入)。 但对于 Cortex-R5F、我们使用不同的方法来注入 ECC 错误。

    请使用安全诊断库、而不是 dmeo 示例。

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

    我看到 Example_SafetyLib.c 具有更完整的自检列表。  这就是我想要的。

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

    您知道在哪里可以找到 RAMTYPE_NHET2 | RAMTYPE_HET_TU2 | RAMTYPE_MIBADC1_RAM |
    RAMTYPE_MIBADC2_RAM ?  这些内容是对 TMS570LC43x 的特定内容、但未定义。

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

    在 sl_types.h 中定义了它们

    数据表中定义了内存组编号: 表6-34。 存储器初始化

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

    抱歉、我使用了来自不同处理器的错误 sl_types.h 文件。 现在已解决。