Hello!
First of all, I am very new to Keil uVision.
I downloaded Arm Compiler 6.6 C Library for Functional Safety 6.6.B. Did the installation and saved it to Keil_v5/ARM/ARM_Clib. Then added the ARM_Clib/include to Options->C/C++ (AC6)->Include Paths.
I am trying to use the isinf(x) function from math.h, but when I try to compile I get this error:
.\Objects\myproject.axf: Error: L6218E: Undefined symbol __ARM_isinff (referred from mylibrary.o). Not enough information to list image symbols. Not enough information to list load addresses in the image map.
extern of this __ARM_isinff is defined in the end of the math.h file, but from there it leads to nowhere (nothing happens when I try to go to the definition of it).
Am I missing some steps in my setup?
HiMy name is Stephen and I work at Arm.Sorry, but I believe __ARM_isinff() is not provided in the FuSa C Libraries. The FuSa C Libraries provide only a limited subset of C library functions.In the docs folder of the FuSa C library, you should find the HTML documentation. The list of supported functions is given in globals_func.html.Hope this helpsStephen
Hi!
I am trying to use a macro called
isinf(x)
In math.h file the macro is defined as:
/// \brief The `isinf` macro determines whether its argument value is an /// infinity (positive or negative). /// /// First, an argument represented in a format wider than its semantic type is /// converted to its semantic type. Then determination is based on the type of /// the argument. The `isinf` macro returns a nonzero value if and only if its /// argument has an infinite value. /// \hideinitializer #define isinf(x) \ ((sizeof(x) == sizeof(float)) \ ? __ARM_isinff(x) \ : __ARM_isinf(x))
This macro can also be found in the globals_func.html References tab under Macros.
Reimo
Hi again Reimo,Apologies, I was wrong, __ARM_isinf and __ARM_isinff _are_ present in the FuSa C library, but are declared as "helper" functions so are not listed in the user documentation.Have you added the FuSa C library to your link line and turned off linking with the standard libraries?The docs have a section called "Using the FuSa C Library" which you need to follow.Here's an example extract showing what to do:armclang --target=arm-arm-none-eabi -march=armv7-a -c entry.Sarmclang --target=arm-arm-none-eabi -march=armv7-a -fno-builtin -ffp-mode=full -nostdlibinc -nostdlib -I /ArmCLib6.6.AArmv7A+R/include -c test.carmlink --no_scanlib --no_startup /ArmCLib6.6.AArmv7A+R/lib/fusa_clib_armv7a_softfp_ropi.l entry.o test.o --entry=entry_pointHope this helps,Stephen