Does anyone use CMSIS-Driver specification?

In the CMSIS-Driver specification, all interface structs and functions are described as plain C.

arm-software.github.io/.../theoryOperation.html

But the function calls simply won't work in plain C, they must be C++  in order to receive the hidden "this" parameter.

Same with callbacks - they must receive reference to their "this" object.

So the question - does anybody actually implement drivers per this spec, if yes then how? C or C++?

Thanks,

--pa

Parents
  • Hello Pavel,

    thanks for your inquiry. If you check all packs that are publicly available, there are close to 800 unique CMSIS-Driver components in the packs and more than 25% of all supported devices are covered by CMSIS-Drivers. I would not say that "nobody is using it". For example, NXP adds CMSIS-Drivers for serial interfaces (USART, SPI, I2C) to all of their device family packs.

    Hope this helps,

    Christopher

Reply
  • Hello Pavel,

    thanks for your inquiry. If you check all packs that are publicly available, there are close to 800 unique CMSIS-Driver components in the packs and more than 25% of all supported devices are covered by CMSIS-Drivers. I would not say that "nobody is using it". For example, NXP adds CMSIS-Drivers for serial interfaces (USART, SPI, I2C) to all of their device family packs.

    Hope this helps,

    Christopher

Children