We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello everyone:
I'm trying to leverage the __attribute__((section(.ramfunc))) to execute function in RAM. However, a handfault error happened when it execute the instruction in the ram address.
My board is SAML11 Xplained Pro,Cortex-M23 core and the excution is in secure world.
The code runs in Thumb mode and the bx address is odd.
Has anyone met the same problem?
Be sure to set execution rights for the RAM (MPU)!
I have checked that the MPU is disabled.
Ok, so this might be the reason. I do not have the default map at hand, but IIRC, by default RAM is NX, so you need to setup the MPU and mark the RAM region as executable.
Thank you! I have found the trick is in the USER_ROW where is a RAM XN bit!