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.

[参考译文] RM44L920:包括安全诊断库

Guru**** 2381490 points
Other Parts Discussed in Thread: RM44L920, HALCOGEN
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1413311/rm44l920-including-safety-diagnostic-library

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

工具与软件:

您好!

我正在尝试按照以下步骤将 SafeTI 诊断库集成到 RM44L920项目中:

  1. 创建了一个 HALCoGen 项目。
  2. 设置 CCS 项目、与 HALCoGen 项目的名称相匹配。
  3. 已将所需的文件夹(halsafety_librarydemo_app/common)复制到我的项目中。
  4. 添加了 SafeTI 库和链接器文件。
  5. safety_library/source从编译中排除该文件夹。
  6. 已定义_RM44x__VFP_SUPPORT_=0
  7. 调整了搜索路径、并将 SafeTI 库添加到链接器路径中。
  8. 已成功编译。

您能否说明以下几点:

  1. demo_app/common在针对 RM44L920进行集成时是否需要包含此文件夹?
  2. 如果由于如中所示的错误而将此文件夹从编译中排除 "MISC_IAR.asm 和 MISC_KEIL.asm:指定了非法助记符"
  3. 您能解释一下_VFP_SUPPORT_=0预定义符号中的用途吗?

非常感谢您提供任何建议或作出任何澄清!

谢谢!

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

    尊敬的  Ilija Cakovic:

    [报价用户 id="596210" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1413311/rm44l920-including-safety-diagnostic-library "]
    • demo_app/common在针对 RM44L920进行集成时是否需要包含此文件夹?
    • 如果由于如中所示的错误而将此文件夹从编译中排除 "MISC_IAR.asm 和 MISC_KEIL.asm:指定了非法助记符"
    [报价]

    无需包含 demo_app 文件夹。

    我想您可以一次引用我下面的项目、这里我还将 safeTI 库添加到了现有项目中、并且我在 SafeTI 库中的现有 main 例程中使用了一些特定测试用例 API。

    e2e.ti.com/.../FEE_5F00_ECC_5F00_Errors_5F00_TEST_5F00_RM46_5F00_New-_2800_2_2900_.zip

    [quote userid="596210" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1413311/rm44l920-including-safety-diagnostic-library 您能解释一下_VFP_SUPPORT_=0预定义符号中的用途吗?

    Vector 浮点的 VFP sands。

    实际上、该控制器包括一个用于浮点专题运算的单独协处理器。 因此、该指令指示编译器是否需要生成 VFP 指令。

    如果我们选择1作为 VFP 支持、它将生成浮点算术指令。有关更多详细信息、请参阅以下链接:

    downloads.ti.com/docs/esd/SPNU151V/vfp-support-spnu1519930.html

    ——
    谢谢、此致、
    Jagadish。

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

    你好
    我在我的项目中包含了 demo_app/common 文件夹、因为我需要使用它提供的一些功能。

    但是、在包含demo_app/common文件夹后、我遇到了链接错误。

    Invoking: Arm Linker

    <Linking>
     
     undefined    first referenced                        
      symbol          in file                             
     ---------    ----------------                        
     StackModeABT ../SafeTILib_RM44_LE.lib<sl_asm_api.obj>
     StackModeFIQ ../SafeTILib_RM44_LE.lib<sl_asm_api.obj>
     StackModeIRQ ../SafeTILib_RM44_LE.lib<sl_asm_api.obj>
     StackModeSVC ../SafeTILib_RM44_LE.lib<sl_asm_api.obj>
     StackModeSYS ../SafeTILib_RM44_LE.lib<sl_asm_api.obj>
     StackModeUND ../SafeTILib_RM44_LE.lib<sl_asm_api.obj>

    您能建议处理该错误的最佳方法吗?

    谢谢!

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

    尊敬的 

    您只需将这些段添加到链接器 cmd 文件中、如下所示、您也可以参考 safeTI demo 项目来验证这一点:

    ——
    谢谢、此致、
    Jagadish。

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

    您好!
    这解决了编译问题、但它是否可能会增加.bin文件的大小?

    谢谢、此致、
    Ilija。

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

    尊敬的  Ilija:

    我认为这不会增加太多的量、请在您的终端进行测试并观察。

    但某些测试需要这些部分。

    ——
    谢谢、此致、
    Jagadish。

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

    您好!

    感谢您的反馈。 我最后做了一些测试、但不幸的是、.bin文件的大小显著增加。 我要附加项目配置的屏幕截图以供参考。 您能否帮助我确定导致文件大小增加这么多的原因?

    谢谢、此致、

    Ilija

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

    尊敬的 Ilija:

    我将您的项目与我使用的安全诊断项目进行了比较、但是我没有看到其中包含"SafeTILib_RM44_LE.lib"和"F021_API_CortexR4_LE_V3D16.lib"库

    这些 库是您的应用所必需的、还是仅出于安全诊断目的而包含?

    ——

    谢谢、此致、
    Jagadish。

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

    您好!

    我添加了"F021_API_CortexR4_LE_V3D16.lib"库(因为我的项目需要它)、我添加了"SafeTILib_RM44_LE.lib"(因为我认为这是实现安全功能所必需的)。

    您能否澄清一下是否需要"SafeTILib_RM44_LE.lib"、或者为了减小.bin 文件大小、我可能需要做些什么?

    如果 链接器路径中未包含"SafeTILib_RM44_LE.lib"、链接过程中会出现错误、如下所示

    在 safety_library 的 sys_startup.c 中调用这些函数。

    感谢您的帮助!

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

    尊敬的 Ilija:

    我认为我们无需在项目中同时包含库和安全文件夹。

    其中的任何一个都可以包含在内、这就像功能的冗余、并且可以增加大小。

    我的意思是、如果您包含了如下所示的 safety_library 文件夹:

    则无需在链接器文件搜索路径中包含.lib。

    ——
    谢谢、此致、
    Jagadish。

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

    您好!

    我通过从链接器脚本中删除以下行来解决了.bin 文件大小的问题。

    FEE (R)        : origin=0xF0200000 length=0x00000064 fill=0xDEADBEEF /*对于 FEE 测试,仅示例应用有效*/
      

    您能解释一下该行的用途及其对项目的影响吗?

    谢谢、此致、

    Ilija

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

    尊敬的  Ilija:

    如果您在应用中使用 FEE、则可以在启动代码中进行 FEE 自检。 该部分将有助于在您的应用程序启动代码中执行此 FEE 测试。

    0xDEADBEEF 只是一个随机值、可以为 ECC 测试填充任何值。

    如果您不想执行 FEE 测试、则可以忽略此部分。

    ——
    谢谢、此致、
    Jagadish。