We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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