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.

RM46L430: SafeTI Library use of 'C' Runtime Library

Part Number: RM46L430

Hello,

In order to get my system to link 'SafeTILib_RM46_LE.lib' I have to also add 'rtsv7R4_T_le_v3D16_eabi.lib', otherwise it's missing memcpy, memset, i_div0 & i_div32 related symbols.

Are the functions in the runtime library that are called by the SafeTI Library covered by the SafeTI library documentation?

If not then were can I find the runtime library safety documentation?

Regards,

Mark.

  • Hello Mark,

    I think you will find that the run time library is required to be linked in even when not using the SafeTI Diag Library so it is not an issue unique to the library. Certainly, it is up to you if you use the runtime library functions in your code or not, however.

    I will forward you question also to one of our experts on the tools qualification and specifically the compiler qualification kits. They should be able to address your concerns/questions on the run time library.
  • Mark,

    For the TI ARM compiler, we provide the SafeTI Compiler Qualification kit to enable customers to qualify their use of the TI ARM compiler for functional safety development:
       www.ti.com/.../safeti_cqkit

    However, above only applies to the compiler tool itself (parser, optimizer, codegen, assembler, linker).  

    All code that gets included in your safety application, including any RTS library routines that gets pulled in by the linker, are the customer’s responsibility to ensure the included functions work as expected within your safety application.

    Regards,
    Greg

  • Hi Chuck,

    Thanks for the quick response.

    However, the runtime library is not required to be linked:

    'If the linker assumes you are using the C and C++ conventions and the entry point for the program (normally c_int00) is not resolved by any specified object file or library, the linker attempts to automatically include the most compatible run-time-support library for your program.'

    We did not use any symbols from the runtime library in our software and it was not being linked. It was the start of the SafeTI Library integration that caused the runtime library to appear in the generated map file.

    So, this is an issue that is unique to the SafeTI Diag Library as without the SafeTI Library we would not need it.

    I look forward to the answer from the Tool Qualification expert.

    Regards,

    Mark.

  • Hi Greg,

    Thanks for the quick response.

    The RTS library routines in question are not being used by my Safety Application, they are being used by the SafeTI library. My Safety Application does not use any symbols from the RTS Library.

    How can I ensure that the RTS Library functions that are only used by the SafeTI Library function as expected?

    Regards,

    Mark.
  • Hello Mark,

    Note that these functions are included as part of the code/object files for the library and the code/library has been tested as noted in the CSPs. If the library is used without modification (i.e. as a library only under the same build environment or from object code) then the CSP reports should apply as they are and can be provided for free. If there are modifications to the library or the library source is compiled under a difference build environment such as a new compiler version or compiler optimization levels, it would be necessary to purchase the full CSP with the LDRA tool in order to regress and generate new evidence of testing. Since the testing is testing the end functionality, it would be expected that the runtime libraries are part of this verification/validation effort.
  • Hi Chuck,

    Thanks for the update. Just to be sure that I understand you answer, please confirm:

    As we use the RTS Library functions unmodified (i.e. direct from a delivered '.lib') and they are only used by the SafeTI Diagnostics Library then they are covered by the freely available SafeTI Diagnostics Library Compliance Support Package (CSP). It is not our responsibility to ensure that they function as expected.

    Regards,

    Mark.
  • Hi Mark,

    Let me confirm this, but this is close to my intended advice. Note though it also means that the SafeTI Diagnostic library would need to be used as a library with provided object files since the CSP Reports cover the testing of the SafeTI Diagnostic Library under the specific build environment in which they object files were built. What isn't clear to me is the impact of the inclusion of the RTS library under your specific build environment. i.e., the RTS library is rebuilt based on the need for it using a script within CCS so there is a possibility to introduce another variable that we have not accounted for if the RTS is built for the compiler version you are presently using and it is different than the RTS used in the origination of the SafeTI Diag Lib object files.