 Now, in this part, we will summarize all the points which we have covered during this session. Thank you for watching this training. I hope you have found here some answers to your questions or doubts related to Freer2S and CMC's OS. Let's summarize our goals we have set at the beginning of this session. So, let's find whether we have found answers to questions like what is an operating system, what are the main components of it, what are the main advantages and disadvantages, how to start the software development based on the operating system, when we would need it with an embedded MCU-based application and what are the typical mistakes during operating system-based application development. Let's have a look whether it was possible to answer all of those questions. What is an operating system? We can define it as a program which is managing execution of serious small programs called tasks which are doing the actions with an embedded application. The real-time operating system which we are considering here is more deterministic version where all operations are tightly connected to hardware components of the system by interrupts. What are the main components of the operating system? The most important component of the operating system is scheduler which is managing the tasks and other components and made an interaction with hardware components of the system. Next components group are tasks. It is called threads within CMC's OS version 2. Those are mini-programs performing scheduled actions within the system. Another group of components are communication mechanisms for interaction among tasks or between the task and interrupts. Within this group we can find semaphore, SKUs, mutexes, event flags and thread flags. We have as well software timers which are responsible for actions, triggers within specified time. What are the main advantages and disadvantages of the operating system? Among main advantages of this I would list more determinism within application done by split the code into smaller portion or smaller actions which are executed periodically. Additional resources like semaphore, SKUs, mutexes which support resource management like shared memory or for example display interfaces built in stack protection mechanisms which gives more control of the application and recovery point in case of issues related to the code execution. Main disadvantages of operating system could be different way of application creation and its execution, RAM and flash memory bigger usage and slower execution speed due to time consumed by the context switch. How to start the development on STM32 and operating system? The fastest way to start with operating system on STM32 is to use STM32QBemix or STM32QPide and add free RTOS there. Within those programs ready to use project template will be generated and the role of the user would be to fill that task function bodies. Another method is to reuse existing examples which are present within application folder for selected STM32 based board within its cube library pack. In all above cases user will work using CMC's OS version 1 on version 2 API. When we need to use OS in embedded system? Usually we are selecting operating system within embedded application when we need to perform some actions on regular time intervals like USB or Ethernet data packets, reception or transmission. When we are using some shared resources which needs to be properly managed and should have an exclusive access like shared memory or display interface and when the application is built from processes, functions which are dependent from each other and need some synchronization mechanisms between them. What are typical mistakes during work with operating system? I would list here the following points. Using the same timer which is used for time slice to other purposes improper interrupts priority configuration not enough RAM memory allocated for operating system heap misunderstanding of the timeout role in some of the functions especially related to queues and semaphors. We have covered these within troubleshooting and the typical mistakes part in this training. More information about FreeR2S and its native API you can find on dedicated web page freer2s.org More information about CMC's OS version 2 you can find on dedicated Kail web page and the link you can find below. You can refer as well to our dedicated user manual UM1722 which could be found on below link which you can see on the screen. Ready to use FreeR2S examples with CMC's OS layer are available within Kube library for each STM32 line. Usually it is in Applications folder like on a below example for Nucleo L476ergy board. Thank you for your participation within this session. I know this session was quite long but I hope it was fruitful time for you. More information about this session so prerequisites linked to materials are present within dedicated web page to ST which you can find on the screen. In case of any questions please post them to our support forum at community.st.com. If you would like to share your opinion with us about this session please use the following anonymous survey on SurveyMonkey. We'll try to use your remarks suggestions during next session creations. All above information you can find as well within the description of this video. Thank you once again. Let me wish you a pleasant day or night. Goodbye. Thank you for watching this video.