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.
