 Let's start the dual-core project creation for STM32WL55 using STM32Cube IDE. The important point once we start project creation of an STM32Cube IDE or Cubemix is a selection of this EnableMultiCPUs configuration. With this setting, both applications, so either STM32Cube IDE or STM32CubeMix, will generate, in fact, two projects related to both cores. Now we will have as well separate interrupt controllers for both cores, which would allow us to assign different interrupt vectors for both cores. Okay, I'm starting STM32Cube IDE. In my case, it would be version 1.5.1, I will use some existing workspace, and within this workspace I would create a new project. So I click this create a new STM32 project, our microcontroller, because I would use the MC1PU selector, it will be WL55J, this is only one, so I click next. And now the name of our project would be STM32WL underscore basic underscore dual underscore core. And important point is to check whether this EnableMultiCPU configuration is selected, because it allows us, it informs STM32Cube IDE that we would like to create, in fact, two projects for both cores. And click finish. As we can see the skeleton of the complete application is done, it creates, in fact, two projects for both cores, for ARM Cortex-M4 and ARM Cortex-M0 plus, as expected. Okay, so now we can see the configuration perspective, so this is the command point with STM32Cube and X, and now we can create our simple application. Before I will start, I would improve a bit visibility within this configuration. So I go to this icon, I click on left button on mouse, and I select show contexts. If I click now on any of the peripherals, I can see that I can have a better view what is assigned to where, which peripherals are assigned to which core, in fact. So we've got Cortex-M4 and we've got Cortex-M0 plus, this M0P, it's Cortex-M0 plus core. In this exercise we'll need only a couple of GPIOs, and we will assign them to both cores. We've got three buttons and three LEDs, I would start with buttons. Now B1 button is connected to pin PA0, so I would click left button on mouse, select GPIO XT0, as I would like to use it as an external interrupt. Now right button on mouse, I would name it B1, and again right button on mouse, pin reservation and this one I would assign to Cortex-M0 plus. Then button B2, it is PA1, pin, so again left button on mouse, XT1, right button on mouse, label B2, right button on mouse, pin reservation, this one would be assigned to Cortex-M4. The B3 button B3 is connected to pin PC6 and again left button on mouse, XT6, right button on mouse, label B3, right button on mouse, pin reservation and this would be Cortex-M0 plus. The similar configuration we will do for free LEDs, LED1 is connected to BB15, so left button on mouse, GPIO output, right button on mouse, label LED1 and right button on mouse, pin reservation and this one would be connected to Cortex-M4. LED2 is connected to PB9 and we would like to assign it to Cortex-M0 plus, so PB9 output, LED2 and assign it to Cortex-M0 plus and last LED, LED3 is connected to pin PB11 and this we would like to assign to Cortex-M4, so output, label LED3 and assign it to Cortex-M4. Ok, then we would like to activate pull-ups on all three buttons. I'm selecting GPIO from System and Core and for all external components I'm assigning with the configuring pull-up, so PA0, PA1, PC6, everywhere pull-up, then I need to activate interrupts for all of those free pins, so I go to NVicTab over here and I will select interrupts for all of the components, ok so this is next point, then it would be good as well to change a bit the priorities, so we can go to NVic1 which is related to Cortex-M4 and we can change this XTI line 1 from 0 to for example 1, this is done due to the fact that the highest interrupts should be assigned to Cystic and to minimize the situation that using one of the libraries with an interrupt procedure could interact somehow negatively interact with the Cystic, so the same story with NVic2, so for both interrupts I would select lower priority set to 1 and concerning the configuration of the peripherals that's all we need to do within this part, clock configuration we will leave default one, so the clock would be set to 4 MHz for both cores coming from MSI internal oscillator, for the project manager we will use all of the default settings, so the only point we need to do now is to click this gear icon to generate that project, in fact two projects for Cortex-M0 plus and for Cortex-M4, ok so we can close this IOC and we will switch to CC++ perspective which allow us to make necessary coding in both projects, what is important is that both applications QBMX and QPID is generating the project for both cores automatically are added as well on the activation line for Cortex-M0 plus which is within this point too, because within STM32 WL55 device only Cortex-M4 is starting automatically after the power on or after the reset and within the Cortex-M4 core we need to activate Cortex-M0 plus, it can be done for example by this line coming from HAL library, both applications so QBMX and QPID create two linker files for both cores, so as we can see Cortex-M4 code will start from default beginning of the flash, so 8 million hexadecimal and it will take 128K of flash and RAM will start from the beginning of RAM, so 20 million hexadecimal and its size will be 32KB, then for ARM Cortex-M0 plus core the flash will start with 20000 offset and it will have as well 128KB of size and RAM will start with 8000 hexadecimal offset and it will have as well 32KB of size, we can change it manually once we start the code processing. Thank you for your attention.