 We will start debug configuration from Cortex-M4 as it is the first one which will run. So I go to this back icon, click down arrow and go to Debug Configurations. I double-click on the last position, so as the M432 Cortex-M CC++ application it would create automatically the IPCCCM4 debug. So the Cortex-M4 debug configuration of our IPCCC project, we go to the Debugger tab, we keep the port number as a default value, then access port would be 0 for Cortex-M4, we will use the connect under reset, we need to enable serial wire viewer SWV and as you can see it is using the next port number, so 34 and 35 would be used within this Cortex-M4 configuration, then I would use as well the cross-trigger interface just to have the synchronism between both cores. After this I press apply, no debug so far, I go to startup and within these loads image and symbols I would just add Cortex-M0 plus code debug and I would not load symbols, it will be done within Cortex-M0 plus debug configuration. I press apply and let me come back to the debugger tab for a while and we need to update the core clock of serial wire viewer to be in line with our settings of the system because within the system we are working with four megahertz for both cores and as you remember serial wire viewer is a synchronous interface which is working with the same clock like core just to have proper parameters I put for over here. I click apply and close. The next step is a configuration for Cortex-M0 plus so I just highlighted this project go to buck icon down arrow debug configurations I click again this Cortex-M CC++ application after this I can see the CM0 plus debug I go to debugger tab I need to update the port number from the default 34 to at least 36 because 34 35 are already taken by Cortex-M4 and single wire viewer okay so I will not reset once we will let's say start this debug session a serial wire viewer is not available for this core I would select the cross trigger configuration as well so I click apply and within the startup I need to modify this load image and symbol so I highlight it and press edit and I would disable download because it is already done within Cortex-M4 configuration that's it so I click apply and close now we are ready to start a debug session okay my board is already connected I connected by wire as well PB3 and my SWO pin within the jumpers area on the middle of the board this you can verify with the slides then I can start a debug session so I go to the buck icon down arrow debug configurations I select the Cortex-M4 and I click debug there is a warning that will switch to the debug perspective so a bit different set of windows the first point before we will start the code and start the Cortex-M0 plus as well it would be configuration of this serial wire viewer monitoring so to do this I go to this search over here I press serial wire viewer and we will use this graphical interface so data trace timeline graph and we need to configure it so I click this configure trace icon I would use the cooperator one I would monitor our variable for Cortex-M4 this is my data in case you forget you can always have a look on the on the code so this is my data we'll have we'll put the read write access and generate data value plus program counter and the cork lock is 4 megahertz which is okay and we need to press okay now I can start tracing by pressing this icon and now if I would start the code execution I can see that the data is already taken from this global variable and we can we are expecting to have a square wave at the beginning and we can see that it's really in line with our expectations we can zoom it out to have a better look okay so now as our code is is working I can start a Cortex-M0 plus as well in fact this applique Cortex-M0 plus is already started because within this debug configuration we already loaded Cortex-M0 plus content as well what is not loaded are let's say the symbols for the debug session those we can do we can load using again this back icon down arrow debug configurations and Cortex-M0 plus debug now we are loading the the symbols and we'll have both cores running okay this one is suspended so I run it and if I go to single wire viewer nothing is changed but if I would press the button related to Cortex-M0 plus this is either button one or three so the first or third one we can see that the shape is changed because the shared buffer has been updated with the signed buffer and then within Cortex-M4 core this shared buffer has been copied to user buffer so within user buffer right now we've got a sinusoidal shape which we can see on the screen if I would zoom it out I can see that we've got the sine wave instead of the square wave this is not symmetrical as you can see this is due to the fact that we are performing the copying of the data from the buffer to the local variable within the main while one loop in the loop and then after this there are there is more parts of the code and sometimes this code takes a bit more time and during this time there is a display of last content of the global variable not updated one if I would press right now the button related to Cortex-M4 so the middle one B2 we'll have the switch an update of user button from the sine wave to the square wave so this is the after the reset configuration if I would press button one P1 so PA0 connected to Cortex-M0 plus I can see again that there is a copy of sine buffer to the shared buffer and then within Cortex-M4 shared buffer is copied to user buffer and this content of this buffer we can see one by one on the screen so application is working as expected and we can finish here so I would terminate the debug session for both cores thank you for watching this video