Skip to content

Instantly share code, notes, and snippets.

@kbumsik
Last active November 22, 2022 16:01
Show Gist options
  • Save kbumsik/52ce3f41a62f2485c3da1a585674e550 to your computer and use it in GitHub Desktop.
Save kbumsik/52ce3f41a62f2485c3da1a585674e550 to your computer and use it in GitHub Desktop.
VS Code c_cpp_properties.json example for arm-none-eabi toochain

VS Code c_cpp_properties.json example for arm-none-eabi toochain

If you installed C/C++ extension for Visual Studio Code but using GNU Arm Embedded Toolchain for ARM Cortex M series MCU target, VS Code will keep prompt "Configuring includePath for better IntelliSense results". You wil need a special c_cpp_properties.json for the ARM toolchain.

This works on both Linux and Windows.

  1. For arm-none-eabi-gcc users, its compiler include path should be included first. It differes in each system. Use the verbose arm-none-eabi-gcc -v flag to see include list. change "includePath" and "browse"."path" for your system.

  2. VS Code currently don't detect internal GCC definitions. We need to manually include them. This is why OP's problem occurs. To see the GCC's definitions use (for ARM Coretex M4 with hard FP):

arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -E -dM - < /dev/null | sort

Then you need to add all definitions printed to "defines". Note that you also need to convert #define DEFINE VALUE to DEFINE=VALUE format. The definitions list is very long but it should be quite easy to convert the format using VS Code!

Reference discussions: 1, 2

