Hi, I have some questions I need to ask about a C++ project I'm working on, and in which I need to integrate third-party C libraries.
I get serveral instances of an error like the following: ./RTE/Device/TLE9879QXA40/tle987x.h(564): error: anonymous bit-field cannot have qualifiers.
The header file is part of another header file I need to include in my C++ source file, because it contains low-level routines I need to use.
I asked on the Infineon Community and was redirected here because it might have something to do with SVDConv. So I wonder:
Just in case you might need it, here is the compiler control string as per the options for my target:
-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O0 -ffunction-sections -Weverything -Wno-packed -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./app -I . -Wno-c++98-compat -Wno-c++17-attribute-extensions -Wno-c++98-c++11-compat-binary-literal -Wpedantic -Wunused -Wshadow -Wextra -Wconversion -Wall -Wno-everything -I./RTE/Device/TLE9879QXA40 -I./RTE/_TLE9879_EvalKit -IC:/Users/myUsername/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/myUsername/AppData/Local/Arm/Packs/Infineon/TLE987x_DFP/1.6.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DTLE9879QXA40 -D_RTE_ -o ./Objects/*.o -MD
In Keil, I set the option for "Code Generation", "ARM Compiler" field as "Use default compiler version 6".
Any help would be greatly appreciated.
The SVDConv.exe is located in the UV4 directory of your Keil MDK installation.You can either look at the file properties Details tab or run SVDConv --version in a dos cmd shell.
Most recent versions can be found here: https://github.com/Open-CMSIS-Pack/devtools/releases - svdconv now ships as part of the CMSIS-Toolbox (https://github.com/OPen-CMSIS-Pack/cmsis-toolbox/releases) rather than via the ARM.CMSIS.pack.
I am unclear what exactly the recommendation from Infineon was, but I guess they suggest to regenerate the device header using the SVD file shipped as part of the pack but maybe with different generation options to not have the bitfields generated?