When a microcontroller application has to handle many tasks at the same time, we can use RTOS (real-time operating system) to help us manage these tasks. In RTOS system, CPU processing time is divided into a number of time slots. Each time slot processes different task and the switching between these tasks can be hundred times per second. It appears to that the application tasks are running simultaneously. When the application becomes more and more complex, we can use RTOS to help us managing these tasks.
CMSIS-RTOS in Keil MDK (Microcontroller Development Kit) provides a standard API for RTOS and application layer, includes the Keil free RTOS, RTX (Real-Time eXecutive) kernel. Once others RTOS can support CMSIS-RTOS, we can port our application to others RTOS platform easily. This sample code uses RTX kernel, which is provided by Keil CMSIS-MDK, to create a RTX kernel system, and then access EEPROM.