{
"configurations": [
{
"name": "Linux",
"includePath": [
"/usr/lib/gcc/arm-none-eabi/7.3.0/include",
"/usr/lib/gcc/arm-none-eabi/7.3.0/include-fixed",
"/usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/include",
"/usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/include/c++/7.3.0",
"/usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/include/c++/7.3.0/arm-none-eabi/armv7e-m/fpu",
"/usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/include/c++/7.3.0/backward"
],
"browse": {
"path": [
"/usr/lib/gcc/arm-none-eabi/7.3.0/include",
"/usr/lib/gcc/arm-none-eabi/7.3.0/include-fixed",
"/usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/include",
"/usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/include/c++/7.3.0",
"/usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/include/c++/7.3.0/arm-none-eabi/armv7e-m/fpu",
"/usr/lib/gcc/arm-none-eabi/7.3.0/../../../../arm-none-eabi/include/c++/7.3.0/backward"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
},
"defines": [
"USE_HAL_DRIVER",
"STM32F446xx",
"__ACCUM_EPSILON__=0x1P-15K",
"__ACCUM_FBIT__=15",
"__ACCUM_IBIT__=16",
"__ACCUM_MAX__=0X7FFFFFFFP-15K",
"__ACCUM_MIN__=(-0X1P15K-0X1P15K)",
"__APCS_32__=1",
"__arm__=1",
"__ARM_32BIT_STATE=1",
"__ARM_ARCH=7",
"__ARM_ARCH_7EM__=1",
"__ARM_ARCH_EXT_IDIV__=1",
"__ARM_ARCH_ISA_THUMB=2",
"__ARM_ARCH_PROFILE=77",
"__ARM_ASM_SYNTAX_UNIFIED__=1",
"__ARM_EABI__=1",
"__ARMEL__=1",
"__ARM_FEATURE_CLZ=1",
"__ARM_FEATURE_DSP=1",
"__ARM_FEATURE_IDIV=1",
"__ARM_FEATURE_LDREX=7",
"__ARM_FEATURE_QBIT=1",
"__ARM_FEATURE_SAT=1",
"__ARM_FEATURE_SIMD32=1",
"__ARM_FEATURE_UNALIGNED=1",
"__ARM_FP=12",
"__ARM_PCS_VFP=1",
"__ARM_SIZEOF_MINIMAL_ENUM=1",
"__ARM_SIZEOF_WCHAR_T=4",
"__ATOMIC_ACQ_REL=4",
"__ATOMIC_ACQUIRE=2",
"__ATOMIC_CONSUME=1",
"__ATOMIC_RELAXED=0",
"__ATOMIC_RELEASE=3",
"__ATOMIC_SEQ_CST=5",
"__BIGGEST_ALIGNMENT__=8",
"__BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__",
"__CHAR16_TYPE__=short unsigned int",
"__CHAR32_TYPE__=long unsigned int",
"__CHAR_BIT__=8",
"__CHAR_UNSIGNED__=1",
"__DA_FBIT__=31",
"__DA_IBIT__=32",
"__DBL_DECIMAL_DIG__=17",
"__DBL_DENORM_MIN__=((double)4.9406564584124654e-324L)",
"__DBL_DIG__=15",
"__DBL_EPSILON__=((double)2.2204460492503131e-16L)",
"__DBL_HAS_DENORM__=1",
"__DBL_HAS_INFINITY__=1",
"__DBL_HAS_QUIET_NAN__=1",
"__DBL_MANT_DIG__=53",
"__DBL_MAX_10_EXP__=308",
"__DBL_MAX__=((double)1.7976931348623157e+308L)",
"__DBL_MAX_EXP__=1024",
"__DBL_MIN_10_EXP__=(-307)",
"__DBL_MIN__=((double)2.2250738585072014e-308L)",
"__DBL_MIN_EXP__=(-1021)",
"__DEC128_EPSILON__=1E-33DL",
"__DEC128_MANT_DIG__=34",
"__DEC128_MAX__=9.999999999999999999999999999999999E6144DL",
"__DEC128_MAX_EXP__=6145",
"__DEC128_MIN__=1E-6143DL",
"__DEC128_MIN_EXP__=(-6142)",
"__DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL",
"__DEC32_EPSILON__=1E-6DF",
"__DEC32_MANT_DIG__=7",
"__DEC32_MAX__=9.999999E96DF",
"__DEC32_MAX_EXP__=97",
"__DEC32_MIN__=1E-95DF",
"__DEC32_MIN_EXP__=(-94)",
"__DEC32_SUBNORMAL_MIN__=0.000001E-95DF",
"__DEC64_EPSILON__=1E-15DD",
"__DEC64_MANT_DIG__=16",
"__DEC64_MAX__=9.999999999999999E384DD",
"__DEC64_MAX_EXP__=385",
"__DEC64_MIN__=1E-383DD",
"__DEC64_MIN_EXP__=(-382)",
"__DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD",
"__DEC_EVAL_METHOD__=2",
"__DECIMAL_DIG__=17",
"__DQ_FBIT__=63",
"__DQ_IBIT__=0",
"__ELF__=1",
"__FINITE_MATH_ONLY__=0",
"__FLOAT_WORD_ORDER__=__ORDER_LITTLE_ENDIAN__",
"__FLT32_DECIMAL_DIG__=9",
"__FLT32_DENORM_MIN__=1.4012984643248171e-45F32",
"__FLT32_DIG__=6",
"__FLT32_EPSILON__=1.1920928955078125e-7F32",
"__FLT32_HAS_DENORM__=1",
"__FLT32_HAS_INFINITY__=1",
"__FLT32_HAS_QUIET_NAN__=1",
"__FLT32_MANT_DIG__=24",
"__FLT32_MAX_10_EXP__=38",
"__FLT32_MAX__=3.4028234663852886e+38F32",
"__FLT32_MAX_EXP__=128",
"__FLT32_MIN_10_EXP__=(-37)",
"__FLT32_MIN__=1.1754943508222875e-38F32",
"__FLT32_MIN_EXP__=(-125)",
"__FLT32X_DECIMAL_DIG__=17",
"__FLT32X_DENORM_MIN__=4.9406564584124654e-324F32x",
"__FLT32X_DIG__=15",
"__FLT32X_EPSILON__=2.2204460492503131e-16F32x",
"__FLT32X_HAS_DENORM__=1",
"__FLT32X_HAS_INFINITY__=1",
"__FLT32X_HAS_QUIET_NAN__=1",
"__FLT32X_MANT_DIG__=53",
"__FLT32X_MAX_10_EXP__=308",
"__FLT32X_MAX__=1.7976931348623157e+308F32x",
"__FLT32X_MAX_EXP__=1024",
"__FLT32X_MIN_10_EXP__=(-307)",
"__FLT32X_MIN__=2.2250738585072014e-308F32x",
"__FLT32X_MIN_EXP__=(-1021)",
"__FLT64_DECIMAL_DIG__=17",
"__FLT64_DENORM_MIN__=4.9406564584124654e-324F64",
"__FLT64_DIG__=15",
"__FLT64_EPSILON__=2.2204460492503131e-16F64",
"__FLT64_HAS_DENORM__=1",
"__FLT64_HAS_INFINITY__=1",
"__FLT64_HAS_QUIET_NAN__=1",
"__FLT64_MANT_DIG__=53",
"__FLT64_MAX_10_EXP__=308",
"__FLT64_MAX__=1.7976931348623157e+308F64",
"__FLT64_MAX_EXP__=1024",
"__FLT64_MIN_10_EXP__=(-307)",
"__FLT64_MIN__=2.2250738585072014e-308F64",
"__FLT64_MIN_EXP__=(-1021)",
"__FLT_DECIMAL_DIG__=9",
"__FLT_DENORM_MIN__=1.4012984643248171e-45F",
"__FLT_DIG__=6",
"__FLT_EPSILON__=1.1920928955078125e-7F",
"__FLT_EVAL_METHOD__=0",
"__FLT_EVAL_METHOD_TS_18661_3__=0",
"__FLT_HAS_DENORM__=1",
"__FLT_HAS_INFINITY__=1",
"__FLT_HAS_QUIET_NAN__=1",
"__FLT_MANT_DIG__=24",
"__FLT_MAX_10_EXP__=38",
"__FLT_MAX__=3.4028234663852886e+38F",
"__FLT_MAX_EXP__=128",
"__FLT_MIN_10_EXP__=(-37)",
"__FLT_MIN__=1.1754943508222875e-38F",
"__FLT_MIN_EXP__=(-125)",
"__FLT_RADIX__=2",
"__FRACT_EPSILON__=0x1P-15R",
"__FRACT_FBIT__=15",
"__FRACT_IBIT__=0",
"__FRACT_MAX__=0X7FFFP-15R",
"__FRACT_MIN__=(-0.5R-0.5R)",
"__GCC_ATOMIC_BOOL_LOCK_FREE=2",
"__GCC_ATOMIC_CHAR16_T_LOCK_FREE=2",
"__GCC_ATOMIC_CHAR32_T_LOCK_FREE=2",
"__GCC_ATOMIC_CHAR_LOCK_FREE=2",
"__GCC_ATOMIC_INT_LOCK_FREE=2",
"__GCC_ATOMIC_LLONG_LOCK_FREE=1",
"__GCC_ATOMIC_LONG_LOCK_FREE=2",
"__GCC_ATOMIC_POINTER_LOCK_FREE=2",
"__GCC_ATOMIC_SHORT_LOCK_FREE=2",
"__GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1",
"__GCC_ATOMIC_WCHAR_T_LOCK_FREE=2",
"__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1=1",
"__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2=1",
"__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4=1",
"__GCC_IEC_559=2",
"__GCC_IEC_559_COMPLEX=2",
"__GNUC__=7",
"__GNUC_MINOR__=3",
"__GNUC_PATCHLEVEL__=0",
"__GNUC_STDC_INLINE__=1",
"__GXX_ABI_VERSION=1011",
"__GXX_TYPEINFO_EQUALITY_INLINE=0",
"__HA_FBIT__=7",
"__HA_IBIT__=8",
"__has_include_next=STR) __has_include_next__(STR)",
"__has_include=STR) __has_include__(STR)",
"__HQ_FBIT__=15",
"__HQ_IBIT__=0",
"__INT16_C=c) c",
"__INT16_MAX__=0x7fff",
"__INT16_TYPE__=short int",
"__INT32_C=c) c ## L",
"__INT32_MAX__=0x7fffffffL",
"__INT32_TYPE__=long int",
"__INT64_C=c) c ## LL",
"__INT64_MAX__=0x7fffffffffffffffLL",
"__INT64_TYPE__=long long int",
"__INT8_C=c) c",
"__INT8_MAX__=0x7f",
"__INT8_TYPE__=signed char",
"__INT_FAST16_MAX__=0x7fffffff",
"__INT_FAST16_TYPE__=int",
"__INT_FAST16_WIDTH__=32",
"__INT_FAST32_MAX__=0x7fffffff",
"__INT_FAST32_TYPE__=int",
"__INT_FAST32_WIDTH__=32",
"__INT_FAST64_MAX__=0x7fffffffffffffffLL",
"__INT_FAST64_TYPE__=long long int",
"__INT_FAST64_WIDTH__=64",
"__INT_FAST8_MAX__=0x7fffffff",
"__INT_FAST8_TYPE__=int",
"__INT_FAST8_WIDTH__=32",
"__INT_LEAST16_MAX__=0x7fff",
"__INT_LEAST16_TYPE__=short int",
"__INT_LEAST16_WIDTH__=16",
"__INT_LEAST32_MAX__=0x7fffffffL",
"__INT_LEAST32_TYPE__=long int",
"__INT_LEAST32_WIDTH__=32",
"__INT_LEAST64_MAX__=0x7fffffffffffffffLL",
"__INT_LEAST64_TYPE__=long long int",
"__INT_LEAST64_WIDTH__=64",
"__INT_LEAST8_MAX__=0x7f",
"__INT_LEAST8_TYPE__=signed char",
"__INT_LEAST8_WIDTH__=8",
"__INT_MAX__=0x7fffffff",
"__INTMAX_C=c) c ## LL",
"__INTMAX_MAX__=0x7fffffffffffffffLL",
"__INTMAX_TYPE__=long long int",
"__INTMAX_WIDTH__=64",
"__INTPTR_MAX__=0x7fffffff",
"__INTPTR_TYPE__=int",
"__INTPTR_WIDTH__=32",
"__INT_WIDTH__=32",
"__LACCUM_EPSILON__=0x1P-31LK",
"__LACCUM_FBIT__=31",
"__LACCUM_IBIT__=32",
"__LACCUM_MAX__=0X7FFFFFFFFFFFFFFFP-31LK",
"__LACCUM_MIN__=(-0X1P31LK-0X1P31LK)",
"__LDBL_DECIMAL_DIG__=17",
"__LDBL_DENORM_MIN__=4.9406564584124654e-324L",
"__LDBL_DIG__=15",
"__LDBL_EPSILON__=2.2204460492503131e-16L",
"__LDBL_HAS_DENORM__=1",
"__LDBL_HAS_INFINITY__=1",
"__LDBL_HAS_QUIET_NAN__=1",
"__LDBL_MANT_DIG__=53",
"__LDBL_MAX_10_EXP__=308",
"__LDBL_MAX__=1.7976931348623157e+308L",
"__LDBL_MAX_EXP__=1024",
"__LDBL_MIN_10_EXP__=(-307)",
"__LDBL_MIN__=2.2250738585072014e-308L",
"__LDBL_MIN_EXP__=(-1021)",
"__LFRACT_EPSILON__=0x1P-31LR",
"__LFRACT_FBIT__=31",
"__LFRACT_IBIT__=0",
"__LFRACT_MAX__=0X7FFFFFFFP-31LR",
"__LFRACT_MIN__=(-0.5LR-0.5LR)",
"__LLACCUM_EPSILON__=0x1P-31LLK",
"__LLACCUM_FBIT__=31",
"__LLACCUM_IBIT__=32",
"__LLACCUM_MAX__=0X7FFFFFFFFFFFFFFFP-31LLK",
"__LLACCUM_MIN__=(-0X1P31LLK-0X1P31LLK)",
"__LLFRACT_EPSILON__=0x1P-63LLR",
"__LLFRACT_FBIT__=63",
"__LLFRACT_IBIT__=0",
"__LLFRACT_MAX__=0X7FFFFFFFFFFFFFFFP-63LLR",
"__LLFRACT_MIN__=(-0.5LLR-0.5LLR)",
"__LONG_LONG_MAX__=0x7fffffffffffffffLL",
"__LONG_LONG_WIDTH__=64",
"__LONG_MAX__=0x7fffffffL",
"__LONG_WIDTH__=32",
"__NO_INLINE__=1",
"__ORDER_BIG_ENDIAN__=4321",
"__ORDER_LITTLE_ENDIAN__=1234",
"__ORDER_PDP_ENDIAN__=3412",
"__PRAGMA_REDEFINE_EXTNAME=1",
"__PTRDIFF_MAX__=0x7fffffff",
"__PTRDIFF_TYPE__=int",
"__PTRDIFF_WIDTH__=32",
"__QQ_FBIT__=7",
"__QQ_IBIT__=0",
"__REGISTER_PREFIX__",
"__SACCUM_EPSILON__=0x1P-7HK",
"__SACCUM_FBIT__=7",
"__SACCUM_IBIT__=8",
"__SACCUM_MAX__=0X7FFFP-7HK",
"__SACCUM_MIN__=(-0X1P7HK-0X1P7HK)",
"__SA_FBIT__=15",
"__SA_IBIT__=16",
"__SCHAR_MAX__=0x7f",
"__SCHAR_WIDTH__=8",
"__SFRACT_EPSILON__=0x1P-7HR",
"__SFRACT_FBIT__=7",
"__SFRACT_IBIT__=0",
"__SFRACT_MAX__=0X7FP-7HR",
"__SFRACT_MIN__=(-0.5HR-0.5HR)",
"__SHRT_MAX__=0x7fff",
"__SHRT_WIDTH__=16",
"__SIG_ATOMIC_MAX__=0x7fffffff",
"__SIG_ATOMIC_MIN__=(-__SIG_ATOMIC_MAX__ - 1)",
"__SIG_ATOMIC_TYPE__=int",
"__SIG_ATOMIC_WIDTH__=32",
"__SIZE_MAX__=0xffffffffU",
"__SIZEOF_DOUBLE__=8",
"__SIZEOF_FLOAT__=4",
"__SIZEOF_INT__=4",
"__SIZEOF_LONG__=4",
"__SIZEOF_LONG_DOUBLE__=8",
"__SIZEOF_LONG_LONG__=8",
"__SIZEOF_POINTER__=4",
"__SIZEOF_PTRDIFF_T__=4",
"__SIZEOF_SHORT__=2",
"__SIZEOF_SIZE_T__=4",
"__SIZEOF_WCHAR_T__=4",
"__SIZEOF_WINT_T__=4",
"__SIZE_TYPE__=unsigned int",
"__SIZE_WIDTH__=32",
"__SQ_FBIT__=31",
"__SQ_IBIT__=0",
"__STDC__=1",
"__STDC_HOSTED__=1",
"__STDC_UTF_16__=1",
"__STDC_UTF_32__=1",
"__STDC_VERSION__=201112L",
"__TA_FBIT__=63",
"__TA_IBIT__=64",
"__thumb__=1",
"__thumb2__=1",
"__THUMBEL__=1",
"__THUMB_INTERWORK__=1",
"__TQ_FBIT__=127",
"__TQ_IBIT__=0",
"__UACCUM_EPSILON__=0x1P-16UK",
"__UACCUM_FBIT__=16",
"__UACCUM_IBIT__=16",
"__UACCUM_MAX__=0XFFFFFFFFP-16UK",
"__UACCUM_MIN__=0.0UK",
"__UDA_FBIT__=32",
"__UDA_IBIT__=32",
"__UDQ_FBIT__=64",
"__UDQ_IBIT__=0",
"__UFRACT_EPSILON__=0x1P-16UR",
"__UFRACT_FBIT__=16",
"__UFRACT_IBIT__=0",
"__UFRACT_MAX__=0XFFFFP-16UR",
"__UFRACT_MIN__=0.0UR",
"__UHA_FBIT__=8",
"__UHA_IBIT__=8",
"__UHQ_FBIT__=16",
"__UHQ_IBIT__=0",
"__UINT16_C=c) c",
"__UINT16_MAX__=0xffff",
"__UINT16_TYPE__=short unsigned int",
"__UINT32_C=c) c ## UL",
"__UINT32_MAX__=0xffffffffUL",
"__UINT32_TYPE__=long unsigned int",
"__UINT64_C=c) c ## ULL",
"__UINT64_MAX__=0xffffffffffffffffULL",
"__UINT64_TYPE__=long long unsigned int",
"__UINT8_C=c) c",
"__UINT8_MAX__=0xff",
"__UINT8_TYPE__=unsigned char",
"__UINT_FAST16_MAX__=0xffffffffU",
"__UINT_FAST16_TYPE__=unsigned int",
"__UINT_FAST32_MAX__=0xffffffffU",
"__UINT_FAST32_TYPE__=unsigned int",
"__UINT_FAST64_MAX__=0xffffffffffffffffULL",
"__UINT_FAST64_TYPE__=long long unsigned int",
"__UINT_FAST8_MAX__=0xffffffffU",
"__UINT_FAST8_TYPE__=unsigned int",
"__UINT_LEAST16_MAX__=0xffff",
"__UINT_LEAST16_TYPE__=short unsigned int",
"__UINT_LEAST32_MAX__=0xffffffffUL",
"__UINT_LEAST32_TYPE__=long unsigned int",
"__UINT_LEAST64_MAX__=0xffffffffffffffffULL",
"__UINT_LEAST64_TYPE__=long long unsigned int",
"__UINT_LEAST8_MAX__=0xff",
"__UINT_LEAST8_TYPE__=unsigned char",
"__UINTMAX_C=c) c ## ULL",
"__UINTMAX_MAX__=0xffffffffffffffffULL",
"__UINTMAX_TYPE__=long long unsigned int",
"__UINTPTR_MAX__=0xffffffffU",
"__UINTPTR_TYPE__=unsigned int",
"__ULACCUM_EPSILON__=0x1P-32ULK",
"__ULACCUM_FBIT__=32",
"__ULACCUM_IBIT__=32",
"__ULACCUM_MAX__=0XFFFFFFFFFFFFFFFFP-32ULK",
"__ULACCUM_MIN__=0.0ULK",
"__ULFRACT_EPSILON__=0x1P-32ULR",
"__ULFRACT_FBIT__=32",
"__ULFRACT_IBIT__=0",
"__ULFRACT_MAX__=0XFFFFFFFFP-32ULR",
"__ULFRACT_MIN__=0.0ULR",
"__ULLACCUM_EPSILON__=0x1P-32ULLK",
"__ULLACCUM_FBIT__=32",
"__ULLACCUM_IBIT__=32",
"__ULLACCUM_MAX__=0XFFFFFFFFFFFFFFFFP-32ULLK",
"__ULLACCUM_MIN__=0.0ULLK",
"__ULLFRACT_EPSILON__=0x1P-64ULLR",
"__ULLFRACT_FBIT__=64",
"__ULLFRACT_IBIT__=0",
"__ULLFRACT_MAX__=0XFFFFFFFFFFFFFFFFP-64ULLR",
"__ULLFRACT_MIN__=0.0ULLR",
"__UQQ_FBIT__=8",
"__UQQ_IBIT__=0",
"__USACCUM_EPSILON__=0x1P-8UHK",
"__USACCUM_FBIT__=8",
"__USACCUM_IBIT__=8",
"__USACCUM_MAX__=0XFFFFP-8UHK",
"__USACCUM_MIN__=0.0UHK",
"__USA_FBIT__=16",
"__USA_IBIT__=16",
"__USER_LABEL_PREFIX__",
"__USES_INITFINI__=1",
"__USFRACT_EPSILON__=0x1P-8UHR",
"__USFRACT_FBIT__=8",
"__USFRACT_IBIT__=0",
"__USFRACT_MAX__=0XFFP-8UHR",
"__USFRACT_MIN__=0.0UHR",
"__USQ_FBIT__=32",
"__USQ_IBIT__=0",
"__UTA_FBIT__=64",
"__UTA_IBIT__=64",
"__UTQ_FBIT__=128",
"__UTQ_IBIT__=0",
"__VERSION__=\"7.3.0\"",
"__VFP_FP__=1",
"__WCHAR_MAX__=0xffffffffU",
"__WCHAR_MIN__=0U",
"__WCHAR_TYPE__=unsigned int",
"__WCHAR_WIDTH__=32",
"__WINT_MAX__=0xffffffffU",
"__WINT_MIN__=0U",
"__WINT_TYPE__=unsigned int",
"__WINT_WIDTH__=32"
],
"intelliSenseMode": "clang-x64",
"compilerPath": "arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard",
"cStandard": "c99",
"cppStandard": "c++11"
},
{
"name": "Win32",
"includePath": [
"c:\\develop\\gnu tools arm embedded\\7 2017-q4-major\\bin\\../lib/gcc/arm-none-eabi/7.2.1/include",
"c:\\develop\\gnu tools arm embedded\\7 2017-q4-major\\bin\\../lib/gcc/arm-none-eabi/7.2.1/include-fixed",
"c:\\develop\\gnu tools arm embedded\\7 2017-q4-major\\bin\\../lib/gcc/arm-none-eabi/7.2.1/../../../../arm-none-eabi/include",
"c:\\develop\\gnu tools arm embedded\\7 2017-q4-major\\bin\\../lib/gcc/arm-none-eabi/7.2.1/../../../../arm-none-eabi/include/c++/7.2.1",
"c:\\develop\\gnu tools arm embedded\\7 2017-q4-major\\bin\\../lib/gcc/arm-none-eabi/7.2.1/../../../../arm-none-eabi/include/c++/7.2.1/arm-none-eabi/thumb/v7e-m/fpv4-sp/hard",
"c:\\develop\\gnu tools arm embedded\\7 2017-q4-major\\bin\\../lib/gcc/arm-none-eabi/7.2.1/../../../../arm-none-eabi/include/c++/7.2.1/backward",
],
"browse": {
"path": [
"c:\\develop\\gnu tools arm embedded\\7 2017-q4-major\\bin\\../lib/gcc/arm-none-eabi/7.2.1/include",
"c:\\develop\\gnu tools arm embedded\\7 2017-q4-major\\bin\\../lib/gcc/arm-none-eabi/7.2.1/include-fixed",
"c:\\develop\\gnu tools arm embedded\\7 2017-q4-major\\bin\\../lib/gcc/arm-none-eabi/7.2.1/../../../../arm-none-eabi/include",
"c:\\develop\\gnu tools arm embedded\\7 2017-q4-major\\bin\\../lib/gcc/arm-none-eabi/7.2.1/../../../../arm-none-eabi/include/c++/7.2.1",
"c:\\develop\\gnu tools arm embedded\\7 2017-q4-major\\bin\\../lib/gcc/arm-none-eabi/7.2.1/../../../../arm-none-eabi/include/c++/7.2.1/arm-none-eabi/thumb/v7e-m/fpv4-sp/hard",
"c:\\develop\\gnu tools arm embedded\\7 2017-q4-major\\bin\\../lib/gcc/arm-none-eabi/7.2.1/../../../../arm-none-eabi/include/c++/7.2.1/backward",
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
},
"defines": [
"USE_HAL_DRIVER",
"STM32F446xx",
"__ACCUM_EPSILON__=0x1P-15K",
"__ACCUM_FBIT__=15",
"__ACCUM_IBIT__=16",
"__ACCUM_MAX__=0X7FFFFFFFP-15K",
"__ACCUM_MIN__=(-0X1P15K-0X1P15K)",
"__APCS_32__=1",
"__arm__=1",
"__ARM_32BIT_STATE=1",
"__ARM_ARCH=7",
"__ARM_ARCH_7EM__=1",
"__ARM_ARCH_EXT_IDIV__=1",
"__ARM_ARCH_ISA_THUMB=2",
"__ARM_ARCH_PROFILE=77",
"__ARM_ASM_SYNTAX_UNIFIED__=1",
"__ARM_EABI__=1",
"__ARMEL__=1",
"__ARM_FEATURE_CLZ=1",
"__ARM_FEATURE_DSP=1",
"__ARM_FEATURE_IDIV=1",
"__ARM_FEATURE_LDREX=7",
"__ARM_FEATURE_QBIT=1",
"__ARM_FEATURE_SAT=1",
"__ARM_FEATURE_SIMD32=1",
"__ARM_FEATURE_UNALIGNED=1",
"__ARM_FP=12",
"__ARM_PCS_VFP=1",
"__ARM_SIZEOF_MINIMAL_ENUM=1",
"__ARM_SIZEOF_WCHAR_T=4",
"__ATOMIC_ACQ_REL=4",
"__ATOMIC_ACQUIRE=2",
"__ATOMIC_CONSUME=1",
"__ATOMIC_RELAXED=0",
"__ATOMIC_RELEASE=3",
"__ATOMIC_SEQ_CST=5",
"__BIGGEST_ALIGNMENT__=8",
"__BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__",
"__CHAR16_TYPE__=short unsigned int",
"__CHAR32_TYPE__=long unsigned int",
"__CHAR_BIT__=8",
"__CHAR_UNSIGNED__=1",
"__DA_FBIT__=31",
"__DA_IBIT__=32",
"__DBL_DECIMAL_DIG__=17",
"__DBL_DENORM_MIN__=((double)4.9406564584124654e-324L)",
"__DBL_DIG__=15",
"__DBL_EPSILON__=((double)2.2204460492503131e-16L)",
"__DBL_HAS_DENORM__=1",
"__DBL_HAS_INFINITY__=1",
"__DBL_HAS_QUIET_NAN__=1",
"__DBL_MANT_DIG__=53",
"__DBL_MAX_10_EXP__=308",
"__DBL_MAX__=((double)1.7976931348623157e+308L)",
"__DBL_MAX_EXP__=1024",
"__DBL_MIN_10_EXP__=(-307)",
"__DBL_MIN__=((double)2.2250738585072014e-308L)",
"__DBL_MIN_EXP__=(-1021)",
"__DEC128_EPSILON__=1E-33DL",
"__DEC128_MANT_DIG__=34",
"__DEC128_MAX__=9.999999999999999999999999999999999E6144DL",
"__DEC128_MAX_EXP__=6145",
"__DEC128_MIN__=1E-6143DL",
"__DEC128_MIN_EXP__=(-6142)",
"__DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL",
"__DEC32_EPSILON__=1E-6DF",
"__DEC32_MANT_DIG__=7",
"__DEC32_MAX__=9.999999E96DF",
"__DEC32_MAX_EXP__=97",
"__DEC32_MIN__=1E-95DF",
"__DEC32_MIN_EXP__=(-94)",
"__DEC32_SUBNORMAL_MIN__=0.000001E-95DF",
"__DEC64_EPSILON__=1E-15DD",
"__DEC64_MANT_DIG__=16",
"__DEC64_MAX__=9.999999999999999E384DD",
"__DEC64_MAX_EXP__=385",
"__DEC64_MIN__=1E-383DD",
"__DEC64_MIN_EXP__=(-382)",
"__DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD",
"__DEC_EVAL_METHOD__=2",
"__DECIMAL_DIG__=17",
"__DQ_FBIT__=63",
"__DQ_IBIT__=0",
"__ELF__=1",
"__FINITE_MATH_ONLY__=0",
"__FLOAT_WORD_ORDER__=__ORDER_LITTLE_ENDIAN__",
"__FLT32_DECIMAL_DIG__=9",
"__FLT32_DENORM_MIN__=1.4012984643248171e-45F32",
"__FLT32_DIG__=6",
"__FLT32_EPSILON__=1.1920928955078125e-7F32",
"__FLT32_HAS_DENORM__=1",
"__FLT32_HAS_INFINITY__=1",
"__FLT32_HAS_QUIET_NAN__=1",
"__FLT32_MANT_DIG__=24",
"__FLT32_MAX_10_EXP__=38",
"__FLT32_MAX__=3.4028234663852886e+38F32",
"__FLT32_MAX_EXP__=128",
"__FLT32_MIN_10_EXP__=(-37)",
"__FLT32_MIN__=1.1754943508222875e-38F32",
"__FLT32_MIN_EXP__=(-125)",
"__FLT32X_DECIMAL_DIG__=17",
"__FLT32X_DENORM_MIN__=4.9406564584124654e-324F32x",
"__FLT32X_DIG__=15",
"__FLT32X_EPSILON__=2.2204460492503131e-16F32x",
"__FLT32X_HAS_DENORM__=1",
"__FLT32X_HAS_INFINITY__=1",
"__FLT32X_HAS_QUIET_NAN__=1",
"__FLT32X_MANT_DIG__=53",
"__FLT32X_MAX_10_EXP__=308",
"__FLT32X_MAX__=1.7976931348623157e+308F32x",
"__FLT32X_MAX_EXP__=1024",
"__FLT32X_MIN_10_EXP__=(-307)",
"__FLT32X_MIN__=2.2250738585072014e-308F32x",
"__FLT32X_MIN_EXP__=(-1021)",
"__FLT64_DECIMAL_DIG__=17",
"__FLT64_DENORM_MIN__=4.9406564584124654e-324F64",
"__FLT64_DIG__=15",
"__FLT64_EPSILON__=2.2204460492503131e-16F64",
"__FLT64_HAS_DENORM__=1",
"__FLT64_HAS_INFINITY__=1",
"__FLT64_HAS_QUIET_NAN__=1",
"__FLT64_MANT_DIG__=53",
"__FLT64_MAX_10_EXP__=308",
"__FLT64_MAX__=1.7976931348623157e+308F64",
"__FLT64_MAX_EXP__=1024",
"__FLT64_MIN_10_EXP__=(-307)",
"__FLT64_MIN__=2.2250738585072014e-308F64",
"__FLT64_MIN_EXP__=(-1021)",
"__FLT_DECIMAL_DIG__=9",
"__FLT_DENORM_MIN__=1.4012984643248171e-45F",
"__FLT_DIG__=6",
"__FLT_EPSILON__=1.1920928955078125e-7F",
"__FLT_EVAL_METHOD__=0",
"__FLT_EVAL_METHOD_TS_18661_3__=0",
"__FLT_HAS_DENORM__=1",
"__FLT_HAS_INFINITY__=1",
"__FLT_HAS_QUIET_NAN__=1",
"__FLT_MANT_DIG__=24",
"__FLT_MAX_10_EXP__=38",
"__FLT_MAX__=3.4028234663852886e+38F",
"__FLT_MAX_EXP__=128",
"__FLT_MIN_10_EXP__=(-37)",
"__FLT_MIN__=1.1754943508222875e-38F",
"__FLT_MIN_EXP__=(-125)",
"__FLT_RADIX__=2",
"__FRACT_EPSILON__=0x1P-15R",
"__FRACT_FBIT__=15",
"__FRACT_IBIT__=0",
"__FRACT_MAX__=0X7FFFP-15R",
"__FRACT_MIN__=(-0.5R-0.5R)",
"__GCC_ATOMIC_BOOL_LOCK_FREE=2",
"__GCC_ATOMIC_CHAR16_T_LOCK_FREE=2",
"__GCC_ATOMIC_CHAR32_T_LOCK_FREE=2",
"__GCC_ATOMIC_CHAR_LOCK_FREE=2",
"__GCC_ATOMIC_INT_LOCK_FREE=2",
"__GCC_ATOMIC_LLONG_LOCK_FREE=1",
"__GCC_ATOMIC_LONG_LOCK_FREE=2",
"__GCC_ATOMIC_POINTER_LOCK_FREE=2",
"__GCC_ATOMIC_SHORT_LOCK_FREE=2",
"__GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1",
"__GCC_ATOMIC_WCHAR_T_LOCK_FREE=2",
"__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1=1",
"__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2=1",
"__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4=1",
"__GCC_IEC_559=2",
"__GCC_IEC_559_COMPLEX=2",
"__GNUC__=7",
"__GNUC_MINOR__=3",
"__GNUC_PATCHLEVEL__=0",
"__GNUC_STDC_INLINE__=1",
"__GXX_ABI_VERSION=1011",
"__GXX_TYPEINFO_EQUALITY_INLINE=0",
"__HA_FBIT__=7",
"__HA_IBIT__=8",
"__has_include_next=STR) __has_include_next__(STR)",
"__has_include=STR) __has_include__(STR)",
"__HQ_FBIT__=15",
"__HQ_IBIT__=0",
"__INT16_C=c) c",
"__INT16_MAX__=0x7fff",
"__INT16_TYPE__=short int",
"__INT32_C=c) c ## L",
"__INT32_MAX__=0x7fffffffL",
"__INT32_TYPE__=long int",
"__INT64_C=c) c ## LL",
"__INT64_MAX__=0x7fffffffffffffffLL",
"__INT64_TYPE__=long long int",
"__INT8_C=c) c",
"__INT8_MAX__=0x7f",
"__INT8_TYPE__=signed char",
"__INT_FAST16_MAX__=0x7fffffff",
"__INT_FAST16_TYPE__=int",
"__INT_FAST16_WIDTH__=32",
"__INT_FAST32_MAX__=0x7fffffff",
"__INT_FAST32_TYPE__=int",
"__INT_FAST32_WIDTH__=32",
"__INT_FAST64_MAX__=0x7fffffffffffffffLL",
"__INT_FAST64_TYPE__=long long int",
"__INT_FAST64_WIDTH__=64",
"__INT_FAST8_MAX__=0x7fffffff",
"__INT_FAST8_TYPE__=int",
"__INT_FAST8_WIDTH__=32",
"__INT_LEAST16_MAX__=0x7fff",
"__INT_LEAST16_TYPE__=short int",
"__INT_LEAST16_WIDTH__=16",
"__INT_LEAST32_MAX__=0x7fffffffL",
"__INT_LEAST32_TYPE__=long int",
"__INT_LEAST32_WIDTH__=32",
"__INT_LEAST64_MAX__=0x7fffffffffffffffLL",
"__INT_LEAST64_TYPE__=long long int",
"__INT_LEAST64_WIDTH__=64",
"__INT_LEAST8_MAX__=0x7f",
"__INT_LEAST8_TYPE__=signed char",
"__INT_LEAST8_WIDTH__=8",
"__INT_MAX__=0x7fffffff",
"__INTMAX_C=c) c ## LL",
"__INTMAX_MAX__=0x7fffffffffffffffLL",
"__INTMAX_TYPE__=long long int",
"__INTMAX_WIDTH__=64",
"__INTPTR_MAX__=0x7fffffff",
"__INTPTR_TYPE__=int",
"__INTPTR_WIDTH__=32",
"__INT_WIDTH__=32",
"__LACCUM_EPSILON__=0x1P-31LK",
"__LACCUM_FBIT__=31",
"__LACCUM_IBIT__=32",
"__LACCUM_MAX__=0X7FFFFFFFFFFFFFFFP-31LK",
"__LACCUM_MIN__=(-0X1P31LK-0X1P31LK)",
"__LDBL_DECIMAL_DIG__=17",
"__LDBL_DENORM_MIN__=4.9406564584124654e-324L",
"__LDBL_DIG__=15",
"__LDBL_EPSILON__=2.2204460492503131e-16L",
"__LDBL_HAS_DENORM__=1",
"__LDBL_HAS_INFINITY__=1",
"__LDBL_HAS_QUIET_NAN__=1",
"__LDBL_MANT_DIG__=53",
"__LDBL_MAX_10_EXP__=308",
"__LDBL_MAX__=1.7976931348623157e+308L",
"__LDBL_MAX_EXP__=1024",
"__LDBL_MIN_10_EXP__=(-307)",
"__LDBL_MIN__=2.2250738585072014e-308L",
"__LDBL_MIN_EXP__=(-1021)",
"__LFRACT_EPSILON__=0x1P-31LR",
"__LFRACT_FBIT__=31",
"__LFRACT_IBIT__=0",
"__LFRACT_MAX__=0X7FFFFFFFP-31LR",
"__LFRACT_MIN__=(-0.5LR-0.5LR)",
"__LLACCUM_EPSILON__=0x1P-31LLK",
"__LLACCUM_FBIT__=31",
"__LLACCUM_IBIT__=32",
"__LLACCUM_MAX__=0X7FFFFFFFFFFFFFFFP-31LLK",
"__LLACCUM_MIN__=(-0X1P31LLK-0X1P31LLK)",
"__LLFRACT_EPSILON__=0x1P-63LLR",
"__LLFRACT_FBIT__=63",
"__LLFRACT_IBIT__=0",
"__LLFRACT_MAX__=0X7FFFFFFFFFFFFFFFP-63LLR",
"__LLFRACT_MIN__=(-0.5LLR-0.5LLR)",
"__LONG_LONG_MAX__=0x7fffffffffffffffLL",
"__LONG_LONG_WIDTH__=64",
"__LONG_MAX__=0x7fffffffL",
"__LONG_WIDTH__=32",
"__NO_INLINE__=1",
"__ORDER_BIG_ENDIAN__=4321",
"__ORDER_LITTLE_ENDIAN__=1234",
"__ORDER_PDP_ENDIAN__=3412",
"__PRAGMA_REDEFINE_EXTNAME=1",
"__PTRDIFF_MAX__=0x7fffffff",
"__PTRDIFF_TYPE__=int",
"__PTRDIFF_WIDTH__=32",
"__QQ_FBIT__=7",
"__QQ_IBIT__=0",
"__REGISTER_PREFIX__",
"__SACCUM_EPSILON__=0x1P-7HK",
"__SACCUM_FBIT__=7",
"__SACCUM_IBIT__=8",
"__SACCUM_MAX__=0X7FFFP-7HK",
"__SACCUM_MIN__=(-0X1P7HK-0X1P7HK)",
"__SA_FBIT__=15",
"__SA_IBIT__=16",
"__SCHAR_MAX__=0x7f",
"__SCHAR_WIDTH__=8",
"__SFRACT_EPSILON__=0x1P-7HR",
"__SFRACT_FBIT__=7",
"__SFRACT_IBIT__=0",
"__SFRACT_MAX__=0X7FP-7HR",
"__SFRACT_MIN__=(-0.5HR-0.5HR)",
"__SHRT_MAX__=0x7fff",
"__SHRT_WIDTH__=16",
"__SIG_ATOMIC_MAX__=0x7fffffff",
"__SIG_ATOMIC_MIN__=(-__SIG_ATOMIC_MAX__ - 1)",
"__SIG_ATOMIC_TYPE__=int",
"__SIG_ATOMIC_WIDTH__=32",
"__SIZE_MAX__=0xffffffffU",
"__SIZEOF_DOUBLE__=8",
"__SIZEOF_FLOAT__=4",
"__SIZEOF_INT__=4",
"__SIZEOF_LONG__=4",
"__SIZEOF_LONG_DOUBLE__=8",
"__SIZEOF_LONG_LONG__=8",
"__SIZEOF_POINTER__=4",
"__SIZEOF_PTRDIFF_T__=4",
"__SIZEOF_SHORT__=2",
"__SIZEOF_SIZE_T__=4",
"__SIZEOF_WCHAR_T__=4",
"__SIZEOF_WINT_T__=4",
"__SIZE_TYPE__=unsigned int",
"__SIZE_WIDTH__=32",
"__SQ_FBIT__=31",
"__SQ_IBIT__=0",
"__STDC__=1",
"__STDC_HOSTED__=1",
"__STDC_UTF_16__=1",
"__STDC_UTF_32__=1",
"__STDC_VERSION__=201112L",
"__TA_FBIT__=63",
"__TA_IBIT__=64",
"__thumb__=1",
"__thumb2__=1",
"__THUMBEL__=1",
"__THUMB_INTERWORK__=1",
"__TQ_FBIT__=127",
"__TQ_IBIT__=0",
"__UACCUM_EPSILON__=0x1P-16UK",
"__UACCUM_FBIT__=16",
"__UACCUM_IBIT__=16",
"__UACCUM_MAX__=0XFFFFFFFFP-16UK",
"__UACCUM_MIN__=0.0UK",
"__UDA_FBIT__=32",
"__UDA_IBIT__=32",
"__UDQ_FBIT__=64",
"__UDQ_IBIT__=0",
"__UFRACT_EPSILON__=0x1P-16UR",
"__UFRACT_FBIT__=16",
"__UFRACT_IBIT__=0",
"__UFRACT_MAX__=0XFFFFP-16UR",
"__UFRACT_MIN__=0.0UR",
"__UHA_FBIT__=8",
"__UHA_IBIT__=8",
"__UHQ_FBIT__=16",
"__UHQ_IBIT__=0",
"__UINT16_C=c) c",
"__UINT16_MAX__=0xffff",
"__UINT16_TYPE__=short unsigned int",
"__UINT32_C=c) c ## UL",
"__UINT32_MAX__=0xffffffffUL",
"__UINT32_TYPE__=long unsigned int",
"__UINT64_C=c) c ## ULL",
"__UINT64_MAX__=0xffffffffffffffffULL",
"__UINT64_TYPE__=long long unsigned int",
"__UINT8_C=c) c",
"__UINT8_MAX__=0xff",
"__UINT8_TYPE__=unsigned char",
"__UINT_FAST16_MAX__=0xffffffffU",
"__UINT_FAST16_TYPE__=unsigned int",
"__UINT_FAST32_MAX__=0xffffffffU",
"__UINT_FAST32_TYPE__=unsigned int",
"__UINT_FAST64_MAX__=0xffffffffffffffffULL",
"__UINT_FAST64_TYPE__=long long unsigned int",
"__UINT_FAST8_MAX__=0xffffffffU",
"__UINT_FAST8_TYPE__=unsigned int",
"__UINT_LEAST16_MAX__=0xffff",
"__UINT_LEAST16_TYPE__=short unsigned int",
"__UINT_LEAST32_MAX__=0xffffffffUL",
"__UINT_LEAST32_TYPE__=long unsigned int",
"__UINT_LEAST64_MAX__=0xffffffffffffffffULL",
"__UINT_LEAST64_TYPE__=long long unsigned int",
"__UINT_LEAST8_MAX__=0xff",
"__UINT_LEAST8_TYPE__=unsigned char",
"__UINTMAX_C=c) c ## ULL",
"__UINTMAX_MAX__=0xffffffffffffffffULL",
"__UINTMAX_TYPE__=long long unsigned int",
"__UINTPTR_MAX__=0xffffffffU",
"__UINTPTR_TYPE__=unsigned int",
"__ULACCUM_EPSILON__=0x1P-32ULK",
"__ULACCUM_FBIT__=32",
"__ULACCUM_IBIT__=32",
"__ULACCUM_MAX__=0XFFFFFFFFFFFFFFFFP-32ULK",
"__ULACCUM_MIN__=0.0ULK",
"__ULFRACT_EPSILON__=0x1P-32ULR",
"__ULFRACT_FBIT__=32",
"__ULFRACT_IBIT__=0",
"__ULFRACT_MAX__=0XFFFFFFFFP-32ULR",
"__ULFRACT_MIN__=0.0ULR",
"__ULLACCUM_EPSILON__=0x1P-32ULLK",
"__ULLACCUM_FBIT__=32",
"__ULLACCUM_IBIT__=32",
"__ULLACCUM_MAX__=0XFFFFFFFFFFFFFFFFP-32ULLK",
"__ULLACCUM_MIN__=0.0ULLK",
"__ULLFRACT_EPSILON__=0x1P-64ULLR",
"__ULLFRACT_FBIT__=64",
"__ULLFRACT_IBIT__=0",
"__ULLFRACT_MAX__=0XFFFFFFFFFFFFFFFFP-64ULLR",
"__ULLFRACT_MIN__=0.0ULLR",
"__UQQ_FBIT__=8",
"__UQQ_IBIT__=0",
"__USACCUM_EPSILON__=0x1P-8UHK",
"__USACCUM_FBIT__=8",
"__USACCUM_IBIT__=8",
"__USACCUM_MAX__=0XFFFFP-8UHK",
"__USACCUM_MIN__=0.0UHK",
"__USA_FBIT__=16",
"__USA_IBIT__=16",
"__USER_LABEL_PREFIX__",
"__USES_INITFINI__=1",
"__USFRACT_EPSILON__=0x1P-8UHR",
"__USFRACT_FBIT__=8",
"__USFRACT_IBIT__=0",
"__USFRACT_MAX__=0XFFP-8UHR",
"__USFRACT_MIN__=0.0UHR",
"__USQ_FBIT__=32",
"__USQ_IBIT__=0",
"__UTA_FBIT__=64",
"__UTA_IBIT__=64",
"__UTQ_FBIT__=128",
"__UTQ_IBIT__=0",
"__VERSION__=\"7.3.0\"",
"__VFP_FP__=1",
"__WCHAR_MAX__=0xffffffffU",
"__WCHAR_MIN__=0U",
"__WCHAR_TYPE__=unsigned int",
"__WCHAR_WIDTH__=32",
"__WINT_MAX__=0xffffffffU",
"__WINT_MIN__=0U",
"__WINT_TYPE__=unsigned int",
"__WINT_WIDTH__=32"
],
"intelliSenseMode": "clang-x64",
"compilerPath": "arm-none-eabi-gcc.exe -mcpu=cortex-m4 -mthumb -mfloat-abi=hard",
"cStandard": "c99",
"cppStandard": "c++11"
}
],
"version": 3
}
@bobbrow
Copy link

bobbrow commented Aug 28, 2018

Is it necessary to list out all the system includes and defines still? Passing in the compiler arguments as part of compilerPath is supposed to handle that for you.

@diggit
Copy link

diggit commented Oct 14, 2019

@bobbrow this gist is now outdated, your solution from microsoft/vscode-cpptools#1484 (comment) works

important is "intelliSenseMode", "compilerPath" and "compilerArgs", adjust to your needs.

Here is my simplified c_cpp_properties.json

{
	"configurations": [
		{
			"name": "ARM none eabi GCC",
			"includePath": [
				"${workspaceRoot}",
				"${workspaceRoot}/src"
			],
			"defines": [
				"DEBUG=1",
				"SystemCoreClock = 180000000UL"
			],
			"intelliSenseMode": "gcc-x64",
			"compilerPath": "/usr/bin/arm-none-eabi-gcc",
			"compilerArgs": [
				"-mcpu=cortex-m4",
				"-mthumb",
				"-mfloat-abi=hard"
			],
			"cStandard": "c11",
			"cppStandard": "c++17"
		}
	],
	"version": 4
}

Edit: modifications according to following comment , thanks @bobbrow !

@bobbrow
Copy link

bobbrow commented Oct 14, 2019

There is also "compilerArgs" in c_cpp_properties.json that you can use for the compiler arguments. You should also be able to remove the "browse" section as the extension should be adding the same thing automatically when you don't specify it.

Cheers!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment