11 Replies Latest reply on Sep 23, 2019 4:55 AM by clem57

    Can't Build Hellow World

    drboucher

      I am using the Arm Musca Board that has the Musca A1 chip. I have installed the plugin and have downloaded the gnu mcu windows build tools.

      Steps for setting up project:

      1. New -> Project -> C Project

      2. Hello World ARM Cortex-M C/C++ Project / ARM Cross GCC

      3. Processor core = Cortex-M33, Use System calls = Freestanding (no POSIX system calls), Trace output = None (no trace output), all other settings left at default

      4. Folders left at default

      5. Configurations left at default

      6. Toolchain name = GNU Tools for ARM Embedded Processors (arm-none-eabi-gcc)

                     Toolchain path = ..\GNU Tools Arm Embedded\7 2018-q2-update\bin

      ---------

      7. Window -> Preferences -> MCU -> Global ARM Toolchains Path

      8. Toolchain folder = ..\GNU Tools Arm Embedded\7 2018-q2-update\bin

       

      Seven of the files build successfully. Upon reaching trace_impl.c, I receive my error:

       

      Building file: ../system/src/diag/trace_impl.c

      Invoking: GNU ARM Cross C Compiler

      arm-none-eabi-gcc -mcpu=cortex-m33 -mthumb -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-move-loop-invariants -Wall -Wextra  -g3 -DDEBUG -DTRACE -I"../include" -I"../system/include" -I"../system/include/cmsis" -I"../system/include/DEVICE" -std=gnu11 -MMD -MP -MF"system/src/diag/trace_impl.d" -MT"system/src/diag/trace_impl.o" -c -o "system/src/diag/trace_impl.o" "../system/src/diag/trace_impl.c"

      In file included from ../system/include/cmsis/cmsis_device.h:4:0,

                       from ../system/src/diag/trace_impl.c:32:

      ../system/include/cmsis/DEVICE.h:176:3: error: unknown type name '__IO'

         __IO uint32_t EN;                         /*!< Offset: 0x0000   Timer Enable Register           */

         ^~~~

      ../system/include/cmsis/DEVICE.h:176:17: error: expected ':', ',', ';', '}' or '__attribute__' before 'EN'

         __IO uint32_t EN;                         /*!< Offset: 0x0000   Timer Enable Register           */

                       ^~

       

      Any suggestions are greatly appreciated.

      Thank you.