I used two registers to configure and monitor continuous memory being accessed, the code shows as following:
CoreDebug->DEMCR |= CoreDebug_DEMCR_TRCENA_Msk |CoreDebug_DEMCR_MON_EN_Msk;
uint32_t * comp1 = 0xE0001030;
*comp1 = &memory;
DWT->FUNCTION1 = (0<<11)|1<<4|7;
uint32_t *comp0 = 0xE0001020;
*comp0 = &memory;
DWT->FUNCTION0 = (0 << 11) | 1<<4 | 5;
Then, every instruction writes the memory will trigger an exception and invoke the DebugMon_Handler.
What I want is to do is to obtain which instruction to write the memory in DebugMon_Handler and the exact memory address involved.
Any suggestions on how to obtain the exact instruction & memory address that triggers the interrupt?
View all questions in Cortex-M / M-Profile forum