I am missing something very obvious. I've been using version 5.14 of the ARM MDK for months and only recently got around to updating to 5.2. With this update came an update of CMSIS 4.3.0 to 4.5.0. I am only using the core components of CMSIS. Rebuilding my project with 4.5.0 resulted in a massive list of errors that appear to be caused by a single setting/switch for a conditional compile somewhere. I've hunted high and low but I seem to be blind to the cause of the error:
compiling BMC.c... C:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include\cmsis_armcc.h(57): error: #247: function "__get_CONTROL" has already been defined __STATIC_INLINE uint32_t __get_CONTROL(void)
".\Objects\BMC.axf" - 551 Error(s), 261 Warning(s).
Configuring my project to use the "old" 4.3.0 CMSIS software pack results in a clean build (0 errors, 0 warnings). Can someone please point out the obvious to me? Thanks.
Hold the mail! Even a blind chicken will find the occasional kernel (even on a Friday afternoon!). I managed to suppress the redefinitions of CMSIS functions in my code (snuck in via some example code). I'm still not sure why my 4.3.0 SW pack did not include the file "cmsis_armcc.h"... But that's for me to determine.