Access ETM without using a debug kit


i'm using Nucleo board F401RE.

i want to access to ETM with code.

i'm using IAR Embedded Workbench

My code:

#define ETM_CR 0xE0041000 // Address of ETM_CR

#define ETM_LAR 0xE0041FB0 // Address of  ETM_LAR

#define UNLOCK 0xC5ACCE55 // Value to unlock the ETM

int main (void)


unsigned int *pointer_1 = (unsigned int *) ETM_LAR;  //  The pointer_1 will point to the address contained in the variable ETM_LAR
*pointer_1 = UNLOCK;  // Cheque UNLOCK to the contents of the memory address ETM_LAR

unsigned int *pointer_2 = (unsigned int *) ETM_CR;  //  The pointer_2 will point to the address contained in the variable ETM_CR

unsigned int var = 0x0;  // I initialize a variable called var

var = *pointer_1;   // I assign the contents of pointer_1 to the variable var

while (1)

printf("Il contenuto in esadecimale è: %p\n", *pointer_1);  // I expect to see on the terminal the value of UNLOCK