2020-06-08 02:25 AM
When running one of my STM32WB55 projects, I can see wrong, constantly varying variable values in the Live Watch window of the IAR IDE, i.e. values that are not actually stored in that watched variable.
As soon as I pause the execution of the program, I always see the correct values.
I do write the variables only once after start-up of the MCU but to read them repeatedly every approx. 350 us in a timer ISR. The variables are declared static.
If I enable a write-operation data breakpoint on the address of one of the variables, no break happens after start-up. If I enable a read-operation data breakpoint on the address, a break happens repeatedly however. Hence, I suppose the program does what I expect it to do.
Now, I noticed that if the clock of DMA2 is enabled using __HAL_RCC_DMA2_CLK_ENABLE(), the displayed values don't change anymore after start-up. Instead, the correct values are shown.
I'm not sure if this is an STM or IAR issue. Did anyone experience something similar? Does someone have an explanation or even a solution for this problem?
Regards,
Roman