We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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
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
Thanks Christopher and Bill