Description
The ARM mbed cmsis-core files are currently from CMSIS version 3.20, which is more than 3 years old by now. CMSIS version 4.5 was recently released, and the later versions of CMSIS define new macros for use by silicon vendors in device header files. This means that at some point in the future, silicon vendors may start to depend on symbols only defined in newer versions of CMSIS in their device header files.
Such symbols include the _I
, _O
and _IO
macros. In CMSIS 4.2 and newer, these have been replaced by _IM
, _OM
and _IOM
for structure members. The old symbols still exist, but the M-suffixed ones are recommended for new devices.
How will ARM mbed support this going forward? Will the CMSIS core header files in cmsis-core be updated to newer versions, or will mbed require silicon vendors to maintain device header files compatible with CMSIS 3.20 for the foreseeable future? If the core headers are updated with backwards-incompatible changes, how will this be handled with regards to existing mbed enabled devices?