Bug STM32H7x5_M4.svd with the HSEM registers has the interrupt and status addresses wrong
I'm developing a project using the STM32H745 HSEM and found a couple problems with the svd file that make debugging more difficult. My contact with IAR suggested I share my finding with ST to see if a working version can be supplied.
1) The svd file for the M4 core, STM32H7x5_M4.svd has the wrong addresses for the M4 core for its HSEM_ICR, HSEM_IER, HSEM_ISR, and HSEM_MISR register (the M4 core svd file has the addresses for the M7 core for these 4 registers) as they are identical in the M4 and M7 svd file and they should not be identical. Accessing those four registers from the debugger for the M4 is accessing the registers that belong to the M7 core.
2) The svd file for the M4 core and for the M7 core have definitions to read all 32 of the HSEM_RLRx registers. The act of the debugger reading those registers through the compiler registers view window results in all of the semaphores that were unused to be locked to which ever core debugger read them first. Given that the debugger causes all the semaphores to lock, the definitions to read those RLRx registers should be removed from the svd file.
3) Less important, but when debugging the HSEM interrupt handling, I found it helpful for the debugger window for a core to be able to display the ICR, IER, ISR, and MISR for its own core and for the other core. Its useful to be able to see the opposite core ISR bit set when a semaphore is released for example, and that ISR bit set is in the opposite core's ISR register. This can be accomplished if using a separate debugger for each core but isn't as convenient.
