 Okay. So the agenda for this part is about easy. So an overview of the Qube ecosystem, then an overview of the Azure Ertos, and the integration of the Azure Ertos on our Qube. Okay. So let's start understanding. I think you know already, but in case you don't, okay, a quick introduction. So what is the STN32 Qube software suite? Okay. It has basically a collection of tools and embedded software, and the tools are meant to guide you from the configuration of your project up to the monitoring on the field of your project. Okay. So this is the aim of our tools. And this process started in 2014 when we released our first package of the software suite. And so far, we have more than 7 billion STN32 units worldwide that are using these tools. This in order to say that we got a lot of experience over the last years in order to improve the quality and getting all the feedbacks from the field, we changed, we upgraded, and we upgrade roughly in a quarterly base the release of this software in order to improve the quality to let it to be easy to use and of course to upgrade it for the new MCU that we release every year. So starting from the Qube MX, the Qube MX is a graphical configuration tool where you can select your MCU. When you have selected the MCU, you can address all the hardware features of the MCU itself. You can configure the meaning of each pin, the behavior of each peripheral, but not only, okay? You can also touch everything that is connected to the middleware or you can install additional expansions for your project. The main idea of Qube MX is that with a few clicks and in a graphical way, you set up the configuration of your system, of your project and then you can generate the initialization code for your project. A Qube MX generates code for Qube DI, that is our EDI, and for IR, for instance, or Kyle. So it's not only meant to work in ST only, but also for additional platforms. The good idea behind the Qube MX is that when you generate a project, you can always go back to the graphical interface in order to add the modification to your code to the setup of your platform in order to adapt your platform during the development. So if you need to change any IO, if you will need to add any package, you can do it still preserving the application that you have written in the ADI. And then we have the ADI, okay? The Qube ADI instead is our common place where the Qube MX, so the graphical configuration tool, the development tool where you can really type your code, test and debug your code, and the programmer are all together, okay? So the Qube ADI is a complete software suite that can guide you from the beginning up to the debug of your application. Of course, as I said before, you can use our ADI, or you can use our ADI, excuse me, or the ADI that you are happy to use like a yard for instance. Then we have the programmer. The programmer, of course, is needed to upload in a secure way the program on your MCU, and you can use it to program your system. Last but not least, and we have a dedicated slide at the end is the monitoring. Monitoring that is provided by the Qube Monitor is a way to monitor in a real time and non-intrusive way your application also in the field. And this is a way to have a touch on variables, memory portion of your project, of your program running on the target in a release way, not in the bug way, in a non-intrusive way, in order to monitor the functionalities and typically meant for the bug, but also for other functionalities such as triggering of algorithm or stuff like that. We will see later. Then in terms of software, we provide the software packages that are meant to support a given series, okay? So you have packages for each, the series that we provide. And then there are also expansions pack that are meant to provide additional functionalities that you could need on your application. For instance, in ePron emulation, okay? You have the expansion pack for it. So talking about the middleware in where instead, this is our offering so far since 2021, that is basically the three-year toss that is the operating system, in pair with additional middlewares, typically for FAT file system, for TCP IP stack, and for the USB library, okay? So this is what you should be a habit to see in our offering. Now let's see how the situation changes. And the main aim of the meeting today, talking about the middleware, we added or we complemented our offering thanks to the Azure RTOS. Now, Azure RTOS is not only the operating system itself that instead is the ThreadX, okay? So the Azure RTOS ThreadX is the real operating system. While when we talk about Azure RTOS, we talk not only about the operating system, okay? So the kernel of the system but also about additional packages that are in this case and what we embraced so far are the FileX for in order to manage the file system, NetX and NetX Duo for TCP IP version 4 and version 6 and also the USB X for host and device USB application, okay? So when we talk about in ST and in our offering about Azure RTOS, it means that we are referring to all these offering, okay? What are the benefits, why we did this step forward, okay? Because basically Azure RTOS is meant to provide best performances in terms of execution and in terms of footprint because this bio architecture is meant to be ready for embedded system. And this means that in terms of footprint and in terms also of content switch, it is really designed for embedded application providing very fast or very nice performances. It is a complete and consistent solution. Why? As we have seen on the slide before, Azure RTOS is not only the kernel but it also provides a lot of packages, okay? And it is also meant for different needs. And it is consistent because the API style, the documentation, the philosophy and the architecture that is behind all the packages is exactly the same. So when you have learned how to use or what is the philosophy behind an API, you can retrieve and find exactly the same philosophy and APIs that are meant for the different packages. And last but not least, this is of course not a ranking in terms of priority. And what is really important is about the certifications. We can see in a slide that is coming certification about safety and security. So what are the key features? As I said, this is an industrial grade, especially talking about the networking. So it is ready for many IoT protocols. And as we will see later, we support already a lot of additional protocols on top of the standard TCP IP networking protocol. It provides a full system for the tolerant, meant for SD, NAND, and so on, so already available. For the USB is an Austin device. And it is of course provided with many classes already available for you. And it comes from Microsoft, okay? Already pre-certified for safety and security. And here you can find the sum of the industrial and the automotive and the medical class that you can achieve, okay? So it can goes up to the C4 or class C for medical or up to SLD for automotive. Of course, we don't have SDN32 automotive so far, okay? But this is in order to provide you the feeling, okay? How these suite is mature for both safety and security. About security, instead for TLS and DTLS is up to EL4+, and talking about software, CryptoLibrary is a FIPS 140 that this is typically needs for medical application. Because operating system is very good, but when you have to debug and you have to trace what happened, it could be difficult if you don't have a right tools in order to see the progress of each tasks, the HEEPO or everything that is connected to the communication, Q, semaphore, stuff like that. Okay, so it provides a very nice tracing and debugging capability. And the guy in during the technical session will show you what this means. Last but not least, it is completely free when you work with the SDN32, okay? So basically you don't have nothing, anything to pay is something like embedded on the usage of the SDN32. Just to give you a quick information, I wanted to go about fast on this slide, but the idea, when we talk about the point that Azure TOS is meant for embedded application in terms also of footprint, you can see the kernel goes down to 2K byte of flash, in its minimal footprint. And we have a sub microsecond context which, as I said, that is able to provide a lot of performances in terms of safe and security, we just talked about that. And it also provides additional benefit versus a standard operating system that is some over the other preemption three-shoulder. So you can trigger the preemption. You can put in chain events, okay, in order to improve the capability or the speed on how you manage multiple events in a chain and it also auto scaling, okay? So, okay, something that is interesting, but we will touch later is the possibility to have some abstraction layer for free at TOS. So for whom is able to use free at TOS, you have something like a parser or an abstraction that allows you to still keep your free at TOS APIs still working on an Azure and ThreadX environment. This is for USB X, I don't wanna go, but what is important here to see is the amount of classes that are already available for you, okay, don't wanna to enter in the details here. You have these slides so you can read by yourself. This is the NetEx instead Duo, the TCP, IPv4 and v6 stack. What is important for you instead in this slide on top of this ball, because 50K byte for such a kind of stack is something that is really interesting. But what I want or where I'd like to have your attention is exactly on the additional networking layers on top of the TCP, IP, stack that are needed for any kind of networking application. So we can notice MQTT, CoIP, and everything that is absolutely common, the HCP, NAT, SNMP and so on, okay, DNS, MDNS. So these are already available for you, part of the package and mandatory for any kind of application talking about networking. There is also the FileEx in order to manage the file system. So we support all basically the standard fat, including the extended fat, and this is license free for usage on the STM32. Okay, what is the delivery model of the Azure RTOS? Okay, we have to distinguish into basically a main session. If we talk about MCU already available in our portfolio, and in MCU that are coming or very new in our portfolio, for everything that is already available in the market, that is added recently on our portfolio, what we provide are extension package, okay? So you can upload, you can get the extension package for your MCU in this case H7, F4, L4, and other, and we have a slide right after describing what are the packages available, and so you can then use Cubemix to configure everything, okay? So the main point is that you have the standard tools, you have to download the extension of the middleware and then you can work with the Cubemix and all the tools that we have talked before. What are the packages available today? Okay, basically, as you can see, this slide is talking about November, Q4, December, Q4, meaning that within this year, you will have all these MCUs supported where for which you can have the Azure RTOS extension package to use, okay? So what is really interesting in this slide is first, you can easily understand that from H7, so M7 500 MHz, you can use the Azure RTOS up to Cortex M0 plus 64 MHz. So this is really interesting because it's going to create a way to migrate your project across a very large product portfolio. And what is also interesting is that we are ready to deploy Azure RTOS also for the wireless MCUs for the sub-giga and the 2.4-giga and everything will happen within this year, okay? Next is instead about the new MCUs that we already released, U5, for instance, has been released in September and for everything that is coming, in this case, you will not need to download an extension package, but the Azure RTOS will be part of the SDK, will be part of the CUBE package for that MCU, okay? So alongside with any peripheral driver examples and so on, you will have also the Azure RTOS available in a single package. As I said before, this is our offering so far, so not only the Tredex, okay? With all the examples for the creation, synchronization, message queue and so on, we also provided the wrappers that I have said before, so wrappers for free RTOS, SCMCs, meaning that if you are a habit that you use a free RTOS or a SCMCs language, you can still leverage on these way to write your code, okay? So in order to have a very seamless migration to Azure RTOS, then talking about the USB X, we have, of course, we are talking about USB, so we have a host and device and we provide also examples for all these classes, so if you have a mass storage, you have the classes, you have, if you need a human interface, you have it and so on, okay? So those are already examples available for you. Talking about, instead of the TCP-IP, we have, again, the server and the client, we have TCP and UDP examples and we have also standard examples that you can easily use, such as a web server, MQTT client, network time protocol client and other examples already available. And instead, last, talking about FileX, you have additional examples how to easy access to your memory and the file system. Okay, we already touched these so we can skip easily these slides. Okay. The CubemX, as I said before, okay? Is meant in this case to import a package, okay? Or also to create a package. The package creator is really interesting because it allows you to create new packages that you can or you could reuse inside your company, for instance, because you have made a package that can be used across multiple projects on your system or you can also create packages to be shared with the community, why not, okay? Or also sold as a professional services. As I said, the CubemX is a graphical user configuration tool. Everything is made in a graphical way and we have also different workshop and web in a ready or coming describing how to use for different use cases, including also configuration of Bluetooth or energy, for instance, in a full graphical configuration way. And then you have the code generation. So CubemX, at the end of the process, create a code for you that you can use with your IDE or with our IDE. Cubed IDE instead is the ST, as I said, free of charge and it provides to first, as I said, include the CubemX so you can configure your platform. You have the code development, so everything needed. Cubed AI is based on Eclipse and GCC as a compiler. You can debug and programming and then you can, and this is what we are going to see today, you can fully debug your operating system, okay? So you can have full awareness about the thread, about the motex, about the queue, about what happened talking about an operating system. Last, but really not least, is the Cube Monitor. Let me spend a couple of words about the Cube Monitor. As I said, this is a non-intrusive tool. What is the main target of Cube Monitor? When you have released a software, okay, and you have, for instance, a bug that happens after days of working, okay? And it is very hard to be replicated at the desk. So typically what a technical guy do is adding a lot of tracing code in order to try to understand to trace the flow of the bug. And typically, if, for instance, we are talking about memory issues, the fact that you are adding a code is, can move, okay, or can also hide completely the bug itself. Now the Cube Monitor is, instead, is a non-intrusive, meaning that you don't need to add line of codes in your application. And the Cube Monitor is able, in a graphical way, to show variables, a portion of RAM and stuff like that, and also take action when something happened, okay? So it's a really interesting graphical way to interact with your application in order to trace variables meant for the bug or meant in order to improve the quality, for instance, of some algorithm when you have a tracing over some days of activity. Is a drag and drop, as I said, is a graphical tool, already a lot of widget ready, so you can leverage on a very nice, also, look and feel. It is based on a red node, so you can really create a complex decision flow in order to alert or to do something when there are multiple conditions happening, and really, this is super interesting, that you can use these in a remote way, meaning that you can have your board, your hardware, and software in the field, and you can use a tunnel through internet to your board to monitor what happened in your hardware. And I think this is all for myself. I think that you enjoyed this part, and now let's go directly to the technical part.