Replacing Arm Compiler Standard C Library with Functional Safety C Library

I am currently using Arm Compiler for Embedded FuSa 6.16.2, and my project has been built successfully with the Arm Compiler standard C library.
I am now trying to replace only the standard C library with the Functional Safety (FuSa) C Library.

Below is my current environment and configuration:

  • Product before replacement: DS000B DEVELOPMENT STUDIO GOLD FL ARCHIV
  • Product after replacement: Development Studio UBL Gold FUSA (DEVST-GLDF)
  • Target device: TI AM2431 (Cortex‑R5)
  • Floating point: hardfp
  • Endian: little-endian
  • Build system: Makefile
  • Position independence: not configured (unclear)

I first downloaded and installed ArmCLib6.6.BArmv7A+R from the download page.

Then, based on the Libraries and Compiler User Guides, I applied the following settings:

  • Linker options:
    • -nobuiltininc
    • -nostdlib
    • -nostdlibinc
  • LIBPATH:
    • C:/Program Files/ArmCLib6.6.BArmv7A+R/lib
  • Added libraries:
    • fusa_clib_armv7a_hardfp_ropi.b
    • fusa_clib_armv7a_hardfp_ropi.l
  • INCLUDE_PATH:
    • C:/Program Files/ArmCLib6.6.BArmv7A+R/include

Question 1: Are these library selections correct?

I selected the following FuSa libraries:

  • fusa_clib_armv7a_hardfp_ropi.b
  • fusa_clib_armv7a_hardfp_ropi.l

Is this choice correct for Cortex‑R5 + hardfp + little-endian?
I could not find a clear selection guide in the documentation.
If a library selection guide exists, could you please point me to it?


Question 2: Are many functions available in the Arm standard C library missing in the FuSa C library?

With the above configuration, my build fails because SEEK_SET, which is normally defined in stdio.h, becomes undefined.

Does this mean that the FuSa C Library does not provide some macros or functions found in the standard C library?

Any guidance or documentation would be greatly appreciated.

Parents
  • Hi Itsuki,

    Our apologies that this has gone unanswered for so long! This is a rather in-depth question, and you have entitlement to Support through your DEVST-GLDF licence. Could you maybe raise a Support Case for this topic? See https://www.arm.com/support/contact-support for opening a support case.

    I can sort-of answer this question off the top of my head:
    > the FuSa C Library does not provide some macros or functions found in the standard C library
    I believe you are correct. The FuSa C library deliberately only implements a subset of the C standard that is what is commonly used by FuSa projects. As another example, I think floating-point functions are also very limited, because FuSa often forbids the use of floating-point. If you raise a Support ase as above I'm sure someone from the team can give more specific information about exact functions/symbols that aren't implemented.

Reply
  • Hi Itsuki,

    Our apologies that this has gone unanswered for so long! This is a rather in-depth question, and you have entitlement to Support through your DEVST-GLDF licence. Could you maybe raise a Support Case for this topic? See https://www.arm.com/support/contact-support for opening a support case.

    I can sort-of answer this question off the top of my head:
    > the FuSa C Library does not provide some macros or functions found in the standard C library
    I believe you are correct. The FuSa C library deliberately only implements a subset of the C standard that is what is commonly used by FuSa projects. As another example, I think floating-point functions are also very limited, because FuSa often forbids the use of floating-point. If you raise a Support ase as above I'm sure someone from the team can give more specific information about exact functions/symbols that aren't implemented.

Children
No data