Hi Erich.
Sorry for the delay in my response.
I tried minor changes in the declaration of the 'origin' pointer variable, such as changing the order of the declaration of the local variables in the function or declaring it as global volatile without success.
There were changes in the generated assembler but the same error continues, a HardFault occurs when the indicated line is executed.
I was also able to observe that, in all cases, the value stored in 'origen' is correct, it matches the memory address of the 'mem_page' buffer, which is expected.

I really appreciate your help, thank you very much in advance, greetings!