 Hello everyone, I'm William Mayen, ST Microturns FAE for Microcontrollers. Welcome back to this video series of STM32 Q-Programmer. In this video series, we will go over some topics to better understand how we can use the Q-Programmer to read and configure your STM32 microcontroller. In the first video, we saw an introduction to the STM32 Q-Programmer and learned how to navigate through the configuration panel. We also started going over to the memory view. Now, we will finish the memory view by going over the raising and programming interface and the full chip arrays option. In the last video, we saw how we can interact with the microcontroller internal or external memory using the memory and file addition. First, we will see how we can erase the entire NCO memory so we can quickly go over the process to reflash the firmware again. Also, in this video, we will cover how to raise and program using an automated feature inside Q-Programmer. In this view, we can automate the programming using an ELF or GIM file. A good tool for assembly lines or multiple programming words. We can verify each of these flashed memories to confirm that there were no errors during this process. And we can also program the option bytes in batches. First, let's learn how to make sure that our microcontroller flash memory is empty. To do that, we need to connect to our board again. In my case, I'm connecting back to my SDM32G0 nuclear board. Then, let's click on the small eraser icon on the bottom left of the window. When we do that, the two ask us if we were sure that we want to perform a full chip arrays. When we finish it, we receive a message that it was successful. By the way, if you have any issues during the process, make sure you are connected and that the RDP level is not set to 2. Now that we finish at this step, we can go over the automatic programming window. So let's click on the second icon, from top to bottom, on the left side of our window. Here, we can set the microcontroller memory is split in 2K size pages. We have the ability to erase one or more pages, and not the entire ensue memory if we want. In the same window, we can choose between some options to automate our process. We can skip flash arrays before programming, verify programming, as we did in the last video, but in an automated way. And finally, we can also allow the application code to start executing after the end of programming. Let's try to program our board with an already built firmware, alpha or green file, verify the programming, and start the application after that. First, let's choose the file we want. Here, the browse button, find the file, and then we choose the address we want to start programming. Since we want the target flash memory, the start address will be 0800000. Let's choose to skip the flash arrays, since we have already done that. Let's choose to verify and run after. Then we click on start programming button to see the magic happens. First, we see a message informing us that the operation has been started successfully. Then we see that the download was done successfully, and the file downloaded completed. We can see that the application is already running. Let us take a look at the log at the bottom of our screen. Here, we can adjust the verbose level to show us more detailed information. Let's see that. Now that we understand how to do automated programming, how about doing it in an infinite loop? We can set it up in this automatic mode area. It is simple as it appears to be. We need just to check if we want to do a full chip arrays before programming. Select the download file and program our option bytes if we want. All these steps will be done for each programming cycle. So let's test it. When we click the start automatic mode button, we see that the board connected to the sd link will be flashing over the log window. And then the message in red will inform us that we need to disconnect the device we were working and connect on new one. So we can do that until we finish programming all of our devices. It is important to notice that the device we need to disconnect is the MCU, not the sd link. This process is made to simplify and speed up the process to flash several boards, using just one sd link or whatever interface you are using, since the bootloading interfaces are also capable of doing the same here. That's all for now. Hope you have fun in this journey and stay tuned. We will have more videos on the Q-Programmer topic in the near future.