CMSIS is a vendor independant Hardware Asbtraction Layer made by ARM but usable 
on other architecture. It's basically a standard API for RTOS & common driver.

It's widely used in the embedded industry and you often have a C-implementation 
of CMSIS with commercial boards. You always have one provided with STM32 
boards. Even when it's whant your board uses, it can provide the basis for how 
to implement a driver and have similar API on different boards.

See :

  * [Driver 
template](https://www.keil.com/pack/doc/CMSIS/Driver/html/referenceImplementation.html)
  * [RTOS API](https://www.keil.com/pack/doc/CMSIS/RTOS2/html/index.html)



The [Zephyr 
project](https://docs.zephyrproject.org/latest/reference/index.html), is also 
something to look at as it's a RTOS with defned API for networking, storage, 
bluetooth, crypto, file system etc. There is a port of Zephyr of the ESP32 if 
I'm not mistaken.

Reply via email to