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: Including Safety Diagnostic Library

Part Number: RM44L920
Other Parts Discussed in Thread: HALCOGEN

Tool/software:

Hello,

I am trying to integrate the SafeTI Diagnostic Library into a RM44L920 project following these steps:

  1. Created a HALCoGen project.
  2. Set up a CCS project, matching the name of the HALCoGen project.
  3. Copied the necessary folders (hal, safety_library, and demo_app/common) into my project.
  4. Added the SafeTI library and linker files.
  5. Excluded the safety_library/source folder from the build.
  6. Defined _RM44x_ and _VFP_SUPPORT_=0.
  7. Adjusted the search paths and added the SafeTI library to the linker path.
  8. Compiled successfully.

Could you clarify the following:

  1. Is it necessary to include the demo_app/common folder when integrating for RM44L920?
  2. Should this folder be excluded from the build due to errors like "misc_IAR.asm and misc_KEIL.asm: illegal mnemonic specified"?
  3. Could you explain the purpose of _VFP_SUPPORT_=0 in the pre-defined symbols?

Any advice or clarification would be greatly appreciated!

Thank you!

  • Hi Ilija Cakovic,

    • Is it necessary to include the demo_app/common folder when integrating for RM44L920?
    • Should this folder be excluded from the build due to errors like "misc_IAR.asm and misc_KEIL.asm: illegal mnemonic specified"?

    No need to include demo_app folder.

    I think you can refer my below project once, here also i added safeTI library to the existing project and i used some specific test case API in my existing main routine from SafeTI library.

    FEE_ECC_Errors_TEST_RM46_New (2).zip

    Could you explain the purpose of _VFP_SUPPORT_=0 in the pre-defined symbols?

    VFP sands for Vector Floating Point.

    Actually, this controller includes a separate coprocessor for floating point athematic operations. So, this directive instructs the compiler to whether VFP instructions should need to generate or not.

    If we choose 1 for VFP support then it will generate floating point arithmetic instruction, for more details refer below link:

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

    --
    Thanks & regards,
    Jagadish.

  • Hello
    I included demo_app/common folder to my project, because I need to use some of the functions it provides.

    However, after including the demo_app/common folder, I encountered a linking error.

    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>

    Could you suggest the best way to handle this error.

    Thank you!

  • Hi ,

    You just need to add those sections in the linker cmd files like as shown below, you can also refer safeTI demo project to verify this:

    --
    Thanks & regards,
    Jagadish.

  • Hello,
    This resolved the build issues, but could it potentially increase the size of the .bin file?

    Thanks & regards,
    Ilija.

  • Hi Ilija,

    I don't think it will increase the much amount, please test it on your end and see it.

    But these sections are required for some testings.

    --
    Thanks & regards,
    Jagadish.

  • Hi,

    Thanks for the feedback. I did some testing on my end, and unfortunately, the size of the .bin file has increased significantly. I'm attaching screenshots of my project configuration for reference. Could you please help me identify what might be causing the file size to increase so much?

    Thanks & regards,

    Ilija

  • Hi Ilija,

    I compared your project with safety diagnostic project that i had and i don't see the inclusion of the libraries "SafeTILib_RM44_LE.lib" and "F021_API_CortexR4_LE_V3D16.lib"

    Are these libraries are required for your application or they are included for safety diagnostic purpose only?

    --

    Thanks & regards,
    Jagadish.

  • Hi,

    I included the "F021_API_CortexR4_LE_V3D16.lib" library because it's needed for my project, and I added the "SafeTILib_RM44_LE.lib" since I assumed it was necessary for implementing the safety features.

    Could you clarify if "SafeTILib_RM44_LE.lib" is required, or what I might need to do to be able to reduce the .bin file size?

    Without  "SafeTILib_RM44_LE.lib" included in linker path there is an error during linking as shown bellow

    These functions are called in sys_startup.c from safety_library.

    Thanks for your help!

  • Hi Ilija,

    I think we no need to include both library and safety folder in the project.

    Either one of them can be included, this will be like redundancy of the functions and can increase the size.

    I mean if you included safety_library folder like below:

    Then no need to include the .lib in linker file search path.

    --
    Thanks & regards,
    Jagadish.

  • Hi,

    I resolved issue with the size of .bin file by removing following line from the linker script.

    FEE (R)              : origin=0xF0200000 length=0x00000064 fill=0xDEADBEEF /* For FEE testing, Valid only for sample application */
       

    Could you explain the purpose of this line and its impact on the project?

    Thanks & regards,

    Ilija

  • Hi Ilija,

    If you use FEE in your application, you can do selftest for FEE in your startup code. This section will be helpful to perform this FEE testing in your application startup code.

    0xDEADBEEF is just a random value, you can fill it with any value for ECC test.

    If you don't want to perform FEE testing, then you can ignore this section.

    --
    Thanks & regards,
    Jagadish.