Por favor, dame algunos consejos sobre problemas con STM32 RW.
El segmento RW es generalmente una variable estática, que incluye variables estáticas globales y variables estáticas locales, inicializadas o no inicializadas. Como describió, el valor de memoria de 0x20000044 cambia cuando se llama a la función, es decir, durante el funcionamiento normal. Pero al pasar por la depuración, esto no cambia. Personalmente, creo que puede ser que algo fuera de su funcionalidad de seguimiento actual lo haya cambiado. Cuando se ejecuta a máxima velocidad, no tardará en darse cuenta de que los valores han cambiado, pero los ajustes de un solo paso son en realidad muy lentos y difíciles de reproducir. De esta manera, primero debe verificar si el compilador asigna 0x20000044, si es parte de la tabla de vectores de interrupción o la dirección de almacenamiento de una variable estática. Luego verifique más a fondo, si es una variable estática, qué tipo de variable es, en qué parte del código se lee y escribe y si es posible que haya sido modificada mediante "multiproceso". Además, sospecho que hay un problema con IAP. Si utiliza la tabla de vectores de interrupción en el proceso IAP (que es casi necesario), debe prestar atención a la reasignación de la tabla de vectores de interrupción. 0x20000044 y 0x200000000 están muy cerca, 0x20000000 puede ser su STM32.
Cuando la tabla de vectores de interrupción se reasigna desde la RAM de la CPU, generalmente se reasigna a la RAM. No sé si el código relacionado con IAP afecta el cambio de este valor de memoria. Preste atención a este problema.