In November of 2008, ARM announced the availability of the Cortex Microcontroller Software Interface Standard (CMSIS). They claim that this will reduce the cost of designing software when creating projects for new devices or migrating existing software between Cortex-M based microcontrollers from different silicon vendors. This sounds very good, but is it valid? This paper investigates these claims to determine just how valid they are. This paper also looks at the components of a typical microcontroller and then see just what can or cannot be gained by adding an abstraction layer on top of the typical peripheral firmware libraries.